@syncfusion/ej2-filemanager 29.2.4 → 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 (163) 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 +181 -20
  6. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  7. package/dist/es6/ej2-filemanager.es5.js +182 -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 +16 -17
  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/layout/navigation-pane.js +2 -0
  93. package/src/file-manager/pop-up/dialog.d.ts +3 -3
  94. package/src/file-manager/pop-up/dialog.js +34 -6
  95. package/styles/bds-lite.css +51 -1
  96. package/styles/bds.css +51 -1
  97. package/styles/bootstrap-dark-lite.css +51 -0
  98. package/styles/bootstrap-dark.css +51 -0
  99. package/styles/bootstrap-lite.css +51 -0
  100. package/styles/bootstrap.css +51 -0
  101. package/styles/bootstrap4-lite.css +51 -0
  102. package/styles/bootstrap4.css +51 -0
  103. package/styles/bootstrap5-dark-lite.css +51 -1
  104. package/styles/bootstrap5-dark.css +51 -1
  105. package/styles/bootstrap5-lite.css +51 -1
  106. package/styles/bootstrap5.3-lite.css +51 -0
  107. package/styles/bootstrap5.3.css +51 -0
  108. package/styles/bootstrap5.css +51 -1
  109. package/styles/fabric-dark-lite.css +51 -0
  110. package/styles/fabric-dark.css +51 -0
  111. package/styles/fabric-lite.css +51 -0
  112. package/styles/fabric.css +51 -0
  113. package/styles/file-manager/_bds-definition.scss +1 -0
  114. package/styles/file-manager/_bootstrap5-definition.scss +1 -0
  115. package/styles/file-manager/_layout.scss +46 -4
  116. package/styles/file-manager/_material3-definition.scss +2 -2
  117. package/styles/file-manager/_tailwind-definition.scss +1 -0
  118. package/styles/file-manager/_tailwind3-definition.scss +1 -0
  119. package/styles/file-manager/bds.css +51 -1
  120. package/styles/file-manager/bootstrap-dark.css +51 -0
  121. package/styles/file-manager/bootstrap.css +51 -0
  122. package/styles/file-manager/bootstrap4.css +51 -0
  123. package/styles/file-manager/bootstrap5-dark.css +51 -1
  124. package/styles/file-manager/bootstrap5.3.css +51 -0
  125. package/styles/file-manager/bootstrap5.css +51 -1
  126. package/styles/file-manager/fabric-dark.css +51 -0
  127. package/styles/file-manager/fabric.css +51 -0
  128. package/styles/file-manager/fluent-dark.css +51 -0
  129. package/styles/file-manager/fluent.css +51 -0
  130. package/styles/file-manager/fluent2.css +51 -0
  131. package/styles/file-manager/highcontrast-light.css +51 -0
  132. package/styles/file-manager/highcontrast.css +51 -0
  133. package/styles/file-manager/material-dark.css +51 -0
  134. package/styles/file-manager/material.css +51 -0
  135. package/styles/file-manager/material3-dark.css +53 -2
  136. package/styles/file-manager/material3.css +53 -2
  137. package/styles/file-manager/tailwind-dark.css +51 -1
  138. package/styles/file-manager/tailwind.css +51 -1
  139. package/styles/file-manager/tailwind3.css +51 -0
  140. package/styles/fluent-dark-lite.css +51 -0
  141. package/styles/fluent-dark.css +51 -0
  142. package/styles/fluent-lite.css +51 -0
  143. package/styles/fluent.css +51 -0
  144. package/styles/fluent2-lite.css +51 -0
  145. package/styles/fluent2.css +51 -0
  146. package/styles/highcontrast-light-lite.css +51 -0
  147. package/styles/highcontrast-light.css +51 -0
  148. package/styles/highcontrast-lite.css +51 -0
  149. package/styles/highcontrast.css +51 -0
  150. package/styles/material-dark-lite.css +51 -0
  151. package/styles/material-dark.css +51 -0
  152. package/styles/material-lite.css +51 -0
  153. package/styles/material.css +51 -0
  154. package/styles/material3-dark-lite.css +51 -0
  155. package/styles/material3-dark.css +53 -2
  156. package/styles/material3-lite.css +51 -0
  157. package/styles/material3.css +53 -2
  158. package/styles/tailwind-dark-lite.css +51 -1
  159. package/styles/tailwind-dark.css +51 -1
  160. package/styles/tailwind-lite.css +51 -1
  161. package/styles/tailwind.css +51 -1
  162. package/styles/tailwind3-lite.css +51 -0
  163. package/styles/tailwind3.css +51 -0
