@syncfusion/ej2-filemanager 29.2.10 → 30.1.37

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.
Files changed (162) hide show
  1. package/.eslintrc.json +2 -0
  2. package/dist/ej2-filemanager.min.js +2 -2
  3. package/dist/ej2-filemanager.umd.min.js +2 -2
  4. package/dist/ej2-filemanager.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-filemanager.es2015.js +179 -20
  6. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  7. package/dist/es6/ej2-filemanager.es5.js +180 -20
  8. package/dist/es6/ej2-filemanager.es5.js.map +1 -1
  9. package/dist/global/ej2-filemanager.min.js +2 -2
  10. package/dist/global/ej2-filemanager.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/dist/ts/file-manager/actions/breadcrumb-bar.d.ts +60 -0
  13. package/dist/ts/file-manager/actions/breadcrumb-bar.ts +423 -0
  14. package/dist/ts/file-manager/actions/index.d.ts +6 -0
  15. package/dist/ts/file-manager/actions/index.ts +6 -0
  16. package/dist/ts/file-manager/actions/toolbar.d.ts +54 -0
  17. package/dist/ts/file-manager/actions/toolbar.ts +609 -0
  18. package/dist/ts/file-manager/actions/virtualization.d.ts +93 -0
  19. package/dist/ts/file-manager/actions/virtualization.ts +324 -0
  20. package/dist/ts/file-manager/base/classes.d.ts +224 -0
  21. package/dist/ts/file-manager/base/classes.ts +225 -0
  22. package/dist/ts/file-manager/base/constant.d.ts +136 -0
  23. package/dist/ts/file-manager/base/constant.ts +137 -0
  24. package/dist/ts/file-manager/base/file-manager-model.d.ts +520 -0
  25. package/dist/ts/file-manager/base/file-manager.d.ts +867 -0
  26. package/dist/ts/file-manager/base/file-manager.ts +2061 -0
  27. package/dist/ts/file-manager/base/index.d.ts +8 -0
  28. package/dist/ts/file-manager/base/index.ts +8 -0
  29. package/dist/ts/file-manager/base/interface.d.ts +952 -0
  30. package/dist/ts/file-manager/base/interface.ts +931 -0
  31. package/dist/ts/file-manager/common/index.d.ts +5 -0
  32. package/dist/ts/file-manager/common/index.ts +5 -0
  33. package/dist/ts/file-manager/common/operations.d.ts +122 -0
  34. package/dist/ts/file-manager/common/operations.ts +1369 -0
  35. package/dist/ts/file-manager/common/utility.d.ts +644 -0
  36. package/dist/ts/file-manager/common/utility.ts +1728 -0
  37. package/dist/ts/file-manager/index.d.ts +9 -0
  38. package/dist/ts/file-manager/index.ts +9 -0
  39. package/dist/ts/file-manager/layout/details-view.d.ts +152 -0
  40. package/dist/ts/file-manager/layout/details-view.ts +1990 -0
  41. package/dist/ts/file-manager/layout/index.d.ts +6 -0
  42. package/dist/ts/file-manager/layout/index.ts +6 -0
  43. package/dist/ts/file-manager/layout/large-icons-view.d.ts +157 -0
  44. package/dist/ts/file-manager/layout/large-icons-view.ts +1684 -0
  45. package/dist/ts/file-manager/layout/navigation-pane.d.ts +104 -0
  46. package/dist/ts/file-manager/layout/navigation-pane.ts +919 -0
  47. package/dist/ts/file-manager/models/ajax-settings-model.d.ts +36 -0
  48. package/dist/ts/file-manager/models/ajax-settings.d.ts +30 -0
  49. package/dist/ts/file-manager/models/ajax-settings.ts +39 -0
  50. package/dist/ts/file-manager/models/column-model.d.ts +155 -0
  51. package/dist/ts/file-manager/models/column.d.ts +179 -0
  52. package/dist/ts/file-manager/models/column.ts +216 -0
  53. package/dist/ts/file-manager/models/contextMenu-settings-model.d.ts +36 -0
  54. package/dist/ts/file-manager/models/contextMenu-settings.d.ts +33 -0
  55. package/dist/ts/file-manager/models/contextMenu-settings.ts +44 -0
  56. package/dist/ts/file-manager/models/default-locale.d.ts +4 -0
  57. package/dist/ts/file-manager/models/default-locale.ts +101 -0
  58. package/dist/ts/file-manager/models/details-view-settings-model.d.ts +30 -0
  59. package/dist/ts/file-manager/models/details-view-settings.d.ts +31 -0
  60. package/dist/ts/file-manager/models/details-view-settings.ts +54 -0
  61. package/dist/ts/file-manager/models/index.d.ts +19 -0
  62. package/dist/ts/file-manager/models/index.ts +19 -0
  63. package/dist/ts/file-manager/models/navigation-pane-settings-model.d.ts +40 -0
  64. package/dist/ts/file-manager/models/navigation-pane-settings.d.ts +34 -0
  65. package/dist/ts/file-manager/models/navigation-pane-settings.ts +42 -0
  66. package/dist/ts/file-manager/models/search-settings-model.d.ts +42 -0
  67. package/dist/ts/file-manager/models/search-settings.d.ts +44 -0
  68. package/dist/ts/file-manager/models/search-settings.ts +53 -0
  69. package/dist/ts/file-manager/models/toolbar-settings-model.d.ts +197 -0
  70. package/dist/ts/file-manager/models/toolbar-settings.d.ts +174 -0
  71. package/dist/ts/file-manager/models/toolbar-settings.ts +198 -0
  72. package/dist/ts/file-manager/models/upload-settings-model.d.ts +70 -0
  73. package/dist/ts/file-manager/models/upload-settings.d.ts +61 -0
  74. package/dist/ts/file-manager/models/upload-settings.ts +75 -0
  75. package/dist/ts/file-manager/pop-up/context-menu.d.ts +64 -0
  76. package/dist/ts/file-manager/pop-up/context-menu.ts +693 -0
  77. package/dist/ts/file-manager/pop-up/dialog.d.ts +31 -0
  78. package/dist/ts/file-manager/pop-up/dialog.ts +1009 -0
  79. package/dist/ts/file-manager/pop-up/index.d.ts +5 -0
  80. package/dist/ts/file-manager/pop-up/index.ts +5 -0
  81. package/dist/ts/index.d.ts +4 -0
  82. package/dist/ts/index.ts +4 -0
  83. package/package.json +56 -21
  84. package/src/file-manager/base/interface.d.ts +10 -0
  85. package/src/file-manager/common/operations.d.ts +18 -1
  86. package/src/file-manager/common/operations.js +59 -0
  87. package/src/file-manager/common/utility.d.ts +3 -3
  88. package/src/file-manager/common/utility.js +20 -6
  89. package/src/file-manager/layout/details-view.js +4 -3
  90. package/src/file-manager/layout/large-icons-view.d.ts +3 -0
  91. package/src/file-manager/layout/large-icons-view.js +67 -9
  92. package/src/file-manager/pop-up/dialog.d.ts +3 -3
  93. package/src/file-manager/pop-up/dialog.js +34 -6
  94. package/styles/bds-lite.css +51 -1
  95. package/styles/bds.css +51 -1
  96. package/styles/bootstrap-dark-lite.css +51 -0
  97. package/styles/bootstrap-dark.css +51 -0
  98. package/styles/bootstrap-lite.css +51 -0
  99. package/styles/bootstrap.css +51 -0
  100. package/styles/bootstrap4-lite.css +51 -0
  101. package/styles/bootstrap4.css +51 -0
  102. package/styles/bootstrap5-dark-lite.css +51 -1
  103. package/styles/bootstrap5-dark.css +51 -1
  104. package/styles/bootstrap5-lite.css +51 -1
  105. package/styles/bootstrap5.3-lite.css +51 -0
  106. package/styles/bootstrap5.3.css +51 -0
  107. package/styles/bootstrap5.css +51 -1
  108. package/styles/fabric-dark-lite.css +51 -0
  109. package/styles/fabric-dark.css +51 -0
  110. package/styles/fabric-lite.css +51 -0
  111. package/styles/fabric.css +51 -0
  112. package/styles/file-manager/_bds-definition.scss +1 -0
  113. package/styles/file-manager/_bootstrap5-definition.scss +1 -0
  114. package/styles/file-manager/_layout.scss +46 -4
  115. package/styles/file-manager/_material3-definition.scss +2 -2
  116. package/styles/file-manager/_tailwind-definition.scss +1 -0
  117. package/styles/file-manager/_tailwind3-definition.scss +1 -0
  118. package/styles/file-manager/bds.css +51 -1
  119. package/styles/file-manager/bootstrap-dark.css +51 -0
  120. package/styles/file-manager/bootstrap.css +51 -0
  121. package/styles/file-manager/bootstrap4.css +51 -0
  122. package/styles/file-manager/bootstrap5-dark.css +51 -1
  123. package/styles/file-manager/bootstrap5.3.css +51 -0
  124. package/styles/file-manager/bootstrap5.css +51 -1
  125. package/styles/file-manager/fabric-dark.css +51 -0
  126. package/styles/file-manager/fabric.css +51 -0
  127. package/styles/file-manager/fluent-dark.css +51 -0
  128. package/styles/file-manager/fluent.css +51 -0
  129. package/styles/file-manager/fluent2.css +51 -0
  130. package/styles/file-manager/highcontrast-light.css +51 -0
  131. package/styles/file-manager/highcontrast.css +51 -0
  132. package/styles/file-manager/material-dark.css +51 -0
  133. package/styles/file-manager/material.css +51 -0
  134. package/styles/file-manager/material3-dark.css +53 -2
  135. package/styles/file-manager/material3.css +53 -2
  136. package/styles/file-manager/tailwind-dark.css +51 -1
  137. package/styles/file-manager/tailwind.css +51 -1
  138. package/styles/file-manager/tailwind3.css +51 -0
  139. package/styles/fluent-dark-lite.css +51 -0
  140. package/styles/fluent-dark.css +51 -0
  141. package/styles/fluent-lite.css +51 -0
  142. package/styles/fluent.css +51 -0
  143. package/styles/fluent2-lite.css +51 -0
  144. package/styles/fluent2.css +51 -0
  145. package/styles/highcontrast-light-lite.css +51 -0
  146. package/styles/highcontrast-light.css +51 -0
  147. package/styles/highcontrast-lite.css +51 -0
  148. package/styles/highcontrast.css +51 -0
  149. package/styles/material-dark-lite.css +51 -0
  150. package/styles/material-dark.css +51 -0
  151. package/styles/material-lite.css +51 -0
  152. package/styles/material.css +51 -0
  153. package/styles/material3-dark-lite.css +51 -0
  154. package/styles/material3-dark.css +53 -2
  155. package/styles/material3-lite.css +51 -0
  156. package/styles/material3.css +53 -2
  157. package/styles/tailwind-dark-lite.css +51 -1
  158. package/styles/tailwind-dark.css +51 -1
  159. package/styles/tailwind-lite.css +51 -1
  160. package/styles/tailwind.css +51 -1
  161. package/styles/tailwind3-lite.css +51 -0
  162. package/styles/tailwind3.css +51 -0
