Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
3f655f43
Commit
3f655f43
authored
Oct 12, 2015
by
chriseth
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #46 from chriseth/importExternal
Import from github.
parents
b8e17316
553db317
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
13 deletions
+22
-13
index.html
index.html
+22
-13
No files found.
index.html
View file @
3f655f43
...
@@ -118,6 +118,8 @@
...
@@ -118,6 +118,8 @@
<script>
<script>
var
Base64
=
{
_keyStr
:
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
,
encode
:
function
(
e
){
var
t
=
""
;
var
n
,
r
,
i
,
s
,
o
,
u
,
a
;
var
f
=
0
;
e
=
Base64
.
_utf8_encode
(
e
);
while
(
f
<
e
.
length
){
n
=
e
.
charCodeAt
(
f
++
);
r
=
e
.
charCodeAt
(
f
++
);
i
=
e
.
charCodeAt
(
f
++
);
s
=
n
>>
2
;
o
=
(
n
&
3
)
<<
4
|
r
>>
4
;
u
=
(
r
&
15
)
<<
2
|
i
>>
6
;
a
=
i
&
63
;
if
(
isNaN
(
r
)){
u
=
a
=
64
}
else
if
(
isNaN
(
i
)){
a
=
64
}
t
=
t
+
this
.
_keyStr
.
charAt
(
s
)
+
this
.
_keyStr
.
charAt
(
o
)
+
this
.
_keyStr
.
charAt
(
u
)
+
this
.
_keyStr
.
charAt
(
a
)}
return
t
},
decode
:
function
(
e
){
var
t
=
""
;
var
n
,
r
,
i
;
var
s
,
o
,
u
,
a
;
var
f
=
0
;
e
=
e
.
replace
(
/
[^
A-Za-z0-9
\+\/\=]
/g
,
""
);
while
(
f
<
e
.
length
){
s
=
this
.
_keyStr
.
indexOf
(
e
.
charAt
(
f
++
));
o
=
this
.
_keyStr
.
indexOf
(
e
.
charAt
(
f
++
));
u
=
this
.
_keyStr
.
indexOf
(
e
.
charAt
(
f
++
));
a
=
this
.
_keyStr
.
indexOf
(
e
.
charAt
(
f
++
));
n
=
s
<<
2
|
o
>>
4
;
r
=
(
o
&
15
)
<<
4
|
u
>>
2
;
i
=
(
u
&
3
)
<<
6
|
a
;
t
=
t
+
String
.
fromCharCode
(
n
);
if
(
u
!=
64
){
t
=
t
+
String
.
fromCharCode
(
r
)}
if
(
a
!=
64
){
t
=
t
+
String
.
fromCharCode
(
i
)}}
t
=
Base64
.
_utf8_decode
(
t
);
return
t
},
_utf8_encode
:
function
(
e
){
e
=
e
.
replace
(
/
\r\n
/g
,
"
\
n"
);
var
t
=
""
;
for
(
var
n
=
0
;
n
<
e
.
length
;
n
++
){
var
r
=
e
.
charCodeAt
(
n
);
if
(
r
<
128
){
t
+=
String
.
fromCharCode
(
r
)}
else
if
(
r
>
127
&&
r
<
2048
){
t
+=
String
.
fromCharCode
(
r
>>
6
|
192
);
t
+=
String
.
fromCharCode
(
r
&
63
|
128
)}
else
{
t
+=
String
.
fromCharCode
(
r
>>
12
|
224
);
t
+=
String
.
fromCharCode
(
r
>>
6
&
63
|
128
);
t
+=
String
.
fromCharCode
(
r
&
63
|
128
)}}
return
t
},
_utf8_decode
:
function
(
e
){
var
t
=
""
;
var
n
=
0
;
var
r
=
c1
=
c2
=
0
;
while
(
n
<
e
.
length
){
r
=
e
.
charCodeAt
(
n
);
if
(
r
<
128
){
t
+=
String
.
fromCharCode
(
r
);
n
++
}
else
if
(
r
>
191
&&
r
<
224
){
c2
=
e
.
charCodeAt
(
n
+
1
);
t
+=
String
.
fromCharCode
((
r
&
31
)
<<
6
|
c2
&
63
);
n
+=
2
}
else
{
c2
=
e
.
charCodeAt
(
n
+
1
);
c3
=
e
.
charCodeAt
(
n
+
2
);
t
+=
String
.
fromCharCode
((
r
&
15
)
<<
12
|
(
c2
&
63
)
<<
6
|
c3
&
63
);
n
+=
3
}}
return
t
}};
$
(
document
).
ready
(
function
()
{
$
(
document
).
ready
(
function
()
{
// ------------------ gist load ----------------
// ------------------ gist load ----------------
...
@@ -492,7 +494,8 @@
...
@@ -492,7 +494,8 @@
var
input
=
editor
.
getValue
();
var
input
=
editor
.
getValue
();
window
.
localStorage
.
setItem
(
SOL_CACHE_FILE
,
input
);
window
.
localStorage
.
setItem
(
SOL_CACHE_FILE
,
input
);
var
inputIncludingImports
=
includeLocalImports
(
input
);
var
inputIncludingImports
=
includeLocalAndRemoteImports
(
input
,
compile
);
if
(
!
inputIncludingImports
)
return
;
var
optimize
=
document
.
querySelector
(
'#optimize'
).
checked
;
var
optimize
=
document
.
querySelector
(
'#optimize'
).
checked
;
try
{
try
{
...
@@ -540,21 +543,27 @@
...
@@ -540,21 +543,27 @@
onChange
();
onChange
();
};
};
function
includeLocalImports
(
input
)
{
var
cachedRemoteFiles
=
{};
function
includeLocalAndRemoteImports
(
input
,
asyncCallback
,
needAsync
)
{
var
importRegex
=
/import
\s[\'\"]([^\'\"]
+
)[\'\"]
;/g
;
var
importRegex
=
/import
\s[\'\"]([^\'\"]
+
)[\'\"]
;/g
;
var
imports
=
[];
var
matches
=
[];
var
match
;
var
match
;
while
((
match
=
importRegex
.
exec
(
input
))
!==
null
)
{
for
(
var
runs
=
0
;
(
match
=
importRegex
.
exec
(
input
))
!==
null
&&
runs
<
100
;
runs
++
)
{
if
(
match
[
1
]
&&
getFiles
().
indexOf
(
fileKey
(
match
[
1
]))
!==
-
1
)
{
var
githubMatch
=
/^
(
https
?
:
\/\/)?(
www.
)?
github.com
\/([^\/]
*
\/[^\/]
*
)\/(
.*
)
/
.
exec
(
match
[
1
]);
imports
.
push
(
match
[
1
]);
if
(
getFiles
().
indexOf
(
fileKey
(
match
[
1
]))
!==
-
1
)
matches
.
push
(
match
[
0
]);
input
=
input
.
replace
(
match
[
0
],
window
.
localStorage
.
getItem
(
fileKey
(
match
[
1
])
));
}
else
if
(
match
[
1
]
in
cachedRemoteFiles
)
}
input
=
input
.
replace
(
match
[
0
],
cachedRemoteFiles
[
match
[
1
]]);
for
(
var
i
in
imports
)
{
else
if
(
githubMatch
)
{
imported
=
includeLocalImports
(
window
.
localStorage
.
getItem
(
fileKey
(
imports
[
i
])
));
$
.
getJSON
(
'https://api.github.com/repos/'
+
githubMatch
[
3
]
+
'/contents/'
+
githubMatch
[
4
],
function
(
result
)
{
input
=
input
.
replace
(
matches
[
i
],
imported
);
var
content
=
Base64
.
decode
(
result
.
content
);
cachedRemoteFiles
[
match
[
1
]]
=
content
;
includeLocalAndRemoteImports
(
input
.
replace
(
match
[
0
],
content
),
asyncCallback
,
true
);
});
return
null
;
}
}
}
if
(
needAsync
)
asyncCallback
(
input
);
return
input
;
return
input
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment