Skip to content

Commit 62aa3d3

Browse files
Gil Mizrahipaf31
authored andcommitted
favicon + a few fixes (#68)
* adding favicon * A few fixes: * replace .load() with .ready() * add defaultBundleAndExecute for each backend * avoid loading twice when there's no session (firefox) * update jquery version * remove '/' in query parameter names (may happen when setting location.href)
1 parent f716fea commit 62aa3d3

File tree

5 files changed

+34
-23
lines changed

5 files changed

+34
-23
lines changed

img/favicon_clear-16.png

1.02 KB
Loading

img/favicon_clear-256.png

7.66 KB
Loading

img/favicon_clear-32.png

1.3 KB
Loading

index.html

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,17 @@
55
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
66
<meta content="utf-8" http-equiv="encoding">
77
<meta name="viewport" content="width=device-width, initial-scale=1.0">
8+
89
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Roboto:300,600">
910
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Roboto+Slab:300,600">
1011
<link rel="stylesheet" type="text/css" href="css/index.css">
12+
13+
<link rel="icon" type="image/png" href="./img/favicon_clear-16.png" sizes="16x16">
14+
<link rel="icon" type="image/png" href="./img/favicon_clear-32.png" sizes="32x32">
15+
<link rel="icon" type="image/png" href="./img/favicon_clear-256.png" sizes="256x256">
16+
1117
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
12-
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.js"></script>
18+
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.js"></script>
1319
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/ace/1.1.01/ace.js" charset="utf-8"></script>
1420
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/ace/1.1.01/mode-haskell.js"></script>
1521
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/ace/1.1.01/theme-dawn.js"></script>

js/index.js

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ $.ajaxSetup({
1919
$.setQueryParameters = function(params) {
2020
var url = location.href.split('?')[0];
2121
var encodedParams = Object.keys(params).map(function(key) {
22-
return key + '=' + encodeURIComponent(params[key]);
22+
return key + '=' + encodeURIComponent(params[key].replace('\/', ''));
2323
}).join('&');
2424

2525
document.location = url + '?' + encodedParams;
@@ -30,10 +30,8 @@ $(function() {
3030

3131
var defaultBundleAndExecute = function(js, backend) {
3232
$.get(backend.endpoint + '/bundle').done(function(bundle) {
33-
3433
execute(js, bundle, backend);
3534
}).fail(function(err) {
36-
3735
myconsole.warn("Unable to load JS bundle", err);
3836
});
3937
};
@@ -71,31 +69,35 @@ $(function() {
7169
endpoint: "https://compile.purescript.org/slides",
7270
mainGist: "c62b5778a6a5f2bcd32dd97b294c068a",
7371
extra_styling: '<link rel="stylesheet" href="css/slides.css">',
74-
extra_body: '<div id="main"></div>'
72+
extra_body: '<div id="main"></div>',
73+
bundleAndExecute: defaultBundleAndExecute
7574
};
7675
} else if (backend === "flare") {
7776
return {
7877
backend: "flare",
7978
endpoint: "https://compile.purescript.org/flare",
8079
mainGist: "4f54d6dd213caa54d736ead597e17fee",
8180
extra_styling: '<link rel="stylesheet" href="css/flare.css">',
82-
extra_body: '<div id="controls"></div><div id="output"></div><div id="tests"></div><canvas id="canvas" width="800" height="600"></canvas>'
81+
extra_body: '<div id="controls"></div><div id="output"></div><div id="tests"></div><canvas id="canvas" width="800" height="600"></canvas>',
82+
bundleAndExecute: defaultBundleAndExecute
8383
};
8484
} else if (backend === "mathbox") {
8585
return {
8686
backend: "mathbox",
8787
endpoint: "https://compile.purescript.org/purescript-mathbox",
8888
mainGist: "aeecffd458fa8a365b4af3b3cd9d7759",
8989
extra_styling: ['<script src="js/mathbox-bundle.js"></script>', '<link rel="stylesheet" href="css/mathbox.css">'].join("\n"),
90-
extra_body: ''
90+
extra_body: '',
91+
bundleAndExecute: defaultBundleAndExecute
9192
};
9293
} else { // core
9394
return {
9495
backend: "core",
9596
endpoint: "https://compile.purescript.org/try",
9697
mainGist: "b57a766d417e109785540d584266fc33",
9798
extra_styling: '',
98-
extra_body: ''
99+
extra_body: '',
100+
bundleAndExecute: defaultBundleAndExecute
99101
};
100102
}
101103
};
@@ -134,9 +136,9 @@ $(function() {
134136
});
135137
};
136138

137-
var setupSession = function() {
138-
function guid() {
139-
function s4() {
139+
var setupSession = function(onSessionExists) {
140+
var guid = function() {
141+
var s4 = function() {
140142
return Math.floor((1 + Math.random()) * 0x10000)
141143
.toString(16)
142144
.substring(1);
@@ -146,12 +148,12 @@ $(function() {
146148
}
147149

148150
var sessionId = $.QueryString['session'];
149-
if (!sessionId) {
151+
if (sessionId) {
152+
onSessionExists(sessionId);
153+
} else {
150154
$.QueryString['session'] = sessionId = guid();
151155
$.setQueryParameters($.QueryString);
152156
}
153-
154-
return sessionId;
155157
};
156158

157159
var cacheCurrentCode = function(backend) {
@@ -273,7 +275,8 @@ $(function() {
273275
var script = iframe.createElement('script');
274276
script.appendChild(iframe.createTextNode(scripts));
275277

276-
$('iframe').load(function() {
278+
$('iframe').ready(function() {
279+
277280
var body = iframe.getElementsByTagName('body')[0];
278281

279282
body.onclick = function() {
@@ -496,13 +499,15 @@ $(function() {
496499
hideMenus();
497500
});
498501

499-
var sessionId = setupSession();
500-
var cachedBackend = tryRestoreCachedCode(sessionId);
501-
if (cachedBackend) {
502+
function withSession(sessionId) {
503+
var cachedBackend = tryRestoreCachedCode(sessionId);
504+
if (cachedBackend) {
502505
setupEditor(getBackend(cachedBackend));
503-
} else {
504-
var backend = getBackend($.QueryString["backend"]);
505-
var gist = $.QueryString["gist"] || backend.mainGist;
506-
loadFromGist(gist, backend);
507-
}
506+
} else {
507+
var backend = getBackend($.QueryString["backend"]);
508+
var gist = $.QueryString["gist"] || backend.mainGist;
509+
loadFromGist(gist, backend);
510+
}
511+
};
512+
setupSession(withSession);
508513
});

0 commit comments

Comments
 (0)