@ibiz-template/runtime 0.7.41-alpha.139 → 0.7.41-alpha.140
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-util.d.ts","sourceRoot":"","sources":["../../../src/utils/file-util/file-util.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"file-util.d.ts","sourceRoot":"","sources":["../../../src/utils/file-util/file-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -323,36 +323,45 @@ export class FileUtil {
|
|
|
323
323
|
*/
|
|
324
324
|
chooseFile(accept = '', multiple = false) {
|
|
325
325
|
return new Promise(resolve => {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
326
|
+
const input = document.createElement('input');
|
|
327
|
+
input.type = 'file';
|
|
328
|
+
input.accept = accept;
|
|
329
|
+
input.multiple = multiple;
|
|
330
|
+
input.webkitdirectory = false;
|
|
331
|
+
let settled = false;
|
|
332
|
+
const settle = (result) => {
|
|
333
|
+
if (settled)
|
|
334
|
+
return;
|
|
335
|
+
settled = true;
|
|
336
|
+
input.remove();
|
|
337
|
+
resolve(result);
|
|
338
|
+
};
|
|
339
|
+
// 1. 选中文件
|
|
340
|
+
input.onchange = (e) => {
|
|
341
|
+
var _a;
|
|
342
|
+
const files = (_a = e.target.files) !== null && _a !== void 0 ? _a : undefined;
|
|
343
|
+
settle(files);
|
|
344
|
+
};
|
|
345
|
+
// 2. 现代浏览器:用户取消会触发 cancel 事件
|
|
346
|
+
input.oncancel = () => {
|
|
347
|
+
settle(undefined);
|
|
348
|
+
};
|
|
349
|
+
// 3. 挂载元素触发文件上传
|
|
350
|
+
document.body.appendChild(input);
|
|
351
|
+
input.click();
|
|
352
|
+
// 4. 兜底:focus 回来之后 change 迟迟没来
|
|
353
|
+
const onFocus = () => {
|
|
354
|
+
window.removeEventListener('focus', onFocus);
|
|
347
355
|
setTimeout(() => {
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
356
|
+
if (settled)
|
|
357
|
+
return;
|
|
358
|
+
// 关键:如果 input 里已经有文件,说明 change 一定会来,绝不当成取消
|
|
359
|
+
if (input.files && input.files.length > 0)
|
|
360
|
+
return;
|
|
361
|
+
settle(undefined);
|
|
354
362
|
}, 1000);
|
|
355
|
-
}
|
|
363
|
+
};
|
|
364
|
+
window.addEventListener('focus', onFocus);
|
|
356
365
|
});
|
|
357
366
|
}
|
|
358
367
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.7.41-alpha.
|
|
3
|
+
"version": "0.7.41-alpha.140",
|
|
4
4
|
"description": "运行时逻辑库",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"jsencrypt": "^3.3.2"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@ibiz-template/core": "^0.7.41-alpha.
|
|
42
|
+
"@ibiz-template/core": "^0.7.41-alpha.140",
|
|
43
43
|
"@ibiz/model-core": "^0.1.89",
|
|
44
44
|
"@types/animejs": "^3.1.12",
|
|
45
45
|
"@types/path-browserify": "^1.0.2",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"qx-util": "^0.4.8",
|
|
71
71
|
"ramda": "^0.29.0"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "29a5a4315ab5fc1780030f02bc6ceaa8af60738c"
|
|
74
74
|
}
|
|
@@ -413,48 +413,46 @@ export class FileUtil implements IApiFileUtil {
|
|
|
413
413
|
multiple: boolean = false,
|
|
414
414
|
): Promise<FileList | undefined> {
|
|
415
415
|
return new Promise(resolve => {
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
inputElement.multiple = multiple;
|
|
422
|
-
inputElement.webkitdirectory = false;
|
|
423
|
-
// 添加事件监听器,处理文件上传逻辑
|
|
424
|
-
inputElement.addEventListener(
|
|
425
|
-
'change',
|
|
426
|
-
(e: IData) => {
|
|
427
|
-
if (inputElement) {
|
|
428
|
-
document.body.removeChild(inputElement);
|
|
429
|
-
inputElement = null;
|
|
430
|
-
}
|
|
431
|
-
resolve(e.target.files);
|
|
432
|
-
},
|
|
433
|
-
{ once: true },
|
|
434
|
-
);
|
|
416
|
+
const input = document.createElement('input');
|
|
417
|
+
input.type = 'file';
|
|
418
|
+
input.accept = accept;
|
|
419
|
+
input.multiple = multiple;
|
|
420
|
+
input.webkitdirectory = false;
|
|
435
421
|
|
|
436
|
-
|
|
437
|
-
|
|
422
|
+
let settled = false;
|
|
423
|
+
const settle = (result: FileList | undefined): void => {
|
|
424
|
+
if (settled) return;
|
|
425
|
+
settled = true;
|
|
426
|
+
input.remove();
|
|
427
|
+
resolve(result);
|
|
428
|
+
};
|
|
438
429
|
|
|
439
|
-
//
|
|
440
|
-
|
|
430
|
+
// 1. 选中文件
|
|
431
|
+
input.onchange = (e: Event): void => {
|
|
432
|
+
const files = (e.target as HTMLInputElement).files ?? undefined;
|
|
433
|
+
settle(files);
|
|
434
|
+
};
|
|
441
435
|
|
|
442
|
-
//
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
436
|
+
// 2. 现代浏览器:用户取消会触发 cancel 事件
|
|
437
|
+
input.oncancel = (): void => {
|
|
438
|
+
settle(undefined);
|
|
439
|
+
};
|
|
440
|
+
|
|
441
|
+
// 3. 挂载元素触发文件上传
|
|
442
|
+
document.body.appendChild(input);
|
|
443
|
+
input.click();
|
|
444
|
+
|
|
445
|
+
// 4. 兜底:focus 回来之后 change 迟迟没来
|
|
446
|
+
const onFocus = (): void => {
|
|
447
|
+
window.removeEventListener('focus', onFocus);
|
|
448
|
+
setTimeout(() => {
|
|
449
|
+
if (settled) return;
|
|
450
|
+
// 关键:如果 input 里已经有文件,说明 change 一定会来,绝不当成取消
|
|
451
|
+
if (input.files && input.files.length > 0) return;
|
|
452
|
+
settle(undefined);
|
|
453
|
+
}, 1000);
|
|
454
|
+
};
|
|
455
|
+
window.addEventListener('focus', onFocus);
|
|
458
456
|
});
|
|
459
457
|
}
|
|
460
458
|
|