@lvce-editor/renderer-process 20.2.0 → 20.3.0
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.
- package/dist/rendererProcessMain.js +43 -3
- package/package.json +1 -1
|
@@ -744,7 +744,7 @@ const acquire$1 = id => {
|
|
|
744
744
|
return promise;
|
|
745
745
|
};
|
|
746
746
|
const getFileHandles$1 = async ids => {
|
|
747
|
-
const promises = ids.map(
|
|
747
|
+
const promises = ids.map(acquire$1);
|
|
748
748
|
const handles = await Promise.all(promises);
|
|
749
749
|
return handles;
|
|
750
750
|
};
|
|
@@ -785,7 +785,7 @@ const applyDragInfoMaybe = event => {
|
|
|
785
785
|
}
|
|
786
786
|
} else {
|
|
787
787
|
for (const item of dragInfo.items) {
|
|
788
|
-
dataTransfer.items.add(item.data, item.
|
|
788
|
+
dataTransfer.items.add(item.data, item.type);
|
|
789
789
|
}
|
|
790
790
|
if (dragInfo.label) {
|
|
791
791
|
setDragImage(dataTransfer, dragInfo.label);
|
|
@@ -805,9 +805,49 @@ const stopIgnore = () => {
|
|
|
805
805
|
const enabled = () => {
|
|
806
806
|
return ignore;
|
|
807
807
|
};
|
|
808
|
+
const unwrapItemString = async item => {
|
|
809
|
+
const {
|
|
810
|
+
resolve,
|
|
811
|
+
promise
|
|
812
|
+
} = Promise.withResolvers();
|
|
813
|
+
item.getAsString(resolve);
|
|
814
|
+
const value = await promise;
|
|
815
|
+
return {
|
|
816
|
+
kind: 'string',
|
|
817
|
+
type: item.type,
|
|
818
|
+
value
|
|
819
|
+
};
|
|
820
|
+
};
|
|
821
|
+
const unwrapItemFile = async item => {
|
|
822
|
+
// @ts-ignore
|
|
823
|
+
const file = await item.getAsFileSystemHandle();
|
|
824
|
+
return {
|
|
825
|
+
kind: 'file',
|
|
826
|
+
type: item.type,
|
|
827
|
+
value: file
|
|
828
|
+
};
|
|
829
|
+
};
|
|
830
|
+
const unknownItem = {
|
|
831
|
+
kind: 'unknown',
|
|
832
|
+
type: '',
|
|
833
|
+
value: ''
|
|
834
|
+
};
|
|
835
|
+
const unwrapItem = item => {
|
|
836
|
+
switch (item.kind) {
|
|
837
|
+
case 'file':
|
|
838
|
+
return unwrapItemFile(item);
|
|
839
|
+
case 'string':
|
|
840
|
+
return unwrapItemString(item);
|
|
841
|
+
default:
|
|
842
|
+
return unknownItem;
|
|
843
|
+
}
|
|
844
|
+
};
|
|
808
845
|
const handleDataTransferFiles = event => {
|
|
846
|
+
if (!event.dataTransfer) {
|
|
847
|
+
return [];
|
|
848
|
+
}
|
|
809
849
|
const items = [...event.dataTransfer.items];
|
|
810
|
-
const promises = items.map(
|
|
850
|
+
const promises = items.map(unwrapItem);
|
|
811
851
|
const ids = promises.map(promise => add(promise));
|
|
812
852
|
return ids;
|
|
813
853
|
};
|