@@ -1198,7 +1198,7 @@ function fileType(file) {
1198
1198
  *
1199
1199
  * @param {IFileManager} parent - specifies the parent element.
1200
1200
  * @param {Object} item - specifies the item.
1201
- * @returns {string} - returns the image url.
1201
+ * @returns {BeforeImageLoadEventArgs} - returns the eventargs.
1202
1202
  * @private
1203
1203
  */
1204
1204
  function getImageUrl(parent, item) {
@@ -1206,10 +1206,11 @@ function getImageUrl(parent, item) {
1206
1206
  if (isFileSystemData(parent)) {
1207
1207
  const eventArgs = {
1208
1208
  fileDetails: [item],
1209
- imageUrl: imgUrl
1209
+ imageUrl: imgUrl,
1210
+ useImageAsUrl: true
1210
1211
  };
1211
1212
  parent.trigger('beforeImageLoad', eventArgs);
1212
- return eventArgs.imageUrl;
1213
+ return eventArgs;
1213
1214
  }
1214
1215
  const baseUrl = parent.ajaxSettings.getImageUrl ? parent.ajaxSettings.getImageUrl : parent.ajaxSettings.url;
1215
1216
  const pathUrl = (baseUrl.indexOf('?') !== -1) ? '&path=' : '?path=';
@@ -1226,12 +1227,25 @@ function getImageUrl(parent, item) {
1226
1227
  imgUrl = baseUrl + pathUrl + parent.path + fileName;
1227
1228
  }
1228
1229
  imgUrl = imgUrl + '&time=' + (new Date().getTime()).toString();
1230
+ const data = { 'action': 'getImage', 'path': parent.path + fileName, 'id': getValue('id', item) };
1231
+ const ajaxSettings = {
1232
+ url: baseUrl,
1233
+ type: 'POST',
1234
+ contentType: 'application/json',
1235
+ responseType: 'blob',
1236
+ data: JSON.stringify(data),
1237
+ onSuccess: null,
1238
+ onFailure: null,
1239
+ beforeSend: null
1240
+ };
1229
1241
  const eventArgs = {
1230
1242
  fileDetails: [item],
1231
- imageUrl: imgUrl
1243
+ imageUrl: imgUrl,
1244
+ useImageAsUrl: true,
1245
+ ajaxSettings: ajaxSettings
1232
1246
  };
1233
1247
  parent.trigger('beforeImageLoad', eventArgs);
1234
- return eventArgs.imageUrl;
1248
+ return eventArgs;
1235
1249
  }
1236
1250
  /* istanbul ignore next */
1237
1251
  /**
@@ -1353,7 +1367,7 @@ function createEmptyElement(parent, element, args) {
1353
1367
  }
1354
1368
  else {
1355
1369
  element.querySelector('.' + EMPTY_CONTENT).innerHTML = getLocaleText(parent, 'Folder-Empty');
1356
- element.querySelector('.' + EMPTY_INNER_CONTENT).innerHTML = getLocaleText(parent, 'File-Upload');
1370
+ element.querySelector('.' + EMPTY_INNER_CONTENT).innerHTML = parent.uploadObj.dropArea == null ? getLocaleText(parent, '') : getLocaleText(parent, 'File-Upload');
1357
1371
  }
1358
1372
  }
1359
1373
  const eDiv = select('.' + EMPTY, element);
@@ -2601,6 +2615,11 @@ function createNewItem(data, target, itemName, isCopy) {
2601
2615
  size: isCopy ? data.size : 0,
2602
2616
  type: isCopy ? data.type : ''
2603
2617
  });
2618
+ if (!isNullOrUndefined(target.filterId)) {
2619
+ Object.assign(newItem, {
2620
+ filterId: target.filterId + target.id + '/'
2621
+ });
2622
+ }
2604
2623
  return newItem;
2605
2624
  }
2606
2625
  /**
@@ -2842,6 +2861,12 @@ function triggerMoveOrCopyOperation(parent, data, eventArgs) {
2842
2861
  }
2843
2862
  fileData.parentId = target.id;
2844
2863
  fileData.filterPath = target.id === 0 ? '\\' : target.filterPath + target.name + '\\';
2864
+ if (!isNullOrUndefined(target.filterId)) {
2865
+ fileData.filterId = target.filterId + target.id + '/';
2866
+ }
2867
+ if (!currItem.isFile) {
2868
+ updateMovedItemChildren(parent, fileData);
2869
+ }
2845
2870
  }
2846
2871
  else {
2847
2872
  file.push(currItem.name);
@@ -3161,6 +3186,26 @@ function copyFolderItems(parent, data, target, itemName) {
3161
3186
  copyFolderItems(parent, copiedItems[i], newObject, null);
3162
3187
  }
3163
3188
  }
3189
+ /**
3190
+ * Function to move operation.
3191
+ *
3192
+ * @param {IFileManager} parent - specifies the parent element.
3193
+ * @param {Object} itemData - specifies the data.
3194
+ * @returns {void}
3195
+ * @private
3196
+ */
3197
+ function updateMovedItemChildren(parent, itemData) {
3198
+ const childItems = filterByParent(parent, itemData.id);
3199
+ childItems.forEach((childItem) => {
3200
+ childItem.filterPath = itemData.filterPath + itemData.name + '\\';
3201
+ if (!isNullOrUndefined(itemData.filterId)) {
3202
+ childItem.filterId = itemData.filterId + itemData.id + '/';
3203
+ }
3204
+ if (!childItem.isFile) {
3205
+ updateMovedItemChildren(parent, childItem);
3206
+ }
3207
+ });
3208
+ }
3164
3209
  /**
3165
3210
  * Function for trigger Ajax failure in File Manager.
3166
3211
  *
@@ -3675,6 +3720,34 @@ function handleCatchError(parent, error, action) {
3675
3720
  };
3676
3721
  onFailure(parent, errorResult, action);
3677
3722
  }
3723
+ /**
3724
+ * Function for trigger Fetch success in File Manager.
3725
+ *
3726
+ * @param {IFileManager} parent - specifies the parent element.
3727
+ * @param {Object} ajaxSettings - specifies the ajax settings.
3728
+ * @returns {void}
3729
+ */
3730
+ function triggerFetchSuccess(parent, ajaxSettings) {
3731
+ parent.notify(afterRequest, { action: 'success' });
3732
+ if (ajaxSettings && typeof getValue('onSuccess', ajaxSettings) === 'function') {
3733
+ getValue('onSuccess', ajaxSettings)();
3734
+ }
3735
+ }
3736
+ /**
3737
+ * Function for trigger Fetch failure in File Manager.
3738
+ *
3739
+ * @param {IFileManager} parent - specifies the parent element.
3740
+ * @param {Object} ajaxSettings - specifies the ajax settings.
3741
+ * @param {ReadArgs} result - specifies the result.
3742
+ * @returns {void}
3743
+ */
3744
+ function triggerFetchFailure(parent, ajaxSettings, result) {
3745
+ parent.notify(afterRequest, { action: 'failure' });
3746
+ createDialog(parent, 'Error', result);
3747
+ if (typeof getValue('onFailure', ajaxSettings) === 'function') {
3748
+ getValue('onFailure', ajaxSettings)();
3749
+ }
3750
+ }
3678
3751
 
3679
3752
  /**
3680
3753
  *
@@ -4582,14 +4655,42 @@ function getKeyCode(e) {
4582
4655
  *
4583
4656
  * @param {IFileManager} parent - specifies the parent element.
4584
4657
  * @param {string} header - specifies the header element.
4585
- * @param {string} imageUrl - specifies the image URL.
4658
+ * @param {BeforeImageLoadEventArgs} imageData - specifies the image eventargs.
4586
4659
  * @returns {void}
4587
4660
  * @private
4588
4661
  */
4589
- function createImageDialog(parent, header, imageUrl) {
4662
+ function createImageDialog(parent, header, imageData) {
4590
4663
  const content = createElement('div', { className: 'e-image-wrap' });
4591
- const image = createElement('img', { className: 'e-image', attrs: { src: imageUrl, alt: header } });
4592
- content.appendChild(image);
4664
+ if (imageData.useImageAsUrl) {
4665
+ const image = createElement('img', { className: 'e-image', attrs: { src: imageData.imageUrl, alt: header } });
4666
+ content.appendChild(image);
4667
+ }
4668
+ else {
4669
+ const fetch = new Fetch({
4670
+ url: getValue('url', imageData.ajaxSettings),
4671
+ type: getValue('type', imageData.ajaxSettings),
4672
+ contentType: getValue('contentType', imageData.ajaxSettings),
4673
+ responseType: getValue('responseType', imageData.ajaxSettings),
4674
+ beforeSend: getValue('beforeSend', imageData.ajaxSettings),
4675
+ onSuccess: (e) => {
4676
+ const blobUrl = URL.createObjectURL(e);
4677
+ const image = createElement('img', { className: 'e-image', attrs: { src: blobUrl, alt: header } });
4678
+ content.appendChild(image);
4679
+ triggerFetchSuccess(parent, imageData.ajaxSettings);
4680
+ },
4681
+ onFailure: (e) => {
4682
+ const result = {
4683
+ error: {
4684
+ code: e.status.toString(),
4685
+ message: getLocaleText(parent, 'Network-Error') + ' ' + getValue('url', imageData.ajaxSettings)
4686
+ }
4687
+ };
4688
+ triggerFetchFailure(parent, imageData.ajaxSettings, result);
4689
+ }
4690
+ });
4691
+ const data = getValue('data', imageData.ajaxSettings);
4692
+ fetch.send(data);
4693
+ }
4593
4694
  if (isNullOrUndefined(parent.viewerObj)) {
4594
4695
  parent.viewerObj = new Dialog({
4595
4696
  header: header,
@@ -4682,6 +4783,8 @@ class LargeIconsView {
4682
4783
  this.isSelectAllCalled = false;
4683
4784
  this.isPasteOperation = false;
4684
4785
  this.isInteracted = true;
4786
+ this.imageEventArgsMap = new Map();
4787
+ this.imageUrlCache = new Map();
4685
4788
  this.parent = parent;
4686
4789
  this.element = select('#' + this.parent.element.id + LARGEICON_ID, this.parent.element);
4687
4790
  addClass([this.element], LARGE_ICONS);
@@ -4753,7 +4856,7 @@ class LargeIconsView {
4753
4856
  groupItemRole: 'group', wrapperRole: ''
4754
4857
  },
4755
4858
  showIcon: true,
4756
- fields: { text: 'name', iconCss: '_fm_icon', imageUrl: '_fm_imageUrl', htmlAttributes: '_fm_htmlAttr' },
4859
+ fields: { text: 'name', iconCss: '_fm_icon', imageUrl: '_fm_imageUrl', imageAttributes: '_fm_imageAttr', htmlAttributes: '_fm_htmlAttr' },
4757
4860
  sortOrder: this.parent.sortOrder,
4758
4861
  itemCreated: this.onItemCreated.bind(this),
4759
4862
  enableHtmlSanitizer: this.parent.enableHtmlSanitizer
@@ -4773,6 +4876,9 @@ class LargeIconsView {
4773
4876
  this.listElements = ListBase.createListFromJson(createElement, this.items, this.listObj);
4774
4877
  this.itemList = Array.prototype.slice.call(selectAll('.' + LIST_ITEM, this.listElements));
4775
4878
  this.element.appendChild(this.listElements);
4879
+ if (this.imageEventArgsMap.size > 0) {
4880
+ this.loadImages();
4881
+ }
4776
4882
  this.listElements.setAttribute('aria-label', 'listbox');
4777
4883
  this.preventImgDrag();
4778
4884
  this.createDragObj();
@@ -4820,6 +4926,50 @@ class LargeIconsView {
4820
4926
  }
4821
4927
  }
4822
4928
  }
4929
+ loadImages() {
4930
+ const imageEle = this.parent.element.querySelectorAll('.e-list-img');
4931
+ imageEle.forEach((imgElement) => {
4932
+ const imageKey = imgElement.getAttribute('data-image-key');
4933
+ if (!imageKey) {
4934
+ return;
4935
+ }
4936
+ if (this.imageUrlCache.has(imageKey)) {
4937
+ imgElement.setAttribute('src', this.imageUrlCache.get(imageKey));
4938
+ imgElement.classList.remove('image-blur');
4939
+ return;
4940
+ }
4941
+ const imageDetails = this.imageEventArgsMap.get(imageKey);
4942
+ if (!imageDetails) {
4943
+ return;
4944
+ }
4945
+ const fetch = new Fetch({
4946
+ url: getValue('url', imageDetails.ajaxSettings),
4947
+ type: getValue('type', imageDetails.ajaxSettings),
4948
+ contentType: getValue('contentType', imageDetails.ajaxSettings),
4949
+ responseType: getValue('responseType', imageDetails.ajaxSettings),
4950
+ beforeSend: getValue('beforeSend', imageDetails.ajaxSettings),
4951
+ onSuccess: (blob) => {
4952
+ const blobUrl = URL.createObjectURL(blob);
4953
+ this.imageUrlCache.set(imageKey, blobUrl);
4954
+ imgElement.setAttribute('src', blobUrl);
4955
+ imgElement.classList.remove('image-blur');
4956
+ triggerFetchSuccess(this.parent, imageDetails.ajaxSettings);
4957
+ },
4958
+ onFailure: (response) => {
4959
+ const result = {
4960
+ files: null,
4961
+ error: {
4962
+ code: response.status ? response.status.toString() : '404',
4963
+ message: getLocaleText(this.parent, 'Network-Error') + ' ' + getValue('url', imageDetails.ajaxSettings),
4964
+ fileExists: null
4965
+ }
4966
+ };
4967
+ triggerFetchFailure(this.parent, imageDetails.ajaxSettings, result);
4968
+ }
4969
+ });
4970
+ fetch.send(getValue('data', imageDetails.ajaxSettings));
4971
+ });
4972
+ }
4823
4973
  comparer(x, y) {
4824
4974
  if (this.parent.sortOrder === 'Descending') {
4825
4975
  const z = x;
@@ -4993,9 +5143,17 @@ class LargeIconsView {
4993
5143
  className += ' ' + getAccessClass(items[i]);
4994
5144
  }
4995
5145
  if (icon === ICON_IMAGE && this.parent.showThumbnail && hasReadAccess(items[i])) {
4996
- const imgUrl = getImageUrl(this.parent, items[i]);
4997
- setValue('_fm_imageUrl', imgUrl, items[i]);
4998
- setValue('_fm_imageAttr', { alt: name }, items[i]);
5146
+ const imageData = getImageUrl(this.parent, items[i]);
5147
+ if (imageData.useImageAsUrl) {
5148
+ setValue('_fm_imageUrl', imageData.imageUrl, items[i]);
5149
+ setValue('_fm_imageAttr', { alt: name }, items[i]);
5150
+ }
5151
+ else {
5152
+ const uniqueKey = `img_${name}_${i}`;
5153
+ this.imageEventArgsMap.set(uniqueKey, imageData);
5154
+ setValue('_fm_imageUrl', '', items[i]);
5155
+ setValue('_fm_imageAttr', { alt: name, class: 'e-list-img image-blur', 'data-image-key': uniqueKey }, items[i]);
5156
+ }
4999
5157
  }
5000
5158
  else {
5001
5159
  setValue('_fm_icon', icon, items[i]);
@@ -5538,8 +5696,8 @@ class LargeIconsView {
5538
5696
  else {
5539
5697
  const icon = fileType(details);
5540
5698
  if (icon === ICON_IMAGE) {
5541
- const imgUrl = getImageUrl(this.parent, details);
5542
- createImageDialog(this.parent, text, imgUrl);
5699
+ const imageData = getImageUrl(this.parent, details);
5700
+ createImageDialog(this.parent, text, imageData);
5543
5701
  }
5544
5702
  }
5545
5703
  }
@@ -11096,7 +11254,8 @@ class DetailsView {
11096
11254
  if (this.parent.layoutSelectedItems.length) {
11097
11255
  this.selectRecords(this.parent.layoutSelectedItems);
11098
11256
  }
11099
- if (this.parent.renamedItem) {
11257
+ if (this.parent.renamedItem && this.parent.selectedItems.length === 0) {
11258
+ this.gridObj.clearSelection();
11100
11259
  this.addSelection(this.parent.renamedItem);
11101
11260
  this.parent.renamedItem = null;
11102
11261
  }
@@ -11344,8 +11503,8 @@ class DetailsView {
11344
11503
  if (getValue('isFile', data)) {
11345
11504
  const icon = fileType(data);
11346
11505
  if (icon === ICON_IMAGE) {
11347
- const imgUrl = getImageUrl(this.parent, data);
11348
- createImageDialog(this.parent, name, imgUrl);
11506
+ const imageData = getImageUrl(this.parent, data);
11507
+ createImageDialog(this.parent, name, imageData);
11349
11508
  }
11350
11509
  }
11351
11510
  else {
@@ -12637,5 +12796,5 @@ class DetailsView {
12637
12796
  }
12638
12797
  }
12639
12798
 
12640
- export { ACTIVE, ALT_DIALOG_ID, AjaxSettings, BLUR, BREADCRUMBBAR_ID, BREADCRUMBS, BreadCrumbBar, CB_WRAP, CHECK, CHECK_SELECT, CLONE, COLLAPSED, CONTENT_ID, CONTEXT_MENU_ID, CONTROL, Column, ContextMenu, ContextMenuSettings, DETAILS_LABEL, DIALOG_ID, DISPLAY_NONE, DROP_FILE, DROP_FOLDER, Delete, DetailsView, DetailsViewSettings, Download, EMPTY, EMPTY_CONTENT, EMPTY_INNER_CONTENT, ERROR_CONTENT, EXTN_DIALOG_ID, FILTER, FOCUS, FOCUSED, FOLDER, FRAME, FULLROW, FileManager, GRID_CONTENT, GRID_HEADER, GRID_ID, GRID_VIEW, GetDetails, HEADER_CHECK, HOVER, ICONS, ICON_BREADCRUMB, ICON_CLEAR, ICON_COLLAPSIBLE, ICON_COPY, ICON_CUT, ICON_DELETE, ICON_DETAILS, ICON_DOWNLOAD, ICON_DROP_IN, ICON_DROP_OUT, ICON_GRID, ICON_IMAGE, ICON_LARGE, ICON_MUSIC, ICON_NEWFOLDER, ICON_NO_DROP, ICON_OPEN, ICON_OPTIONS, ICON_PASTE, ICON_REFRESH, ICON_RENAME, ICON_SELECTALL, ICON_SHORTBY, ICON_UPLOAD, ICON_VIDEO, ICON_VIEW, IMG_DIALOG_ID, LARGEICON_ID, LARGE_EMPTY_FOLDER, LARGE_EMPTY_FOLDER_TWO, LARGE_ICON, LARGE_ICONS, LARGE_ICON_FOLDER, LAYOUT, LAYOUT_CONTENT, LAYOUT_ID, LIST_ITEM, LIST_PARENT, LIST_TEXT, LargeIconsView, MENU_ICON, MENU_ITEM, MOBILE, MOB_POPUP, MULTI_SELECT, NAVIGATION, NAVIGATION_ID, NavigationPane, NavigationPaneSettings, OVERLAY, RETRY_DIALOG_ID, RETRY_ID, ROOT, ROOT_POPUP, ROW, ROWCELL, RTL, SEARCH_ID, SELECTED_ITEMS, SORTBY_ID, SPLITTER_ID, SPLIT_BAR, STATUS, SUBMENU_ICON, Search, SearchSettings, TB_ITEM, TB_OPTION_DOT, TB_OPTION_TICK, TEMPLATE_CELL, TEXT_CONTENT, TOOLBAR_ID, TREE_ID, TREE_VIEW, Toolbar, ToolbarItem, ToolbarSettings, UPLOAD_DIALOG_ID, UPLOAD_ID, UploadSettings, VALUE, VIEW_ID, Virtualization, actionFailure, activeElement, addBlur, afterRequest, beforeDelete, beforeDownload, beforeRequest, clearAllInit, clearPathInit, closePopup, columnArray, copyFiles, createDeniedDialog, createDialog, createEmptyElement, createEnd, createExtDialog, createFolder, createImageDialog, createNewFolder, createVirtualDragElement, cutCopyInit, cutEnd, cutFiles, defaultToolbarItems, deleteEnd, deleteInit, destroy, detailsInit, doDeleteFiles, doDownload, doDownloadFiles, doPasteUpdate, doRename, download, downloadInit, dragCancel, dragEnd, dragHelper, dragStartHandler, dragStopHandler, dragging, draggingHandler, dropHandler, dropInit, dropPath, fileItems, fileType, filter, filterEnd, finalizeEnd, folderItems, generatePath, getAccessClass, getAccessDetails, getAllChildItems, getCssClass, getDirectories, getDirectoryPath, getDuplicateData, getFullPath, getImageUrl, getItemName, getLocaleText, getModule, getName, getObject, getParentPath, getParents, getPath, getPathId, getPathNames, getPathObject, getSortField, getSortedData, getTargetModule, getTargetPath, hasContentAccess, hasDownloadAccess, hasEditAccess, hasReadAccess, hasUploadAccess, hideLayout, hidePaste, initialEnd, isFile, isFileSystemData, layoutChange, layoutItems, layoutRefresh, menuItemData, methodCall, modelChanged, nodeExpand, objectToString, openAction, openEnd, openInit, openSearchFolder, paste, pasteEnd, pasteHandler, pasteInit, pathChanged, pathColumn, pathDrag, permissionCopy, permissionDownload, permissionEdit, permissionEditContents, permissionRead, permissionUpload, read, readDropPath, refresh, refreshEnd, removeActive, removeBlur, removeDropTarget, removeItemClass, rename, renameEnd, renameEndParent, renameInit, resizeEnd, scrollHandler, search, searchTextChange, searchWordHandler, selectAllInit, selectedData, selectionChanged, setDateObject, setNextPath, setNodeId, showPaste, skipUpload, sortByChange, sortColumn, sortComparer, sortbyClickHandler, splitterResize, treeSelect, updateLayout, updatePath, updateRenamingData, updateSelectionData, updateTreeSelection, upload, uploadItem, validateSubFolder };
12799
+ export { ACTIVE, ALT_DIALOG_ID, AjaxSettings, BLUR, BREADCRUMBBAR_ID, BREADCRUMBS, BreadCrumbBar, CB_WRAP, CHECK, CHECK_SELECT, CLONE, COLLAPSED, CONTENT_ID, CONTEXT_MENU_ID, CONTROL, Column, ContextMenu, ContextMenuSettings, DETAILS_LABEL, DIALOG_ID, DISPLAY_NONE, DROP_FILE, DROP_FOLDER, Delete, DetailsView, DetailsViewSettings, Download, EMPTY, EMPTY_CONTENT, EMPTY_INNER_CONTENT, ERROR_CONTENT, EXTN_DIALOG_ID, FILTER, FOCUS, FOCUSED, FOLDER, FRAME, FULLROW, FileManager, GRID_CONTENT, GRID_HEADER, GRID_ID, GRID_VIEW, GetDetails, HEADER_CHECK, HOVER, ICONS, ICON_BREADCRUMB, ICON_CLEAR, ICON_COLLAPSIBLE, ICON_COPY, ICON_CUT, ICON_DELETE, ICON_DETAILS, ICON_DOWNLOAD, ICON_DROP_IN, ICON_DROP_OUT, ICON_GRID, ICON_IMAGE, ICON_LARGE, ICON_MUSIC, ICON_NEWFOLDER, ICON_NO_DROP, ICON_OPEN, ICON_OPTIONS, ICON_PASTE, ICON_REFRESH, ICON_RENAME, ICON_SELECTALL, ICON_SHORTBY, ICON_UPLOAD, ICON_VIDEO, ICON_VIEW, IMG_DIALOG_ID, LARGEICON_ID, LARGE_EMPTY_FOLDER, LARGE_EMPTY_FOLDER_TWO, LARGE_ICON, LARGE_ICONS, LARGE_ICON_FOLDER, LAYOUT, LAYOUT_CONTENT, LAYOUT_ID, LIST_ITEM, LIST_PARENT, LIST_TEXT, LargeIconsView, MENU_ICON, MENU_ITEM, MOBILE, MOB_POPUP, MULTI_SELECT, NAVIGATION, NAVIGATION_ID, NavigationPane, NavigationPaneSettings, OVERLAY, RETRY_DIALOG_ID, RETRY_ID, ROOT, ROOT_POPUP, ROW, ROWCELL, RTL, SEARCH_ID, SELECTED_ITEMS, SORTBY_ID, SPLITTER_ID, SPLIT_BAR, STATUS, SUBMENU_ICON, Search, SearchSettings, TB_ITEM, TB_OPTION_DOT, TB_OPTION_TICK, TEMPLATE_CELL, TEXT_CONTENT, TOOLBAR_ID, TREE_ID, TREE_VIEW, Toolbar, ToolbarItem, ToolbarSettings, UPLOAD_DIALOG_ID, UPLOAD_ID, UploadSettings, VALUE, VIEW_ID, Virtualization, actionFailure, activeElement, addBlur, afterRequest, beforeDelete, beforeDownload, beforeRequest, clearAllInit, clearPathInit, closePopup, columnArray, copyFiles, createDeniedDialog, createDialog, createEmptyElement, createEnd, createExtDialog, createFolder, createImageDialog, createNewFolder, createVirtualDragElement, cutCopyInit, cutEnd, cutFiles, defaultToolbarItems, deleteEnd, deleteInit, destroy, detailsInit, doDeleteFiles, doDownload, doDownloadFiles, doPasteUpdate, doRename, download, downloadInit, dragCancel, dragEnd, dragHelper, dragStartHandler, dragStopHandler, dragging, draggingHandler, dropHandler, dropInit, dropPath, fileItems, fileType, filter, filterEnd, finalizeEnd, folderItems, generatePath, getAccessClass, getAccessDetails, getAllChildItems, getCssClass, getDirectories, getDirectoryPath, getDuplicateData, getFullPath, getImageUrl, getItemName, getLocaleText, getModule, getName, getObject, getParentPath, getParents, getPath, getPathId, getPathNames, getPathObject, getSortField, getSortedData, getTargetModule, getTargetPath, hasContentAccess, hasDownloadAccess, hasEditAccess, hasReadAccess, hasUploadAccess, hideLayout, hidePaste, initialEnd, isFile, isFileSystemData, layoutChange, layoutItems, layoutRefresh, menuItemData, methodCall, modelChanged, nodeExpand, objectToString, openAction, openEnd, openInit, openSearchFolder, paste, pasteEnd, pasteHandler, pasteInit, pathChanged, pathColumn, pathDrag, permissionCopy, permissionDownload, permissionEdit, permissionEditContents, permissionRead, permissionUpload, read, readDropPath, refresh, refreshEnd, removeActive, removeBlur, removeDropTarget, removeItemClass, rename, renameEnd, renameEndParent, renameInit, resizeEnd, scrollHandler, search, searchTextChange, searchWordHandler, selectAllInit, selectedData, selectionChanged, setDateObject, setNextPath, setNodeId, showPaste, skipUpload, sortByChange, sortColumn, sortComparer, sortbyClickHandler, splitterResize, treeSelect, triggerFetchFailure, triggerFetchSuccess, updateLayout, updatePath, updateRenamingData, updateSelectionData, updateTreeSelection, upload, uploadItem, validateSubFolder };
12641
12800
  //# sourceMappingURL=ej2-filemanager.es2015.js.map