@uploadcare/file-uploader 1.15.0-alpha.17 → 1.15.0-alpha.18

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.
@@ -35,7 +35,6 @@ export class FileItem extends FileItemConfig {
35
35
  '*historyBack': null;
36
36
  '*closeModal': () => void;
37
37
  };
38
- _reset(): void;
39
38
  /**
40
39
  * @private
41
40
  * @param {IntersectionObserverEntry[]} entries
@@ -1 +1 @@
1
- {"version":3,"file":"FileItem.d.ts","sourceRoot":"","sources":["FileItem.js"],"names":[],"mappings":"AAiBA;IAIE,eAAe;IACf,sBAAsB;IAKpB;;;;;;;;;;;;;;;;;;;;;;;+CAVoB,gBAAU;mCAIlB,gBACR;6BAMM,2BAET;;wCAMC,wCACK;;;;;;MAqBN;IAGH,eAQC;IAED;;;OAGG;IACH,0BAUC;IAPC,qCAA2C;IAC3C,wCAA0C;IAQ5C,eAAe;IACf,wBAYG;IAEH,eAAe;IACf,iCAA0E;IAE1E,sCA4BE;IAEF;;;OAGG;IACH,uBAqCC;IAyDD,uCA+BE;IAaA,eAAe;IACf,kBAEE;IAUJ;;;MAEC;IAED;;;OAGG;IACH,uBAEC;IAED,0CAwGG;CACJ;;;;;+BA/Y8B,qBAAqB"}
1
+ {"version":3,"file":"FileItem.d.ts","sourceRoot":"","sources":["FileItem.js"],"names":[],"mappings":"AAiBA;IAIE,eAAe;IACf,sBAAsB;IAKpB;;;;;;;;;;;;;;;;;;;;;;;+CAVoB,gBAAU;mCAIlB,gBACR;6BAMM,2BAET;;wCAMC,wCACK;;;;;;MAqBN;IAQH;;;OAGG;IACH,0BAUC;IAPC,qCAA2C;IAC3C,wCAA0C;IAQ5C,eAAe;IACf,wBAYG;IAEH,eAAe;IACf,iCAA0E;IAE1E,sCA4BE;IAEF;;;OAGG;IACH,uBAqCC;IAyDD,uCA+BE;IAaA,eAAe;IACf,kBAEE;IAUJ;;;MAEC;IAED;;;OAGG;IACH,uBAEC;IAED,0CAwGG;CACJ;;;;;+BA1Y8B,qBAAqB"}
@@ -60,13 +60,8 @@ export class FileItem extends FileItemConfig {
60
60
  }
61
61
 
62
62
  _reset() {
63
- for (let sub of this._entrySubs) {
64
- sub.remove();
65
- }
66
-
63
+ super._reset();
67
64
  this._debouncedCalculateState.cancel();
68
- this._entrySubs = new Set();
69
- this._entry = null;
70
65
  }
71
66
 
72
67
  /**
@@ -21,6 +21,8 @@ export class FileItemConfig extends UploaderBlock {
21
21
  * @protected
22
22
  */
23
23
  protected _subEntry: (prop_: K, handler_: (value: import("../../abstract/uploadEntrySchema.js").UploadEntryData[K]) => void) => void;
24
+ /** @protected */
25
+ protected _reset(): void;
24
26
  }
25
27
  import { UploaderBlock } from '../../abstract/UploaderBlock.js';
26
28
  //# sourceMappingURL=FileItemConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileItemConfig.d.ts","sourceRoot":"","sources":["FileItemConfig.js"],"names":[],"mappings":"AAIA;IACE,iBAAiB;IACjB,+BAAuB;IAEvB;;;OAGG;IACH,kBAHU,OAAO,qCAAqC,EAAE,oBAAoB,GAAG,IAAI,CAGrE;IAEd;;;;;;OAMG;IACH,qBANqB,CAAC,SAAR,GAAG,EAAG,EAC0F,CAAC,SAAlG,CAAE,KAAK,EAAE,OAAO,qCAAqC,EAAE,oBAAoB,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,GAAI,MAClG,CAAC,GACC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAezC;IAED;;;;;OAKG;IACH,sBAAa,OAJF,CAIO,EAAE,UAHT,CAAC,KAAK,EAAE,OAAO,qCAAqC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAG5D,UAgBP;CAMtB;8BA7D6B,iCAAiC"}
1
+ {"version":3,"file":"FileItemConfig.d.ts","sourceRoot":"","sources":["FileItemConfig.js"],"names":[],"mappings":"AAIA;IACE,iBAAiB;IACjB,+BAAuB;IAEvB;;;OAGG;IACH,kBAHU,OAAO,qCAAqC,EAAE,oBAAoB,GAAG,IAAI,CAGrE;IAEd;;;;;;OAMG;IACH,qBANqB,CAAC,SAAR,GAAG,EAAG,EAC0F,CAAC,SAAlG,CAAE,KAAK,EAAE,OAAO,qCAAqC,EAAE,oBAAoB,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,GAAI,MAClG,CAAC,GACC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAezC;IAED;;;;;OAKG;IACH,sBAAa,OAJF,CAIO,EAAE,UAHT,CAAC,KAAK,EAAE,OAAO,qCAAqC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAG5D,UAgBP;IAErB,iBAAiB;IACjB,yBAOC;CAMF;8BAvE6B,iCAAiC"}
@@ -57,6 +57,16 @@ export class FileItemConfig extends UploaderBlock {
57
57
  },
