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

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
@@ -53,6 +52,8 @@ export class FileItem extends FileItemConfig {
53
52
  * @param {String} id
54
53
  */
55
54
  private _handleEntryId;
55
+ /** @param {boolean} value */
56
+ _updateShowFileNames(value: boolean): void;
56
57
  _handleState: (...args: any[]) => void;
57
58
  /** @private */
58
59
  private _observer;
@@ -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;IAED,6BAA6B;IAC7B,4BADY,OAAO,QASlB;IAgDD,uCA+BE;IAaA,eAAe;IACf,kBAEE;IAUJ;;;MAEC;IAED;;;OAGG;IACH,uBAEC;IAED,0CAwGG;CACJ;;;;;+BA5Y8B,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
  /**
@@ -176,6 +171,17 @@ export class FileItem extends FileItemConfig {
176
171
  this._subEntry('isImage', () => this._debouncedCalculateState());
177
172
  }
178
173
 
174
+ /** @param {boolean} value */
175
+ _updateShowFileNames(value) {
176
+ const isListMode = this.cfg.filesViewMode === 'list';
177
+ if (isListMode) {
178
+ this.$.showFileNames = true;
179
+ return;
180
+ }
181
+
182
+ this.$.showFileNames = value;
183
+ }
184
+
179
185
  initCallback() {
180
186
  super.initCallback();
181
187
 
@@ -188,24 +194,15 @@ export class FileItem extends FileItemConfig {
188
194
  });
189
195
 
190
196
  this.subConfigValue('useCloudImageEditor', () => this._debouncedCalculateState());
197
+
191
198
  this.subConfigValue('filesViewMode', (mode) => {
192
- if (this.cfg.filesViewMode === 'list') {
193
- this.$.showFileNames = true;
194
- }
195
- if (this.cfg.filesViewMode === 'grid') {
196
- this.$.showFileNames = this.cfg.gridShowFileNames;
197
- }
199
+ this._updateShowFileNames(this.cfg.gridShowFileNames);
198
200
 
199
201
  this.setAttribute('mode', mode);
200
202
  });
201
203
 
202
204
  this.subConfigValue('gridShowFileNames', (value) => {
203
- if (this.cfg.filesViewMode === 'grid') {
204
- this.$.showFileNames = value;
205
- }
206
- if (this.cfg.filesViewMode === 'list') {
207
- this.$.showFileNames = true;
208
- }
205
+ this._updateShowFileNames(value);
209
206
  });
210
207
 
211
208
  this.onclick = () => {
@@ -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,2BA+CG;IAEH;;MAA4E;IAE5E;;;OAGG;IACH,0BAaC;IAOD;;;OAGG;IACH,uBA6BC;IA8BC,4CAAuG;CAY1G;;;;+BAvM8B,+BAA+B"}
@@ -55,6 +55,8 @@ 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
+ const currentThumbUrl = entry.getValue('thumbUrl');
59
+
58
60
  let size = this._calculateThumbSize(force);
59
61
 
60
62
  if (fileInfo && isImage && uuid) {
@@ -68,14 +70,12 @@ export class Thumb extends FileItemConfig {
68
70
  const { promise } = preloadImage(thumbUrl);
69
71
 
70
72
  promise
71
- .then(() => this.set$({ thumbUrl: `url(${thumbUrl})` }))
72
-
73
- .finally(() => {
74
- let currentThumbUrl = entry.getValue('thumbUrl');
75
- if (currentThumbUrl !== thumbUrl) {
76
- entry.setValue('thumbUrl', thumbUrl);
77
- currentThumbUrl?.startsWith('blob:') && URL.revokeObjectURL(currentThumbUrl);
78
- }
73
+ .then(() => {
74
+ entry.setValue('thumbUrl', thumbUrl);
75
+ currentThumbUrl?.startsWith('blob:') && URL.revokeObjectURL(currentThumbUrl);
76
+ })
77
+ .catch(() => {
78
+ console.error('Failed to load image', thumbUrl);
79
79
  });
80
80
 
81
81
  return;
@@ -86,7 +86,6 @@ export class Thumb extends FileItemConfig {
86
86
  }
87
87
 
88
88
  const file = entry.getValue('file');
89
-
90
89
  if (file?.type.includes('image')) {
91
90
  try {
92
91
  let thumbUrl = await generateThumb(file, size);
@@ -122,13 +121,21 @@ export class Thumb extends FileItemConfig {
122
121
  }
123
122
  }
124
123
 
124
+ _reset() {
125
+ super._reset();
126
+ this._debouncedGenerateThumb.cancel();
127
+ }
128
+
125
129
  /**
126
130
  * @private
127
131
  * @param {String} id
128
132
  */
129
133
  _handleEntryId(id) {
134
+ this._reset();
135
+
130
136
  let entry = this.uploadCollection?.read(id);
131
137
  this._entry = entry;
138
+
132
139
  if (!entry) {
133
140
  return;
134
141
  }
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.19",
4
4
  "description": "Building blocks for Uploadcare products integration",
5
5
  "keywords": [
6
6
  "web components",