Skip to content

Commit c0b8f82

Browse files
save file
1 parent 8a4fad3 commit c0b8f82

File tree

1 file changed

+75
-46
lines changed

1 file changed

+75
-46
lines changed

utils/editors/js-console/js-console.html

Lines changed: 75 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11

22

3+
<!-- headers
4+
cross-origin-isolate
5+
-->
6+
7+
38
<!DOCTYPE html>
49

510
<html lang=en>
@@ -17,7 +22,7 @@
1722
<link rel=canonical href='https://ext-code.com/utils/editors/js-console/js-console.html'>
1823

1924
<meta name=viewport content='width=device-width, initial-scale=1'>
20-
<link rel=icon type='image/png' href='images/js-console-favicon.png'>
25+
<link rel=icon type='image/png' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAB4FBMVEX/3wD/3gD/4QD+4AD31wDy0wD32AD+3wDt0AB2ZwBfUwBeUgCKeQD62gD73QDDqgBwYgBDOwA3MABvYQDBqQD/4ADjxgAiHQAAAABCOgD21wD42gCIdwASDwARDwCHdgAiHgClkQAKCQAIBwCciAD01QBEOwAGBQBXTABbTwAmIQCrlQDewgAdGgDx1AD/4wCDcgBkVwDZvgDavwAaFgBMQgD42wD32gDrzQAvKQAMCwCGdQDpzAD+3gByZAADAwAzLACLeQDcwAD93wDcwQA2LwABAQAhHQB+bgDjxwDUugBORADGrgDw0wCjjgD/4gDy1AC3oABWSwALCQB9bQCVggAJCAD11wDu0QDJsAD63ADfxAAeGwBFPADRtwDpzwAqJQAxKwDu0AD62wBKQAAaFwC1nwC0ngBZTQD93QCahgArJQBBOQDTuAC8pQAUEQA9NQDz1QC/pwAXFAAdGQBtXwB0ZgAnIgCNfAA6MwBmWQCDcwBqXQAfGwBzZADoywAoIwDbwAC6owAeGgAkIADXvQBJQAAEAwAkHwCznQA9NgAEBAAwKgChjQBaTwA7MwCBcADWuwDszgCnkgBlWABAOAA0LgBYTQCWgwD83QDx0wD52QD+4QDw0gD83AD///80U23rAAAAAWJLR0Sf6LWTnQAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB+gMGw8AOrl7kF8AAAGXSURBVDjL7ZJVUwMxFIWTFCgOLaRcurhLobi7FV/cW9y1uLu7O/xWwhaYUtodXpnhPGzmzP12k3M2CP3rX39D2OgpihGJlbWNlFhCbe3sHRyd2NTZxVUml7m5O5snqcIDwFOJEOflDe/y8eXMklThJ4DEPwAMCgyiyDJIg0MAQsMcwwMgIhKJgEQVBSCLVnMxsXFUbGsSnwCQmERRMkcshTFsnZIKkJaeQSy28xkmM4vlyM7JzcunWBSkBYXvkYs0xSVEtB5MSstChXrk5VQMZGRFpafQZWq8OfILZOKrqmtqGVln0ji7BgjTkg+QSqQY8Vx9A7ONJlhTcwuirW0AWhtEVL46nr3X3gHQ2fXtg93uPb19RN3PzjUwqBwahpFRKU/GxgEm9MYcmZwCmJ6ZnWOHmlenLLBFs7i0vMLW1e8p1rQf1wXWNyjd3Pp0sK0jxqkx2dndEwb7ByylZPLwSHBFx5umoYntyemZvOf8QoIwi3Z5dX1ze3Z3r/jxZzDlH/SPT8+GAXP5yhf9K0/xz7qxiPut3gACakyeVGPirgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNC0xMi0yN1QxNTowMDo1MiswMDowMDd07d8AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjQtMTItMjdUMTU6MDA6NTIrMDA6MDBGKVVjAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg=='>
2126