@@ -1349,7 +1349,7 @@ function fileType(file) {
1349
1349
  *
1350
1350
  * @param {IFileManager} parent - specifies the parent element.
1351
1351
  * @param {Object} item - specifies the item.
1352
- * @returns {string} - returns the image url.
1352
+ * @returns {BeforeImageLoadEventArgs} - returns the eventargs.
1353
1353
  * @private
1354
1354
  */
1355
1355
  function getImageUrl(parent, item) {
@@ -1357,10 +1357,11 @@ function getImageUrl(parent, item) {
1357
1357
  if (isFileSystemData(parent)) {
1358
1358
  var eventArgs_1 = {
1359
1359
  fileDetails: [item],
1360
- imageUrl: imgUrl
1360
+ imageUrl: imgUrl,
1361
+ useImageAsUrl: true
1361
1362
  };
1362
1363
  parent.trigger('beforeImageLoad', eventArgs_1);
1363
- return eventArgs_1.imageUrl;
1364
+ return eventArgs_1;
1364
1365
  }
1365
1366
  var baseUrl = parent.ajaxSettings.getImageUrl ? parent.ajaxSettings.getImageUrl : parent.ajaxSettings.url;
1366
1367
  var pathUrl = (baseUrl.indexOf('?') !== -1) ? '&path=' : '?path=';
@@ -1377,12 +1378,25 @@ function getImageUrl(parent, item) {
1377
1378
  imgUrl = baseUrl + pathUrl + parent.path + fileName;
1378
1379
  }
1379
1380
  imgUrl = imgUrl + '&time=' + (new Date().getTime()).toString();
1381
+ var data = { 'action': 'getImage', 'path': parent.path + fileName, 'id': getValue('id', item) };
1382
+ var ajaxSettings = {
1383
+ url: baseUrl,
1384
+ type: 'POST',
1385
+ contentType: 'application/json',
1386
+ responseType: 'blob',
1387
+ data: JSON.stringify(data),
1388
+ onSuccess: null,
1389
+ onFailure: null,
1390
+ beforeSend: null
1391
+ };
1380
1392
  var eventArgs = {
1381
1393
  fileDetails: [item],
1382
- imageUrl: imgUrl
1394
+ imageUrl: imgUrl,
1395
+ useImageAsUrl: true,
1396
+ ajaxSettings: ajaxSettings
1383
1397
  };
1384
1398
  parent.trigger('beforeImageLoad', eventArgs);
1385
- return eventArgs.imageUrl;
1399
+ return eventArgs;
1386
1400
  }
1387
1401
  /* istanbul ignore next */
1388
1402
  /**
@@ -1504,7 +1518,7 @@ function createEmptyElement(parent, element, args) {
1504
1518
  }
1505
1519
  else {
1506
1520
  element.querySelector('.' + EMPTY_CONTENT).innerHTML = getLocaleText(parent, 'Folder-Empty');
1507
- element.querySelector('.' + EMPTY_INNER_CONTENT).innerHTML = getLocaleText(parent, 'File-Upload');
1521
+ element.querySelector('.' + EMPTY_INNER_CONTENT).innerHTML = parent.uploadObj.dropArea == null ? getLocaleText(parent, '') : getLocaleText(parent, 'File-Upload');
1508
1522
  }
1509
1523
  }
1510
1524
  var eDiv = select('.' + EMPTY, element);
@@ -2754,6 +2768,11 @@ function createNewItem(data, target, itemName, isCopy) {
2754
2768
  size: isCopy ? data.size : 0,
2755
2769
  type: isCopy ? data.type : ''
2756
2770
  });
2771
+ if (!isNullOrUndefined(target.filterId)) {
2772
+ Object.assign(newItem, {
2773
+ filterId: target.filterId + target.id + '/'
2774
+ });
2775
+ }
2757
2776
  return newItem;
2758
2777
  }
2759
2778
  /**
@@ -2995,6 +3014,12 @@ function triggerMoveOrCopyOperation(parent, data, eventArgs) {
2995
3014
  }
2996
3015
  fileData.parentId = target_1.id;
2997
3016
  fileData.filterPath = target_1.id === 0 ? '\\' : target_1.filterPath + target_1.name + '\\';
3017
+ if (!isNullOrUndefined(target_1.filterId)) {
3018
+ fileData.filterId = target_1.filterId + target_1.id + '/';
3019
+ }
3020
+ if (!currItem.isFile) {
3021
+ updateMovedItemChildren(parent, fileData);
3022
+ }
2998
3023
  }
2999
3024
  else {
3000
3025
  file_1.push(currItem.name);
@@ -3314,6 +3339,26 @@ function copyFolderItems(parent, data, target, itemName) {
3314
3339
  copyFolderItems(parent, copiedItems[i], newObject, null);
3315
3340
  }
3316
3341
  }
3342
+ /**
3343
+ * Function to move operation.
3344
+ *
3345
+ * @param {IFileManager} parent - specifies the parent element.
3346
+ * @param {Object} itemData - specifies the data.
3347
+ * @returns {void}
3348
+ * @private
3349
+ */
3350
+ function updateMovedItemChildren(parent, itemData) {
3351
+ var childItems = filterByParent(parent, itemData.id);
3352
+ childItems.forEach(function (childItem) {
3353
+ childItem.filterPath = itemData.filterPath + itemData.name + '\\';
3354
+ if (!isNullOrUndefined(itemData.filterId)) {
3355
+ childItem.filterId = itemData.filterId + itemData.id + '/';
3356
+ }
3357
+ if (!childItem.isFile) {
3358
+ updateMovedItemChildren(parent, childItem);
3359
+ }
3360
+ });
3361
+ }
3317
3362
  /**
3318
3363
  * Function for trigger Ajax failure in File Manager.
3319
3364
  *
@@ -3828,6 +3873,34 @@ function handleCatchError(parent, error, action) {
3828
3873
  };
3829
3874
  onFailure(parent, errorResult, action);
3830
3875
  }
3876
+ /**
3877
+ * Function for trigger Fetch success in File Manager.
3878
+ *
3879
+ * @param {IFileManager} parent - specifies the parent element.
3880
+ * @param {Object} ajaxSettings - specifies the ajax settings.
3881
+ * @returns {void}
3882
+ */
3883
+ function triggerFetchSuccess(parent, ajaxSettings) {
3884
+ parent.notify(afterRequest, { action: 'success' });
3885
+ if (ajaxSettings && typeof getValue('onSuccess', ajaxSettings) === 'function') {
3886
+ getValue('onSuccess', ajaxSettings)();
3887
+ }
3888
+ }
3889
+ /**
3890
+ * Function for trigger Fetch failure in File Manager.
3891
+ *
3892
+ * @param {IFileManager} parent - specifies the parent element.
3893
+ * @param {Object} ajaxSettings - specifies the ajax settings.
3894
+ * @param {ReadArgs} result - specifies the result.
3895
+ * @returns {void}
3896
+ */
3897
+ function triggerFetchFailure(parent, ajaxSettings, result) {
3898
+ parent.notify(afterRequest, { action: 'failure' });
3899
+ createDialog(parent, 'Error', result);
3900
+ if (typeof getValue('onFailure', ajaxSettings) === 'function') {
3901
+ getValue('onFailure', ajaxSettings)();
3902
+ }
3903
+ }
3831
3904
 
3832
3905
  /**
3833
3906
  *
@@ -4738,14 +4811,42 @@ function getKeyCode(e) {
4738
4811
  *
4739
4812
  * @param {IFileManager} parent - specifies the parent element.
4740
4813
  * @param {string} header - specifies the header element.
4741
- * @param {string} imageUrl - specifies the image URL.
4814
+ * @param {BeforeImageLoadEventArgs} imageData - specifies the image eventargs.
4742
4815
  * @returns {void}
4743
4816
  * @private
4744
4817
  */
4745
- function createImageDialog(parent, header, imageUrl) {
4818
+ function createImageDialog(parent, header, imageData) {
4746
4819
  var content = createElement('div', { className: 'e-image-wrap' });
4747
- var image = createElement('img', { className: 'e-image', attrs: { src: imageUrl, alt: header } });
4748
- content.appendChild(image);
4820
+ if (imageData.useImageAsUrl) {
4821
+ var image = createElement('img', { className: 'e-image', attrs: { src: imageData.imageUrl, alt: header } });
4822
+ content.appendChild(image);
4823
+ }
4824
+ else {
4825
+ var fetch_1 = new Fetch({
4826
+ url: getValue('url', imageData.ajaxSettings),
4827
+ type: getValue('type', imageData.ajaxSettings),
4828
+ contentType: getValue('contentType', imageData.ajaxSettings),
4829
+ responseType: getValue('responseType', imageData.ajaxSettings),
4830
+ beforeSend: getValue('beforeSend', imageData.ajaxSettings),
4831
+ onSuccess: function (e) {
4832
+ var blobUrl = URL.createObjectURL(e);
4833
+ var image = createElement('img', { className: 'e-image', attrs: { src: blobUrl, alt: header } });
4834
+ content.appendChild(image);
4835
+ triggerFetchSuccess(parent, imageData.ajaxSettings);
4836
+ },
4837
+ onFailure: function (e) {
4838
+ var result = {
4839
+ error: {
4840
+ code: e.status.toString(),
4841
+ message: getLocaleText(parent, 'Network-Error') + ' ' + getValue('url', imageData.ajaxSettings)
4842
+ }
4843
+ };
4844
+ triggerFetchFailure(parent, imageData.ajaxSettings, result);
4845
+ }
4846
+ });
4847
+ var data = getValue('data', imageData.ajaxSettings);
4848
+ fetch_1.send(data);
4849
+ }
4749
4850
  if (isNullOrUndefined(parent.viewerObj)) {
4750
4851
  parent.viewerObj = new Dialog({
4751
4852
  header: header,
@@ -4838,6 +4939,8 @@ var LargeIconsView = /** @__PURE__ @class */ (function () {
4838
4939
  this.isSelectAllCalled = false;
4839
4940
  this.isPasteOperation = false;
4840
4941
  this.isInteracted = true;
4942
+ this.imageEventArgsMap = new Map();
4943
+ this.imageUrlCache = new Map();
4841
4944
  this.parent = parent;
4842
4945
  this.element = select('#' + this.parent.element.id + LARGEICON_ID, this.parent.element);
4843
4946
  addClass([this.element], LARGE_ICONS);
@@ -4909,7 +5012,7 @@ var LargeIconsView = /** @__PURE__ @class */ (function () {
4909
5012
  groupItemRole: 'group', wrapperRole: ''
4910
5013
  },
4911
5014
  showIcon: true,
4912
- fields: { text: 'name', iconCss: '_fm_icon', imageUrl: '_fm_imageUrl', htmlAttributes: '_fm_htmlAttr' },
5015
+ fields: { text: 'name', iconCss: '_fm_icon', imageUrl: '_fm_imageUrl', imageAttributes: '_fm_imageAttr', htmlAttributes: '_fm_htmlAttr' },
4913
5016
  sortOrder: this.parent.sortOrder,
4914
5017
  itemCreated: this.onItemCreated.bind(this),
4915
5018
  enableHtmlSanitizer: this.parent.enableHtmlSanitizer
@@ -4929,6 +5032,9 @@ var LargeIconsView = /** @__PURE__ @class */ (function () {
4929
5032
  this.listElements = ListBase.createListFromJson(createElement, this.items, this.listObj);
4930
5033
  this.itemList = Array.prototype.slice.call(selectAll('.' + LIST_ITEM, this.listElements));
4931
5034
  this.element.appendChild(this.listElements);
5035
+ if (this.imageEventArgsMap.size > 0) {
5036
+ this.loadImages();
5037
+ }
4932
5038
  this.listElements.setAttribute('aria-label', 'listbox');
4933
5039
  this.preventImgDrag();
4934
5040
  this.createDragObj();
@@ -4976,6 +5082,51 @@ var LargeIconsView = /** @__PURE__ @class */ (function () {
4976
5082
  }
4977
5083
  }
4978
5084
  };
5085
+ LargeIconsView.prototype.loadImages = function () {
5086
+ var _this = this;
5087
+ var imageEle = this.parent.element.querySelectorAll('.e-list-img');
5088
+ imageEle.forEach(function (imgElement) {
5089
+ var imageKey = imgElement.getAttribute('data-image-key');
5090
+ if (!imageKey) {
5091
+ return;
5092
+ }
5093
+ if (_this.imageUrlCache.has(imageKey)) {
5094
+ imgElement.setAttribute('src', _this.imageUrlCache.get(imageKey));
5095
+ imgElement.classList.remove('image-blur');
5096
+ return;
5097
+ }
5098
+ var imageDetails = _this.imageEventArgsMap.get(imageKey);
5099
+ if (!imageDetails) {
5100
+ return;
5101
+ }
5102
+ var fetch = new Fetch({
5103
+ url: getValue('url', imageDetails.ajaxSettings),
5104
+ type: getValue('type', imageDetails.ajaxSettings),
5105
+ contentType: getValue('contentType', imageDetails.ajaxSettings),
5106
+ responseType: getValue('responseType', imageDetails.ajaxSettings),
5107
+ beforeSend: getValue('beforeSend', imageDetails.ajaxSettings),
5108
+ onSuccess: function (blob) {
5109
+ var blobUrl = URL.createObjectURL(blob);
5110
+ _this.imageUrlCache.set(imageKey, blobUrl);
5111
+ imgElement.setAttribute('src', blobUrl);
5112
+ imgElement.classList.remove('image-blur');
5113
+ triggerFetchSuccess(_this.parent, imageDetails.ajaxSettings);
5114
+ },
5115
+ onFailure: function (response) {
5116
+ var result = {
5117
+ files: null,
5118
+ error: {
5119
+ code: response.status ? response.status.toString() : '404',
5120
+ message: getLocaleText(_this.parent, 'Network-Error') + ' ' + getValue('url', imageDetails.ajaxSettings),
5121
+ fileExists: null
5122
+ }
5123
+ };
5124
+ triggerFetchFailure(_this.parent, imageDetails.ajaxSettings, result);
5125
+ }
5126
+ });
5127
+ fetch.send(getValue('data', imageDetails.ajaxSettings));
5128
+ });
5129
+ };
4979
5130
  LargeIconsView.prototype.comparer = function (x, y) {
4980
5131
  if (this.parent.sortOrder === 'Descending') {
4981
5132
  var z = x;
@@ -5150,9 +5301,17 @@ var LargeIconsView = /** @__PURE__ @class */ (function () {
5150
5301
  className += ' ' + getAccessClass(items[i]);
5151
5302
  }
5152
5303
  if (icon === ICON_IMAGE && this.parent.showThumbnail && hasReadAccess(items[i])) {
5153
- var imgUrl = getImageUrl(this.parent, items[i]);
5154
- setValue('_fm_imageUrl', imgUrl, items[i]);
5155
- setValue('_fm_imageAttr', { alt: name_1 }, items[i]);
5304
+ var imageData = getImageUrl(this.parent, items[i]);
5305
+ if (imageData.useImageAsUrl) {
5306
+ setValue('_fm_imageUrl', imageData.imageUrl, items[i]);
5307
+ setValue('_fm_imageAttr', { alt: name_1 }, items[i]);
5308
+ }
5309
+ else {
5310
+ var uniqueKey = "img_" + name_1 + "_" + i;
5311
+ this.imageEventArgsMap.set(uniqueKey, imageData);
5312
+ setValue('_fm_imageUrl', '', items[i]);
5313
+ setValue('_fm_imageAttr', { alt: name_1, class: 'e-list-img image-blur', 'data-image-key': uniqueKey }, items[i]);
5314
+ }
5156
5315
  }
5157
5316
  else {
5158
5317
  setValue('_fm_icon', icon, items[i]);
@@ -5698,8 +5857,8 @@ var LargeIconsView = /** @__PURE__ @class */ (function () {
5698
5857
  else {
5699
5858
  var icon = fileType(details_1);
5700
5859
  if (icon === ICON_IMAGE) {
5701
- var imgUrl = getImageUrl(_this.parent, details_1);
5702
- createImageDialog(_this.parent, text, imgUrl);
5860
+ var imageData = getImageUrl(_this.parent, details_1);
5861
+ createImageDialog(_this.parent, text, imageData);
5703
5862
  }
5704
5863
  }
5705
5864
  }
@@ -10226,6 +10385,7 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
10226
10385
  }
10227
10386
  }
10228
10387
  else if (this.previousSelected[0] !== args.node.getAttribute('data-uid')) {
10388
+ this.isSameNodeClicked = true;
10229
10389
  var selecEventArgs = { action: args.action, fileDetails: nodeData[0], isInteracted: this.isNodeClickCalled };
10230
10390
  this.parent.trigger('fileSelect', selecEventArgs);
10231
10391
  }
@@ -10279,6 +10439,7 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
10279
10439
  if (previousPath !== this.parent.path) {
10280
10440
  if (!this.isRightClick && this.isSameNodeClicked) {
10281
10441
  read(this.parent, this.isPathDragged ? pasteEnd : pathChanged, this.parent.path);
10442
+ this.isNodeClickCalled = true;
10282
10443
  }
10283
10444
  this.parent.visitedItem = args.node;
10284
10445
  }
@@ -11305,7 +11466,8 @@ var DetailsView = /** @__PURE__ @class */ (function () {
11305
11466
  if (this.parent.layoutSelectedItems.length) {
11306
11467
  this.selectRecords(this.parent.layoutSelectedItems);
11307
11468
  }
11308
- if (this.parent.renamedItem) {
11469
+ if (this.parent.renamedItem && this.parent.selectedItems.length === 0) {
11470
+ this.gridObj.clearSelection();
11309
11471
  this.addSelection(this.parent.renamedItem);
11310
11472
  this.parent.renamedItem = null;
11311
11473
  }
@@ -11555,8 +11717,8 @@ var DetailsView = /** @__PURE__ @class */ (function () {
11555
11717
  if (getValue('isFile', data)) {
11556
11718
  var icon = fileType(data);
11557
11719
  if (icon === ICON_IMAGE) {
11558
- var imgUrl = getImageUrl(_this.parent, data);
11559
- createImageDialog(_this.parent, name_2, imgUrl);
11720
+ var imageData = getImageUrl(_this.parent, data);
11721
+ createImageDialog(_this.parent, name_2, imageData);
11560
11722
  }
11561
11723
  }
11562
11724
  else {
@@ -12851,5 +13013,5 @@ var DetailsView = /** @__PURE__ @class */ (function () {
12851
13013
  return DetailsView;
12852
13014
  }());
12853
13015
 
12854
- 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 };
13016
+ 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 };
12855
13017
  //# sourceMappingURL=ej2-filemanager.es5.js.map