Skip to content
This repository was archived by the owner on Apr 4, 2019. It is now read-only.

Commit df2a2c8

Browse files
Tom Dale and Yehuda Katztilde-engineering
Tom Dale and Yehuda Katz
authored andcommitted
Improvements to compile and run demo
1 parent 160cb59 commit df2a2c8

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

demos/compile-and-run.html

+19-7
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<hr>
1616

1717
<script src="../assets/loader.js"></script>
18-
<script src="../amd/morph.amd.js"></script>
18+
<script src="../amd/dom-helper.amd.js"></script>
1919
<script src="../amd/htmlbars-compiler.amd.js"></script>
2020
<script src="../amd/htmlbars-runtime.amd.js"></script>
2121
<script>
@@ -28,24 +28,34 @@
2828
var compiler = requireModule('htmlbars-compiler/compiler'),
2929
compile = compiler.compile,
3030
compileSpec = compiler.compileSpec,
31-
DOMHelper = requireModule('morph').DOMHelper,
31+
DOMHelper = requireModule('dom-helper').default,
3232
hooks = requireModule('htmlbars-runtime').hooks;
3333
helpers = requireModule('htmlbars-runtime').helpers;
3434

3535
var templateSource = localStorage.getItem('templateSource');
36+
var data = localStorage.getItem('templateData');
37+
3638
if (templateSource) {
3739
textarea.value = templateSource;
3840
}
3941

42+
if (data) {
43+
dataarea.value = data;
44+
}
45+
4046
button.addEventListener('click', function(){
4147
var source = textarea.value,
42-
data = {}, compileOptions = {} ;
48+
data = dataarea.value,
49+
compileOptions = {} ;
4350

4451
localStorage.setItem('templateSource', source);
52+
localStorage.setItem('templateData', data);
4553

4654
try {
47-
data = JSON.parse(dataarea.value);
48-
} catch(e) {}
55+
data = JSON.parse(data);
56+
} catch(e) {
57+
data = {};
58+
}
4959

5060
try {
5161
compileOptions = JSON.parse(options.value);
@@ -54,11 +64,13 @@
5464
var templateSpec = compileSpec(source, compileOptions),
5565
template = compile(source, compileOptions),
5666
env = { dom: new DOMHelper(), hooks: hooks, helpers: helpers };
57-
dom = template.render(data, env, output);
67+
5868
output.innerHTML = '<pre><code>'+JSON.stringify(data)+'</code></pre><hr><pre><code>'+templateSpec+'</code></pre><hr>';
69+
70+
var dom = template.render(data, env, output);
5971
output.appendChild(dom);
6072
} catch(e) {
61-
output.innerHTML = 'Failure to run template: '+e.message;
73+
output.innerHTML += 'Failure to run template: '+e.message;
6274
throw(e);
6375
}
6476
});

0 commit comments

Comments
 (0)