|
45 | 45 | var hdr; |
46 | 46 | var log; |
47 | 47 |
|
| 48 | + var ex = {}; |
48 | 49 | var ex1; |
49 | 50 | var ex2; |
50 | 51 | var ex3; |
51 | 52 |
|
| 53 | + |
52 | 54 | async function init(){ |
53 | 55 |
|
54 | | - menu = menumod(); |
| 56 | + menu = menumod(); |
55 | 57 |
|
56 | | - hdr = mod['html-components-hdr']; |
57 | | - log = mod['log-mod']; |
| 58 | + hdr = mod['html-components-hdr']; |
| 59 | + log = mod['log-mod']; |
58 | 60 |
|
59 | | - ex1 = mod.ex1; |
60 | | - ex2 = mod.ex2; |
61 | | - ex3 = mod.ex3; |
| 61 | + ex1 = mod.ex1; |
| 62 | + ex2 = mod.ex2; |
| 63 | + ex3 = mod.ex3; |
| 64 | + ex['web-editor-demo'] = mod['web-editor-demo']; |
62 | 65 |
|
63 | 66 |
|
64 | 67 | hdr.initmod({ext,$,menu,log}); |
|
67 | 70 | ex1.initmod({ext,$,menu,ace}); |
68 | 71 | ex2.initmod({ext,$,menu,ace}); |
69 | 72 | ex3.initmod({ext,$,menu,ace}); |
| 73 | + ex['web-editor-demo'].initmod({ext,$,menu,ace}); |
70 | 74 |
|
71 | 75 | await Promise.all([ |
72 | 76 | hdr.init(), |
73 | 77 | log.init(), |
74 | 78 | ex1.init(), |
75 | 79 | ex2.init(), |
76 | 80 | ex3.init(), |
| 81 | + ex['web-editor-demo'].init(), |
77 | 82 | ]); |
78 | 83 |
|
79 | 84 | initdom(); |
|
154 | 159 |
|
155 | 160 |
|
156 | 161 | code, code-src |
157 | | - {display:block;white-space:pre;background:whitesmoke;padding:10px} |
| 162 | + {display:block;white-space:pre;background:whitesmoke;padding:10px;font-family:monospace;font-size:16px} |
158 | 163 |
|
159 | 164 |
|
160 | 165 | </style> |
|
181 | 186 |
|
182 | 187 | <div id=center> |
183 | 188 |
|
184 | | - |
185 | | - <code-src src='ex/component-include.js'></code-src> |
| 189 | + <div> |
| 190 | + <h3> |
| 191 | + Getting Started |
| 192 | + </h3> |
| 193 | + <p> |
| 194 | + to get web components working include the component library |
| 195 | + </p> |
| 196 | + |
| 197 | + <code-src src='ex/component-include.js'></code-src> |
| 198 | + |
| 199 | + <p> |
| 200 | + after that any elements with a |
| 201 | + <b> |
| 202 | + [component] |
| 203 | + </b> |
| 204 | + attribute will be treated as a web component module |
| 205 | + </p> |
| 206 | + |
| 207 | + <code> |
| 208 | + <script type=text/html> |
| 209 | + |
| 210 | + <web-editor component></web-editor> |
| 211 | + |
| 212 | + <web-editor component id=test></web-editor> |
| 213 | + |
| 214 | + </script> |
| 215 | + </code> |
| 216 | + |
| 217 | + <p> |
| 218 | + the component.js library exposes a |
| 219 | + <b> |
| 220 | + mod |
| 221 | + </b> |
| 222 | + object, which holds as its keys the component modules, the key is either the element nodename, |
| 223 | + or its id, the id can be used when the page contains multiple of the same component |
| 224 | + </P> |
| 225 | + |
| 226 | + <code> |
| 227 | + |
| 228 | + var editor = mod['web-editor']; |
| 229 | + |
| 230 | + var editor2 = mod.test; |
| 231 | + |
| 232 | + </code> |
| 233 | + |
| 234 | + <snippet-html id=web-editor-demo component src='ex/web-editor-demo.html'></snippet-html> |
| 235 | + |
| 236 | + |
| 237 | + </div> |
186 | 238 |
|
187 | 239 |
|
188 | | - <div> |
| 240 | + <div style='margin-top:100px'> |
189 | 241 |
|
190 | 242 | <p> |
191 | 243 | view the full list of component |
|
344 | 396 |
|
345 | 397 | <script> |
346 | 398 |
|
347 | | - document.querySelectorAll('code script').forEach(node=>node.parentNode.textContent=node.textContent); |
| 399 | + var trim = txt=>{ |
| 400 | + var indent = ' '; |
| 401 | + txt = ('\n'+txt.trim()+'\n').split('\n').map(line=>indent+line.trimStart()).join('\n'); |
| 402 | + return txt; |
| 403 | + }; |
| 404 | + |
| 405 | + document.querySelectorAll('code script').forEach(node=>{ |
| 406 | + var indent = ' '; |
| 407 | + //var txt = ('\n'+node.textContent.trim()+'\n').split('\n').map(line=>indent+line.trimStart()).join('\n'); |
| 408 | + node.parentNode.textContent = trim(node.textContent); |
| 409 | + }); |
| 410 | + |
| 411 | + document.querySelectorAll('code:not(:has(script))').forEach(node=>node.textContent=trim(node.textContent)); |
| 412 | + |
| 413 | + |
| 414 | + |
| 415 | + |
| 416 | +/* |
| 417 | + var txt = |
| 418 | + txt = txt.trim(); |
| 419 | + txt = '\n'+txt+'\n'; |
| 420 | + var lines = txt.split('\n'); |
| 421 | + var indent = ' '; |
| 422 | + lines = lines.map(line=>{ |
| 423 | + |
| 424 | + line = indent+line.trimStart(); |
| 425 | + return line; |
| 426 | + |
| 427 | + }); |
| 428 | + txt = lines.join('\n'); |
| 429 | + node.parentNode.textContent=txt; |
| 430 | + |
| 431 | + }); |
| 432 | +*/ |
348 | 433 |
|
349 | 434 |
|
350 | 435 | //: |
|
358 | 443 | ex1.initdom(); |
359 | 444 | ex2.initdom(); |
360 | 445 | ex3.initdom(); |
| 446 | + ex['web-editor-demo'].initdom(); |
| 447 | + ex['web-editor-demo'].run(); |
361 | 448 |
|
362 | 449 |
|
363 | 450 |
|
|
0 commit comments