2227
<script type='application/ld+json'>
2328
{
@@ -49,8 +54,8 @@
4954
console.log('js-console-v2.0.html');
5055
console.log();
5156
console.json=v=>console.log(JSON.stringify(v,null,4));
52-
var df=true,version='v2.0'
53-
;
57+
var version='v2.0';
58+
var df=true,did='js-console';
5459

5560
var ace;
5661
var obfuscator;
@@ -62,12 +67,14 @@
6267
var menumod;
6368
var keydown;
6469
var debug;
70+
var ls;
6571

6672
var menu;
6773

6874
var hdr;
6975
var mainmenu;
7076
var filemod;
77+
var autosave;
7178
var publish;
7279
var editor;
7380
var output;
@@ -83,12 +90,13 @@
8390
menu = menumod();
8491

8592

86-
mod.base.add({ext,$,datatype,keydown,menu,menumod,ace});
93+
mod.base.add({ext,$,datatype,keydown,menu,menumod,ace,ls});
8794

8895

8996
hdr = mod['editors-hdr'];
9097
mainmenu = mod['main-menu'];
9198
filemod = mod['file-mod'];
99+
autosave = mod['auto-save'];
92100
publish = mod['publish-ui'];
93101
editor = mod['web-editor'];
94102
output = mod['output-console']
@@ -100,15 +108,18 @@
100108
hdr.initmod({ext,$,menu});
101109
mainmenu.initmod({ext,$,menu,editor,filemod});
102110
filemod.initmod({ext,$,menu,menumod,complete,source,focus,log});
111+
autosave.initmod({$,menu,keydown,log,save:btn.save});
103112
publish.initmod({ext,$,ui,menu,source,complete,log});
104113
editor.initmod({ext,$,menu,ace,on});
105114
output.initmod({ext,$});
106115
log.initmod({ext,$});
107116

117+
108118
await Promise.all([
109119
mainmenu.init(),
110120
hdr.init(),
111121
filemod.init(),
122+
autosave.init(),
112123
publish.init(),
113124
editor.init(),
114125
output.init(),
@@ -118,6 +129,7 @@
118129

119130
//:
120131

132+
121133
icon.def = $('[rel*=icon]').href;
122134

123135
window.onfocus = ()=>editor && editor.focus();
@@ -128,6 +140,9 @@
128140
initdom(document.body);
129141

130142

143+
publish.query();
144+
145+
131146
}//init
132147

133148

@@ -140,14 +155,19 @@
140155

141156
({ext} = await import('https://libs.ext-code.com/js/io/ext-loader/ext-loader.m.js'));
142157

158+
var lsmod;
159+
143160
var promise = ext.load.libs(
144161
'js/dom/$.js',
145162
'js/core/datatype.js',
146163
'js/dom/menumod/menumod.js',
147164
'js/dom/keydown/keydown.js',
148-
'js/debug/debug.js'
165+
'js/debug/debug.js',
166+
'js/core/ls-mod/ls-mod.js',
149167
);
150-
[$,datatype,menumod,keydown,debug] = await promise;
168+
[$,datatype,menumod,keydown,debug,lsmod] = await promise;
169+
170+
ls = lsmod();
151171

152172
mod.stack.complete;
153173

@@ -250,12 +270,7 @@
250270

251271
<div id=save-root>
252272
<button id=save>save</button>
253-
<checkbox-one id=autosave></checkbox-one>
254-
<div id=save-menu-root class=menu-root>
255-
<img id=save-menu-icon class=menu-icon>
256-
<div id=save-menu class=menu style='display:none'>
257-
</div>
258-
</div>
273+
<auto-save v2.0 component=grp></auto-save>
259274
</div>
260275

261276
<publish-ui component></publish-ui>
@@ -303,12 +318,6 @@
303318

304319

305320

306-
307-
<checkbox-one-template>
308-
<script src='https://html-loader-1024713184986.us-central1.run.app/'></script>
309-
</checkbox-one-template>
310-
311-
312321
</body>
313322

314323

@@ -317,7 +326,7 @@
317326

318327
var root;
319328

320-
var autosave;
329+
//var autosave;
321330

322331
var iframe;
323332

@@ -345,28 +354,21 @@
345354
menu.add.style();
346355

347356

348-
hdr.initdom();
349-
350-
351-
mainmenu.initdom(root);
352-
353-
filemod.initdom(root);
354-
355-
356357
$(root,'#save').onclick = btn.save;
357358

358-
var card = $(root,'#save-root .menu');
359-
$(root,'.menu-icon').onclick = menu.click(card,false,false);
359+
//var card = $(root,'#save-root .menu');
360+
//$(root,'.menu-icon').onclick = menu.click(card,false,false);
360361

361-
autosave = $(root,'#autosave');
362-
autosave.checked = false;
362+
363+
//autosave = $(root,'#autosave');
364+
//autosave.checked = false;
363365

364366

365-
publish.initdom(root);
366367

367368
$(root,'#run').onclick = run;
368369
mode.iframe = $(root,'#iframe');
369370
mode.async = $(root,'#async');
371+
370372
$(root,'#syntax-chk').onclick = btn.syntax;
371373
$(root,'#prettier').onclick = btn.prettier;
372374
$(root,'#terser').onclick = btn.terser;
@@ -380,23 +382,32 @@
380382
var view = $('#view');
381383
ui.root = view;
382384

383-
editor.initdom(view,{mode:'javascript'});
384385

385386
slider.node = $.slider('web-editor','#page-slider','output-console',slider,ui);
386-
output.initdom(root);
387387

388388

389-
log.initdom();
389+
await Promise.all([
390+
hdr.initdom(),
391+
mainmenu.initdom(root),
392+
filemod.initdom(root),
393+
autosave.initdom(),
394+
publish.initdom(root),
395+
editor.initdom(view,{mode:'javascript'}),
396+
output.initdom(root),
397+
log.initdom(),
398+
]);
390399

391400

392401

393402
//ui.setup(view);
394403

395-
publish.query();
404+
405+
396406
editor.focus();
397407

398408
query();
399409

410+
400411
}//initdom
401412

402413

@@ -605,14 +616,19 @@
605616
function source(){
606617

607618
var txt = editor.getValue();
619+
620+
if(autosave.trim.checked){
621+
txt = autosave.txt.trim(txt);
622+
}
623+
608624
var blob = new Blob([txt]);
609625
return blob;
610626

611627
}//source
612628

613629

614630
function complete(file){
615-
console.log('complete',file);
631+
//console.log('complete',file);
616632
if(file){
617633
editor.filename(file);
618634
editor.filename.save.hide();
@@ -658,6 +674,7 @@
658674
//:
659675

660676

677+
/*
661678
window.onmessage = function(e){
662679
663680
var err;
@@ -685,8 +702,9 @@
685702
}
686703
687704
}//onmessage
688-
689-
705+
*/
706+
707+
690708
//:
691709

692710

@@ -753,20 +771,16 @@
753771

754772

755773
function run(){
756-
774+
debug('run');
757775
if(autosave.checked){
758-
console.log('save');
776+
debug('autosave');
759777
filemod.save();
760778
}
761779

762780

763781
var js = editor.getValue();
764782

765-
//if(mode.iframe.checked){
766-
output.run.iframe2(js,{async:mode.async.checked});
767-
//}else{
768-
//output.run(js,{async:mode.async.checked});
769-
//}
783+
output.run.iframe2(js,{async:mode.async.checked});
770784

771785

772786
}//run
@@ -840,6 +854,21 @@
840854
}//favicon
841855

842856

857+
//:
858+
859+
860+
function debug(...args){
861+
862+
if(!df && !obj.df)return;
863+
args.unshift(`[ ${did} ]`);
864+
var fmt = Array.from({length:args.length}).fill('%O').join(' ');
865+
var args2 = [fmt].concat(args);
866+
console.groupCollapsed.apply(console,args2);
867+
console.trace();
868+
console.groupEnd();
869+
870+
}//debug
871+
843872

844873

845874
</script>

0 commit comments

Comments
 (0)