|
3 | 3 | <!DOCTYPE html> |
4 | 4 |
|
5 | 5 |
|
6 | | -<html> |
| 6 | +<html lang=en> |
7 | 7 |
|
8 | 8 | <head> |
9 | 9 | <meta charset=utf-8> |
|
93 | 93 | mainmenu.initmod({ext,$,menumod,menu,editor}); |
94 | 94 | filemod.initmod({ext,$,menumod,menu,complete,focus,source,log}); |
95 | 95 | publish.initmod({ext,$,ui,menumod,menu,source,complete,log}); |
96 | | - editor.initmod({ext,$,menumod,menu}); |
| 96 | + editor.initmod({ext,$,menumod,menu,on}); |
97 | 97 | output.initmod({ext,$,editor}); |
98 | 98 | log.initmod({ext,$}); |
99 | 99 |
|
|
110 | 110 |
|
111 | 111 | //: |
112 | 112 |
|
| 113 | + |
| 114 | + icon.def = $('[rel*=icon]').href; |
| 115 | + |
| 116 | + |
113 | 117 |
|
114 | 118 | window.onfocus = ()=>editor && editor.focus(); |
115 | 119 | keydown.add(kd); |
|
214 | 218 |
|
215 | 219 | <div id=save-root> |
216 | 220 | <button id=save>save</button> |
| 221 | + <checkbox-one id=autosave></checkbox-one> |
217 | 222 | <div id=save-menu-root class=menu-root> |
218 | 223 | <img id=save-menu-icon class=menu-icon> |
219 | 224 | <div id=save-menu class=menu style='display:none'> |
220 | | - <checkbox-one id=autosave></checkbox-one> |
221 | 225 | </div> |
222 | 226 | </div> |
223 | 227 | </div> |
|
258 | 262 | <script> |
259 | 263 |
|
260 | 264 |
|
| 265 | + var icon = {}; |
| 266 | + |
| 267 | + |
261 | 268 | var root; |
262 | 269 | var autosave; |
263 | 270 |
|
|
269 | 276 | var slider = {}; |
270 | 277 | var btn = {}; |
271 | 278 | var click = {}; |
272 | | - |
| 279 | + var on = {}; |
| 280 | + var set = {}; |
273 | 281 |
|
274 | 282 | //: |
275 | 283 |
|
|
280 | 288 |
|
281 | 289 |
|
282 | 290 | keydown.initdom(); |
| 291 | + menu.add.style(); |
283 | 292 |
|
284 | 293 |
|
285 | 294 | hdr.initdom(root); |
|
296 | 305 | $(root,'.menu-icon').onclick = menu.click(card,false,false,click.menu); |
297 | 306 |
|
298 | 307 | autosave = $(root,'#autosave'); |
299 | | - autosave.checked = false; |
300 | 308 |
|
301 | 309 |
|
302 | 310 | publish.initdom(root); |
|
324 | 332 | publish.query(); |
325 | 333 | editor.focus(); |
326 | 334 |
|
| 335 | + |
| 336 | + |
327 | 337 | }//initdom |
328 | 338 |
|
329 | 339 |
|
|
372 | 382 | }//save |
373 | 383 |
|
374 | 384 |
|
| 385 | + //: |
| 386 | + |
| 387 | + |
| 388 | + on.change = function(){ |
| 389 | + |
| 390 | + set.favicon(icon.save); |
| 391 | + |
| 392 | + }//change |
| 393 | + |
| 394 | + |
| 395 | + set.title = function(title){ |
| 396 | + |
| 397 | + document.title = title; |
| 398 | + |
| 399 | + }//title |
| 400 | + |
| 401 | + |
375 | 402 | //: |
376 | 403 |
|
377 | 404 |
|
|
390 | 417 | editor.filename(file); |
391 | 418 | editor.filename.save.hide(); |
392 | 419 | filemod.cur = file; |
393 | | - document.title = file.name||file.filename; |
| 420 | + var title = file.name||file.filename; |
| 421 | + set.title(title); |
| 422 | + set.favicon(icon.def); |
394 | 423 | } |
395 | 424 | menumod.close(); |
396 | 425 | editor.focus(); |
|
520 | 549 |
|
521 | 550 | function run(){ |
522 | 551 |
|
523 | | - var txt = editor.getValue(); |
524 | | - output.display(txt); |
525 | | - |
526 | | - |
527 | 552 | if(autosave.checked){ |
528 | | - console.log('save'); |
| 553 | + console.log('autosave'); |
529 | 554 | filemod.save(); |
530 | 555 | } |
| 556 | + |
| 557 | + |
| 558 | + var txt = editor.getValue(); |
| 559 | + output.display(txt); |
531 | 560 |
|
532 | 561 | }//run |
533 | 562 |
|
534 | 563 |
|
| 564 | + //: |
| 565 | + |
| 566 | + |
| 567 | + icon.save = 'data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAKlBMVEX/pQD/////qhH/pAD/rhr/zHH/yGT/wlP//vz/8dn/tjD/+u//6MD/2ZUL9bZAAAAA30lEQVQoz2OQvuWihARUMgUFBRlamRkYlqXBQLoy10Sg4CUGBisgDQLSu3dLXGBeAxRczMBg3ggR3LZqaeMhBquDggzOCMFdxuZAQWYfQQYHuKDELgOQINA0JEFBqCDzSiwqGdiwqGRgYlDAVIksSIpKYyyC28E+ggoi/L5D8AJMkGFZKAyEKcAFjRGAAS6IBsCCzMbGKGpBgkwqLshAASzoOxMFHDEACjJXCKKANmyCYkNI0IEGgs7YBBdjCpowXGBejSq43YCVYSszV1ooEkgrMMhmkL6lhAIUlJZuBAAfSYTf2T2EkwAAAABJRU5ErkJggg=='; |
| 568 | + |
535 | 569 |
|
| 570 | + set.favicon = function(dataUrl){ |
| 571 | + |
| 572 | + $.all('link[rel*="icon"]').forEach(node=>node.remove()); |
| 573 | + var link = document.createElement('link'); |
| 574 | + link.rel = 'icon'; |
| 575 | + link.href = dataUrl; |
| 576 | + document.head.appendChild(link); |
| 577 | + |
| 578 | + }//favicon |
| 579 | + |
| 580 | + |
536 | 581 |
|
537 | 582 | </script> |
538 | 583 |
|
|
0 commit comments