Skip to content

Commit 867c353

Browse files
save file
1 parent c1fabcf commit 867c353

File tree

1 file changed

+56
-21
lines changed

1 file changed

+56
-21
lines changed

utils/video/video-thumbnail-generator/video-thumbnail-generator.html

Lines changed: 56 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@
5454
var menu;
5555

5656
var hdr;
57-
var filemod;
57+
var load;
58+
var save;
5859
var log;
5960

6061

@@ -64,16 +65,19 @@
6465

6566

6667
hdr = mod['video-hdr'];
67-
filemod = mod['file-mod'];
68+
load = mod.load;
69+
save = mod.save;
6870
log = mod['log-mod'];
6971

7072
hdr.initmod({ext,$,menu});
71-
filemod.initmod({ext,$,menumod,menu,complete,source,focus,log});
73+
load.initmod({ext,$,menumod,menu,complete,source,focus,log});
74+
save.initmod({ext,$,menumod,menu,complete,source,focus,log});
7275
log.initmod({ext,$});
7376

7477
await Promise.all([
7578
hdr.init(),
76-
filemod.init(),
79+
load.init(),
80+
save.init(),
7781
log.init(),
7882
]);
7983

@@ -167,12 +171,15 @@
167171
#results
168172
{display:flex;gap:20px;flex-wrap:wrap}
169173
.item
170-
{display:flex;flex-direction:column;gap:10px;border:1px solid lightgray;padding:10px;border-radius:10px}
174+
{display:flex;flex-direction:column;gap:10px;border:1px solid lightgray;padding:10px;border-radius:10px;align-items:center;cursor:pointer}
171175
.item [type=checkbox]
172176
{}
177+
.item img
178+
{flex-grow:0}
173179
.item .filename-root
174-
{white-space:nowrap}
175-
180+
{white-space:nowrap;flex-shrink:0}
181+
.item .filename-root *
182+
{vertical-align:middle}
176183
#output
177184
{border:1px solid lightgray;padding:10px;border-radius:10px;white-space:pre-wrap;overflow:auto;font-size:16px;font-family:monospace;flex:1}
178185

@@ -185,6 +192,9 @@
185192
[type=checkbox]
186193
{margin-right:10px;width:20px;height:20px;cursor:pointer}
187194

195+
.label
196+
{margin:0 20px}
197+
188198
</style>
189199

190200
</head>
@@ -198,14 +208,17 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
198208
</video-hdr>
199209

200210
<div>
201-
<span>
211+
<span class=label>
202212
load video
203213
</span>
204-
<file-mod component></file-mod>
214+
<file-mod id=load component></file-mod>
205215
</div>
206216

207217
<div>
208-
thumbnail type
218+
<input value=clear type=button>
219+
<span class=label>
220+
thumbnail type
221+
</span>
209222
<span id=png>
210223
<input type=checkbox checked>
211224
png
@@ -215,7 +228,9 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
215228
jpg
216229
</span>
217230
<span>
218-
size
231+
<span class=label>
232+
size
233+
</span>
219234
<span id=width>
220235
width
221236
<input value=-1>
@@ -237,7 +252,6 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
237252
<video controls></video>
238253
<div>
239254
<div>
240-
<input type=checkbox>
241255
<span id=video-filename></span>
242256
</div>
243257
<span id=video-size></span>
@@ -248,17 +262,23 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
248262
</div>
249263
</div>
250264
</div>
265+
266+
<div>
267+
<span class=label>
268+
save thumbnail
269+
</span>
270+
<file-mod id=save component></file-mod>
271+
</div>
272+
251273
<div id=results>
252274
<div class=item style='display:none'>
253275
<img class=thumbnail>
254-
<div>
255-
<div class=filename-root>
256-
<input type=checkbox>
257-
<div class=filename></div>
258-
</div>
259-
<div class=dims></div>
260-
<div class=size></div>
276+
<div class=filename-root>
277+
<input type=checkbox>
278+
<span class=filename></span>
261279
</div>
280+
<div class=dims></div>
281+
<div class=size></div>
262282
</div>
263283
</div>
264284

@@ -280,6 +300,7 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
280300
var results;
281301
var item;
282302
var chk;
303+
var list = {};
283304

284305
var btn = {};
285306
var gen = {};
@@ -288,7 +309,8 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
288309

289310

290311
hdr.initdom();
291-
filemod.initdom();
312+
load.initdom();
313+
save.initdom();
292314
log.initdom();
293315

294316

@@ -330,6 +352,14 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
330352
//:
331353

332354

355+
btn.clear = function(){
356+
357+
results.replaceChildren();
358+
list = {};
359+
360+
}//clear
361+
362+
333363
btn.generate = function(){
334364

335365
if(cur.status){
@@ -497,7 +527,7 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
497527
$(nitem,'.size').textContent = hs(blob.size);
498528
results.append(nitem);
499529
chk.add(results,`#${id}`);
500-
530+
list[blob.name] = blob;
501531

502532
function onload(){
503533

@@ -514,6 +544,11 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
514544

515545

516546
function source(){
547+
548+
var id = chk.read();
549+
var blob = list[id];
550+
return blob;
551+
517552
}//source
518553

519554

0 commit comments

Comments
 (0)