58
58
  )(prop_, handler_);
59
59
 
60
+ /** @protected */
61
+ _reset() {
62
+ for (let sub of this._entrySubs) {
63
+ sub.remove();
64
+ }
65
+
66
+ this._entrySubs = new Set();
67
+ this._entry = null;
68
+ }
69
+
60
70
  disconnectedCallback() {
61
71
  super.disconnectedCallback();
62
72
  this._entrySubs = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"Thumb.d.ts","sourceRoot":"","sources":["Thumb.js"],"names":[],"mappings":"AASA;IACE,eAAe;IACf,0BAA0B;IAE1B;;;OAGG;IACH,mBAAkB;IAElB,yBAAwB;IAExB,oEAAwC;IAKtC;;;;;;;+CALyB,gBAAU;mCAOjC,gBAAK;6BAMe,2BACZ;;wCAK4B,wCAC5B;;;;;;MAVT;IAGH,6CAgBC;IAED,eAAe;IACf,2BAgDG;IAEH;;MAA4E;IAE5E;;;OAGG;IACH,0BAaC;IAED;;;OAGG;IACH,uBA0BC;IA8BC,4CAAuG;CAY1G;;;;+BAhM8B,+BAA+B"}
1
+ {"version":3,"file":"Thumb.d.ts","sourceRoot":"","sources":["Thumb.js"],"names":[],"mappings":"AASA;IACE,eAAe;IACf,0BAA0B;IAE1B;;;OAGG;IACH,mBAAkB;IAElB,yBAAwB;IAExB,oEAAwC;IAKtC;;;;;;;+CALyB,gBAAU;mCAOjC,gBAAK;6BAMe,2BACZ;;wCAK4B,wCAC5B;;;;;;MAVT;IAGH,6CAgBC;IAED,eAAe;IACf,2BAmDG;IAEH;;MAA4E;IAE5E;;;OAGG;IACH,0BAaC;IAOD;;;OAGG;IACH,uBA6BC;IA8BC,4CAAuG;CAY1G;;;;+BA3M8B,+BAA+B"}
@@ -55,6 +55,7 @@ export class Thumb extends FileItemConfig {
55
55
  const fileInfo = entry.getValue('fileInfo');
56
56
  const isImage = entry.getValue('isImage');
57
57
  const uuid = entry.getValue('uuid');
58
+
58
59
  let size = this._calculateThumbSize(force);
59
60
 
60
61
  if (fileInfo && isImage && uuid) {
@@ -65,17 +66,20 @@ export class Thumb extends FileItemConfig {
65
66
  ),
66
67
  );
67
68
 
69
+ let currentThumbUrl = entry.getValue('thumbUrl');
70
+
68
71
  const { promise } = preloadImage(thumbUrl);
69
72
 
70
73
  promise
71
74
  .then(() => this.set$({ thumbUrl: `url(${thumbUrl})` }))
72
-
73
- .finally(() => {
74
- let currentThumbUrl = entry.getValue('thumbUrl');
75
- if (currentThumbUrl !== thumbUrl) {
75
+ .then(() => {
76
+ if (this._entry?.getValue('uuid') !== uuid) {
76
77
  entry.setValue('thumbUrl', thumbUrl);
77
78
  currentThumbUrl?.startsWith('blob:') && URL.revokeObjectURL(currentThumbUrl);
78
79
  }
80
+ })
81
+ .catch(() => {
82
+ console.error('Failed to load image', thumbUrl);
79
83
  });
80
84
 
81
85
  return;
@@ -86,7 +90,6 @@ export class Thumb extends FileItemConfig {
86
90
  }
87
91
 
88
92
  const file = entry.getValue('file');
89
-
90
93
  if (file?.type.includes('image')) {
91
94
  try {
92
95
  let thumbUrl = await generateThumb(file, size);
@@ -122,13 +125,21 @@ export class Thumb extends FileItemConfig {
122
125
  }
123
126
  }
124
127
 
128
+ _reset() {
129
+ super._reset();
130
+ this._debouncedGenerateThumb.cancel();
131
+ }
132
+
125
133
  /**
126
134
  * @private
127
135
  * @param {String} id
128
136
  */
129
137
  _handleEntryId(id) {
138
+ this._reset();
139
+
130
140
  let entry = this.uploadCollection?.read(id);
131
141
  this._entry = entry;
142
+
132
143
  if (!entry) {
133
144
  return;
134
145
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uploadcare/file-uploader",
3
- "version": "1.15.0-alpha.17",
3
+ "version": "1.15.0-alpha.18",
4
4
  "description": "Building blocks for Uploadcare products integration",
5
5
  "keywords": [
6
6
  "web components",