|
15 | 15 | <hr>
|
16 | 16 |
|
17 | 17 | <script src="../assets/loader.js"></script>
|
18 |
| - <script src="../amd/morph.amd.js"></script> |
| 18 | + <script src="../amd/dom-helper.amd.js"></script> |
19 | 19 | <script src="../amd/htmlbars-compiler.amd.js"></script>
|
20 | 20 | <script src="../amd/htmlbars-runtime.amd.js"></script>
|
21 | 21 | <script>
|
|
28 | 28 | var compiler = requireModule('htmlbars-compiler/compiler'),
|
29 | 29 | compile = compiler.compile,
|
30 | 30 | compileSpec = compiler.compileSpec,
|
31 |
| - DOMHelper = requireModule('morph').DOMHelper, |
| 31 | + DOMHelper = requireModule('dom-helper').default, |
32 | 32 | hooks = requireModule('htmlbars-runtime').hooks;
|
33 | 33 | helpers = requireModule('htmlbars-runtime').helpers;
|
34 | 34 |
|
35 | 35 | var templateSource = localStorage.getItem('templateSource');
|
| 36 | + var data = localStorage.getItem('templateData'); |
| 37 | + |
36 | 38 | if (templateSource) {
|
37 | 39 | textarea.value = templateSource;
|
38 | 40 | }
|
39 | 41 |
|
| 42 | + if (data) { |
| 43 | + dataarea.value = data; |
| 44 | + } |
| 45 | + |
40 | 46 | button.addEventListener('click', function(){
|
41 | 47 | var source = textarea.value,
|
42 |
| - data = {}, compileOptions = {} ; |
| 48 | + data = dataarea.value, |
| 49 | + compileOptions = {} ; |
43 | 50 |
|
44 | 51 | localStorage.setItem('templateSource', source);
|
| 52 | + localStorage.setItem('templateData', data); |
45 | 53 |
|
46 | 54 | try {
|
47 |
| - data = JSON.parse(dataarea.value); |
48 |
| - } catch(e) {} |
| 55 | + data = JSON.parse(data); |
| 56 | + } catch(e) { |
| 57 | + data = {}; |
| 58 | + } |
49 | 59 |
|
50 | 60 | try {
|
51 | 61 | compileOptions = JSON.parse(options.value);
|
|
54 | 64 | var templateSpec = compileSpec(source, compileOptions),
|
55 | 65 | template = compile(source, compileOptions),
|
56 | 66 | env = { dom: new DOMHelper(), hooks: hooks, helpers: helpers };
|
57 |
| - dom = template.render(data, env, output); |
| 67 | + |
58 | 68 | 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); |
59 | 71 | output.appendChild(dom);
|
60 | 72 | } catch(e) {
|
61 |
| - output.innerHTML = 'Failure to run template: '+e.message; |
| 73 | + output.innerHTML += 'Failure to run template: '+e.message; |
62 | 74 | throw(e);
|
63 | 75 | }
|
64 | 76 | });
|
|
0 commit comments