@syncfusion/ej2-filemanager 20.1.52-10459 → 20.1.52-10460

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 (203) hide show
  1. package/.eslintrc.json +3 -20
  2. package/CHANGELOG.md +410 -0
  3. package/README.md +43 -54
  4. package/dist/ej2-filemanager.umd.min.js +10 -1
  5. package/dist/ej2-filemanager.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-filemanager.es2015.js +659 -2353
  7. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  8. package/dist/es6/ej2-filemanager.es5.js +708 -2421
  9. package/dist/es6/ej2-filemanager.es5.js.map +1 -1
  10. package/dist/global/ej2-filemanager.min.js +10 -1
  11. package/dist/global/ej2-filemanager.min.js.map +1 -1
  12. package/dist/global/index.d.ts +9 -0
  13. package/helpers/e2e/filemanagerHelper.js +166 -183
  14. package/package.json +71 -71
  15. package/src/file-manager/actions/breadcrumb-bar.js +5 -1
  16. package/src/file-manager/actions/index.d.ts +0 -1
  17. package/src/file-manager/actions/index.js +0 -1
  18. package/src/file-manager/actions/toolbar.d.ts +0 -1
  19. package/src/file-manager/actions/toolbar.js +17 -129
  20. package/src/file-manager/base/file-manager-model.d.ts +28 -154
  21. package/src/file-manager/base/file-manager.d.ts +27 -176
  22. package/src/file-manager/base/file-manager.js +28 -244
  23. package/src/file-manager/base/interface.d.ts +3 -329
  24. package/src/file-manager/base/interface.js +1 -0
  25. package/src/file-manager/common/operations.d.ts +0 -7
  26. package/src/file-manager/common/operations.js +185 -830
  27. package/src/file-manager/common/utility.d.ts +3 -46
  28. package/src/file-manager/common/utility.js +73 -249
  29. package/src/file-manager/index.d.ts +0 -1
  30. package/src/file-manager/index.js +0 -1
  31. package/src/file-manager/layout/details-view.d.ts +0 -10
  32. package/src/file-manager/layout/details-view.js +94 -203
  33. package/src/file-manager/layout/large-icons-view.d.ts +2 -4
  34. package/src/file-manager/layout/large-icons-view.js +72 -121
  35. package/src/file-manager/layout/navigation-pane.d.ts +0 -2
  36. package/src/file-manager/layout/navigation-pane.js +73 -97
  37. package/src/file-manager/models/column-model.d.ts +5 -23
  38. package/src/file-manager/models/column.d.ts +2 -21
  39. package/src/file-manager/models/column.js +0 -6
  40. package/src/file-manager/models/default-locale.js +1 -0
  41. package/src/file-manager/models/details-view-settings-model.d.ts +1 -1
  42. package/src/file-manager/models/details-view-settings.js +3 -8
  43. package/src/file-manager/models/search-settings.d.ts +0 -5
  44. package/src/file-manager/models/toolbar-settings-model.d.ts +2 -177
  45. package/src/file-manager/models/toolbar-settings.d.ts +2 -157
  46. package/src/file-manager/models/toolbar-settings.js +2 -64
  47. package/src/file-manager/models/upload-settings-model.d.ts +0 -13
  48. package/src/file-manager/models/upload-settings.d.ts +0 -12
  49. package/src/file-manager/models/upload-settings.js +0 -3
  50. package/src/file-manager/pop-up/context-menu.d.ts +1 -2
  51. package/src/file-manager/pop-up/context-menu.js +36 -111
  52. package/src/file-manager/pop-up/dialog.d.ts +2 -1
  53. package/src/file-manager/pop-up/dialog.js +40 -19
  54. package/src/global.js +1 -1
  55. package/styles/bootstrap-dark.css +665 -371
  56. package/styles/bootstrap-dark.scss +1 -17
  57. package/styles/bootstrap.css +644 -353
  58. package/styles/bootstrap.scss +1 -17
  59. package/styles/bootstrap4.css +680 -381
  60. package/styles/bootstrap4.scss +1 -17
  61. package/styles/bootstrap5-dark.css +694 -376
  62. package/styles/bootstrap5-dark.scss +1 -17
  63. package/styles/bootstrap5.css +695 -377
  64. package/styles/bootstrap5.scss +1 -17
  65. package/styles/fabric-dark.css +642 -358
  66. package/styles/fabric-dark.scss +1 -17
  67. package/styles/fabric.css +641 -357
  68. package/styles/fabric.scss +1 -17
  69. package/styles/file-manager/_all.scss +1 -1
  70. package/styles/file-manager/_bootstrap-dark-definition.scss +2 -6
  71. package/styles/file-manager/_bootstrap-definition.scss +2 -6
  72. package/styles/file-manager/_bootstrap4-definition.scss +2 -6
  73. package/styles/file-manager/_bootstrap5-definition.scss +15 -20
  74. package/styles/file-manager/_fabric-dark-definition.scss +2 -6
  75. package/styles/file-manager/_fabric-definition.scss +2 -6
  76. package/styles/file-manager/_fluent-definition.scss +15 -18
  77. package/styles/file-manager/_highcontrast-definition.scss +2 -6
  78. package/styles/file-manager/_highcontrast-light-definition.scss +2 -6
  79. package/styles/file-manager/_layout.scss +932 -369
  80. package/styles/file-manager/_material-dark-definition.scss +2 -7
  81. package/styles/file-manager/_material-definition.scss +2 -7
  82. package/styles/file-manager/_tailwind-definition.scss +16 -20
  83. package/styles/file-manager/_theme.scss +102 -123
  84. package/styles/file-manager/bootstrap-dark.css +665 -371
  85. package/styles/file-manager/bootstrap-dark.scss +1 -2
  86. package/styles/file-manager/bootstrap.css +644 -353
  87. package/styles/file-manager/bootstrap.scss +1 -2
  88. package/styles/file-manager/bootstrap4.css +680 -381
  89. package/styles/file-manager/bootstrap4.scss +1 -2
  90. package/styles/file-manager/bootstrap5-dark.css +694 -376
  91. package/styles/file-manager/bootstrap5-dark.scss +1 -2
  92. package/styles/file-manager/bootstrap5.css +695 -377
  93. package/styles/file-manager/bootstrap5.scss +1 -2
  94. package/styles/file-manager/fabric-dark.css +642 -358
  95. package/styles/file-manager/fabric-dark.scss +1 -2
  96. package/styles/file-manager/fabric.css +641 -357
  97. package/styles/file-manager/fabric.scss +1 -2
  98. package/styles/file-manager/fluent-dark.css +641 -356
  99. package/styles/file-manager/fluent-dark.scss +1 -2
  100. package/styles/file-manager/fluent.css +640 -355
  101. package/styles/file-manager/fluent.scss +1 -2
  102. package/styles/file-manager/highcontrast-light.css +644 -354
  103. package/styles/file-manager/highcontrast-light.scss +1 -2
  104. package/styles/file-manager/highcontrast.css +647 -377
  105. package/styles/file-manager/highcontrast.scss +1 -2
  106. package/styles/file-manager/icons/_bootstrap.scss +1 -0
  107. package/styles/file-manager/icons/_bootstrap4.scss +1 -0
  108. package/styles/file-manager/icons/_fabric-dark.scss +1 -0
  109. package/styles/file-manager/icons/_fabric.scss +1 -0
  110. package/styles/file-manager/material-dark.css +671 -392
  111. package/styles/file-manager/material-dark.scss +1 -2
  112. package/styles/file-manager/material.css +654 -391
  113. package/styles/file-manager/material.scss +1 -2
  114. package/styles/file-manager/tailwind-dark.css +667 -350
  115. package/styles/file-manager/tailwind-dark.scss +1 -2
  116. package/styles/file-manager/tailwind.css +667 -350
  117. package/styles/file-manager/tailwind.scss +1 -2
  118. package/styles/fluent-dark.css +641 -356
  119. package/styles/fluent-dark.scss +1 -17
  120. package/styles/fluent.css +640 -355
  121. package/styles/fluent.scss +1 -17
  122. package/styles/highcontrast-light.css +644 -354
  123. package/styles/highcontrast-light.scss +1 -17
  124. package/styles/highcontrast.css +647 -377
  125. package/styles/highcontrast.scss +1 -17
  126. package/styles/material-dark.css +671 -392
  127. package/styles/material-dark.scss +1 -17
  128. package/styles/material.css +654 -391
  129. package/styles/material.scss +1 -17
  130. package/styles/tailwind-dark.css +667 -350
  131. package/styles/tailwind-dark.scss +1 -17
  132. package/styles/tailwind.css +667 -350
  133. package/styles/tailwind.scss +1 -17
  134. package/dist/ej2-filemanager.min.js +0 -1
  135. package/src/file-manager/actions/virtualization.d.ts +0 -93
  136. package/src/file-manager/actions/virtualization.js +0 -279
  137. package/styles/bootstrap-dark-lite.css +0 -1058
  138. package/styles/bootstrap-dark-lite.scss +0 -16
  139. package/styles/bootstrap-lite.css +0 -1040
  140. package/styles/bootstrap-lite.scss +0 -16
  141. package/styles/bootstrap4-lite.css +0 -1068
  142. package/styles/bootstrap4-lite.scss +0 -16
  143. package/styles/bootstrap5-dark-lite.css +0 -1078
  144. package/styles/bootstrap5-dark-lite.scss +0 -16
  145. package/styles/bootstrap5-lite.css +0 -1078
  146. package/styles/bootstrap5-lite.scss +0 -16
  147. package/styles/bootstrap5.3-lite.css +0 -1035
  148. package/styles/bootstrap5.3-lite.scss +0 -16
  149. package/styles/bootstrap5.3.css +0 -1603
  150. package/styles/bootstrap5.3.scss +0 -17
  151. package/styles/fabric-dark-lite.css +0 -1039
  152. package/styles/fabric-dark-lite.scss +0 -16
  153. package/styles/fabric-lite.css +0 -1039
  154. package/styles/fabric-lite.scss +0 -16
  155. package/styles/file-manager/_bds-definition.scss +0 -236
  156. package/styles/file-manager/_bigger.scss +0 -758
  157. package/styles/file-manager/_bootstrap5.3-definition.scss +0 -242
  158. package/styles/file-manager/_fluent2-definition.scss +0 -255
  159. package/styles/file-manager/_fusionnew-definition.scss +0 -241
  160. package/styles/file-manager/_material3-dark-definition.scss +0 -1
  161. package/styles/file-manager/_material3-definition.scss +0 -235
  162. package/styles/file-manager/bootstrap5.3.css +0 -1603
  163. package/styles/file-manager/bootstrap5.3.scss +0 -17
  164. package/styles/file-manager/fluent2.css +0 -1886
  165. package/styles/file-manager/fluent2.scss +0 -17
  166. package/styles/file-manager/icons/_bds.scss +0 -235
  167. package/styles/file-manager/icons/_bootstrap5.3.scss +0 -235
  168. package/styles/file-manager/icons/_fluent2.scss +0 -235
  169. package/styles/file-manager/icons/_fusionnew.scss +0 -235
  170. package/styles/file-manager/icons/_material3-dark.scss +0 -1
  171. package/styles/file-manager/icons/_material3.scss +0 -235
  172. package/styles/file-manager/material3-dark.css +0 -1633
  173. package/styles/file-manager/material3-dark.scss +0 -18
  174. package/styles/file-manager/material3.css +0 -1635
  175. package/styles/file-manager/material3.scss +0 -18
  176. package/styles/fluent-dark-lite.css +0 -1037
  177. package/styles/fluent-dark-lite.scss +0 -16
  178. package/styles/fluent-lite.css +0 -1036
  179. package/styles/fluent-lite.scss +0 -16
  180. package/styles/fluent2-lite.css +0 -1272
  181. package/styles/fluent2-lite.scss +0 -16
  182. package/styles/fluent2.css +0 -1886
  183. package/styles/fluent2.scss +0 -17
  184. package/styles/highcontrast-light-lite.css +0 -1039
  185. package/styles/highcontrast-light-lite.scss +0 -16
  186. package/styles/highcontrast-lite.css +0 -1059
  187. package/styles/highcontrast-lite.scss +0 -16
  188. package/styles/material-dark-lite.css +0 -1092
  189. package/styles/material-dark-lite.scss +0 -16
  190. package/styles/material-lite.css +0 -1097
  191. package/styles/material-lite.scss +0 -16
  192. package/styles/material3-dark-lite.css +0 -1090
  193. package/styles/material3-dark-lite.scss +0 -16
  194. package/styles/material3-dark.css +0 -1633
  195. package/styles/material3-dark.scss +0 -19
  196. package/styles/material3-lite.css +0 -1092
  197. package/styles/material3-lite.scss +0 -16
  198. package/styles/material3.css +0 -1635
  199. package/styles/material3.scss +0 -19
  200. package/styles/tailwind-dark-lite.css +0 -1060
  201. package/styles/tailwind-dark-lite.scss +0 -16
  202. package/styles/tailwind-lite.css +0 -1060
  203. package/styles/tailwind-lite.scss +0 -16
@@ -19,7 +19,6 @@ var ContextMenu = /** @class */ (function () {
19
19
  * @hidden
20
20
  */
21
21
  function ContextMenu(parent) {
22
- this.isMenuItemClicked = false;
23
22
  this.currentItems = [];
24
23
  this.currentElement = null;
25
24
  this.disabledItems = [];
@@ -61,46 +60,16 @@ var ContextMenu = /** @class */ (function () {
61
60
  iconSpan.setAttribute('class', CLS.ICON_GRID + ' ' + CLS.MENU_ICON);
62
61
  }
63
62
  };
64
- ContextMenu.prototype.onBeforeClose = function (args) {
65
- var eventArgs = {
66
- cancel: false,
67
- element: args.element,
68
- event: args.event,
69
- isFocused: args.isFocused,
70
- fileDetails: [this.menuItemData],
71
- items: args.items,
72
- parentItem: args.parentItem,
73
- menuType: this.menuType
74
- };
75
- this.parent.trigger('menuClose', eventArgs, function (menuCloseArgs) {
76
- if (menuCloseArgs.cancel) {
77
- args.cancel = menuCloseArgs.cancel;
78
- return;
79
- }
80
- });
63
+ ContextMenu.prototype.onBeforeClose = function () {
81
64
  this.menuTarget = null;
82
- if (!this.isMenuItemClicked && this.parent.pathId.length > 1 && this.parent.activeModule === 'navigationpane') {
83
- this.parent.pathId.pop();
84
- var parentKey = [];
85
- var itemKeys = Object.keys(this.parent.feParent);
86
- for (var _i = 0, itemKeys_1 = itemKeys; _i < itemKeys_1.length; _i++) {
87
- var item = itemKeys_1[_i];
88
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
89
- var itemData = getValue(item, this.parent.feParent);
90
- if (this.parent.pathNames.indexOf(itemData.name) !== -1) {
91
- parentKey.push(itemData._fm_id);
92
- }
93
- }
94
- this.parent.pathId.push(parentKey[parentKey.length - 1]);
95
- this.parent.navigationpaneModule.treeObj.selectedNodes = [this.parent.pathId[this.parent.pathId.length - 1]];
96
- }
97
- this.isMenuItemClicked = false;
98
65
  };
99
66
  /* istanbul ignore next */
100
67
  ContextMenu.prototype.onBeforeOpen = function (args) {
101
68
  var _this = this;
69
+ this.disabledItems = [];
102
70
  var selected = false;
103
71
  var uid;
72
+ // eslint-disable-next-line
104
73
  var data;
105
74
  var treeFolder = false;
106
75
  var target = args.event.target;
@@ -111,9 +80,6 @@ var ContextMenu = /** @class */ (function () {
111
80
  this.menuTarget = this.targetNodeElement = target;
112
81
  }
113
82
  this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr.e-row') : target;
114
- if (this.parent.enableVirtualization && (target.classList.contains('e-virtual-bottom') || target.classList.contains('e-virtualtable'))) {
115
- target = target.parentElement.closest('div');
116
- }
117
83
  var view = this.getTargetView(target);
118
84
  this.updateActiveModule();
119
85
  /* istanbul ignore next */
@@ -121,6 +87,7 @@ var ContextMenu = /** @class */ (function () {
121
87
  (closest(target, '#' + this.parent.element.id + CLS.BREADCRUMBBAR_ID)) ||
122
88
  (closest(target, '#' + this.parent.element.id + CLS.TOOLBAR_ID))) {
123
89
  args.cancel = true;
90
+ // eslint:disable-next-line
124
91
  }
125
92
  else if (!(this.parent.view === 'LargeIcons') && this.targetElement &&
126
93
  this.targetElement.classList.contains('e-emptyrow')) {
@@ -129,33 +96,34 @@ var ContextMenu = /** @class */ (function () {
129
96
  }
130
97
  else if (closest(target, '.' + CLS.EMPTY)) {
131
98
  this.setLayoutItem(target);
99
+ // eslint:disable-next-line
132
100
  }
133
101
  else if (!target.classList.contains(CLS.MENU_ITEM) &&
134
102
  !target.classList.contains(CLS.MENU_ICON) && !target.classList.contains(CLS.SUBMENU_ICON)) {
135
103
  /* istanbul ignore next */
104
+ // eslint:disable-next-line
136
105
  if (this.parent.view === 'LargeIcons' && !isNOU(closest(target, 'li')) && !closest(target, '#' + this.parent.element.id + CLS.TREE_ID)) {
137
106
  var eveArgs = { ctrlKey: true, shiftKey: true };
138
107
  if (!closest(target, 'li').classList.contains('e-active')) {
139
108
  this.parent.largeiconsviewModule.doSelection(target, eveArgs);
140
109
  }
110
+ // eslint-disable-next-line
141
111
  data = this.parent.visitedData;
142
112
  selected = true;
143
113
  }
144
114
  else if (!isNOU(closest(target, 'tr.e-row'))) {
145
115
  uid = this.targetElement.getAttribute('data-uid');
116
+ // eslint-disable-next-line
146
117
  data = this.parent.detailsviewModule.gridObj.getRowObjectFromUID(uid).data;
147
118
  if (isNOU(this.targetElement.getAttribute('aria-selected'))) {
148
119
  /* istanbul ignore next */
149
- this.parent.detailsviewModule.gridObj.selectRows([parseInt(this.targetElement.getAttribute('data-rowindex'), 10)]);
120
+ this.parent.detailsviewModule.gridObj.selectRows([parseInt(this.targetElement.getAttribute('aria-rowindex'), 10)]);
150
121
  }
151
122
  selected = true;
152
123
  /* istanbul ignore next */
153
124
  }
154
125
  else if (closest(target, '#' + this.parent.element.id + CLS.TREE_ID)) {
155
126
  uid = closest(target, 'li').getAttribute('data-uid');
156
- if (!isNOU(uid)) {
157
- this.parent.navigationpaneModule.treeObj.selectedNodes = [uid];
158
- }
159
127
  treeFolder = true;
160
128
  }
161
129
  /* istanbul ignore next */
@@ -173,17 +141,8 @@ var ContextMenu = /** @class */ (function () {
173
141
  if (uid === this.parent.pathId[0]) {
174
142
  this.disabledItems.push('Delete', 'Rename', 'Cut', 'Copy');
175
143
  }
176
- else {
177
- var itemsToRemove = ['Delete', 'Rename', 'Cut', 'Copy'];
178
- for (var i = 0; i < this.disabledItems.length; i++) {
179
- var item = this.disabledItems[i];
180
- if (itemsToRemove.indexOf(item) !== -1) {
181
- this.disabledItems.splice(i, 1);
182
- i--;
183
- }
184
- }
185
- }
186
144
  /* istanbul ignore next */
145
+ // eslint:disable-next-line
187
146
  }
188
147
  else if (view === 'TreeView' || view === 'GridView' || view === 'LargeIcon') {
189
148
  this.setLayoutItem(target);
@@ -196,15 +155,7 @@ var ContextMenu = /** @class */ (function () {
196
155
  var pasteEle = select('#' + this.getMenuId('Paste'), this.contextMenu.element);
197
156
  if (!args.cancel && !this.parent.enablePaste &&
198
157
  pasteEle && !pasteEle.classList.contains('e-disabled')) {
199
- if (this.disabledItems.indexOf('Paste') === -1) {
200
- this.disabledItems.push('Paste');
201
- }
202
- }
203
- else {
204
- var pasteIndex = this.disabledItems.indexOf('Paste');
205
- if (pasteIndex !== -1) {
206
- this.disabledItems.splice(pasteIndex, 1);
207
- }
158
+ this.disabledItems.push('Paste');
208
159
  }
209
160
  if (args.cancel) {
210
161
  this.menuTarget = this.currentElement = null;
@@ -290,46 +241,17 @@ var ContextMenu = /** @class */ (function () {
290
241
  this.contextMenu.items = this.getItemData(this.parent.contextMenuSettings.folder.map(function (item) { return item.trim(); }));
291
242
  this.contextMenu.dataBind();
292
243
  if (isTree) {
293
- var selectedTreeNode = select('[data-uid="' + this.parent.navigationpaneModule.treeObj.selectedNodes[0] + '"]', this.parent.navigationpaneModule.treeObj.element);
294
- if (this.parent.pathNames[this.parent.pathNames.length - 1] === selectedTreeNode.querySelector('.e-list-text').innerHTML && this.parent.activeModule === 'navigationpane') {
295
- this.disabledItems.push('Open');
296
- }
297
- else {
298
- var indexToRemove = this.disabledItems.indexOf('Open');
299
- if (indexToRemove !== -1) {
300
- this.disabledItems.splice(indexToRemove, 1);
301
- }
302
- }
303
- if (this.parent.selectedItems.length === 0) {
304
- var renameIndex = this.disabledItems.indexOf('Rename');
305
- if (renameIndex !== -1) {
306
- this.disabledItems.splice(renameIndex, 1);
307
- }
308
- }
244
+ this.disabledItems.push('Open');
309
245
  }
310
- else if (this.parent.activeModule !== 'navigationpane') {
311
- if (this.parent.selectedItems.length === 1) {
312
- var renameIndex = this.disabledItems.indexOf('Rename');
313
- if (renameIndex !== -1) {
314
- this.disabledItems.splice(renameIndex, 1);
315
- }
316
- }
317
- else {
318
- this.disabledItems.push('Rename', 'Paste');
319
- }
246
+ else if (this.parent.selectedItems.length !== 1) {
247
+ this.disabledItems.push('Rename', 'Paste');
320
248
  }
321
249
  };
322
250
  ContextMenu.prototype.setFileItem = function () {
323
251
  this.menuType = 'file';
324
252
  this.contextMenu.items = this.getItemData(this.parent.contextMenuSettings.file.map(function (item) { return item.trim(); }));
325
253
  this.contextMenu.dataBind();
326
- if (this.parent.selectedItems.length === 1) {
327
- var renameIndex = this.disabledItems.indexOf('Rename');
328
- if (renameIndex !== -1) {
329
- this.disabledItems.splice(renameIndex, 1);
330
- }
331
- }
332
- else {
254
+ if (this.parent.selectedItems.length !== 1) {
333
255
  this.disabledItems.push('Rename');
334
256
  }
335
257
  };
@@ -343,13 +265,8 @@ var ContextMenu = /** @class */ (function () {
343
265
  (closest(target, '#' + this.parent.element.id + CLS.GRID_ID).getElementsByClassName(CLS.EMPTY).length !== 0)))) {
344
266
  this.disabledItems.push('SelectAll');
345
267
  }
346
- else {
347
- this.disabledItems = this.disabledItems.filter(function (item) { return item !== 'SelectAll'; });
348
- }
349
268
  if (this.parent.selectedNodes.length === 0) {
350
- if (this.disabledItems.indexOf('Paste') === -1) {
351
- this.disabledItems.push('Paste');
352
- }
269
+ this.disabledItems.push('Paste');
353
270
  }
354
271
  this.contextMenu.dataBind();
355
272
  };
@@ -364,11 +281,13 @@ var ContextMenu = /** @class */ (function () {
364
281
  return -1;
365
282
  }
366
283
  };
284
+ // eslint-disable-next-line
367
285
  ContextMenu.prototype.getMenuItemData = function () {
368
286
  if (this.menuType === 'layout') {
369
287
  return getPathObject(this.parent);
370
288
  }
371
289
  else {
290
+ // eslint-disable-next-line
372
291
  var args = { target: this.menuTarget };
373
292
  this.parent.notify(events.menuItemData, args);
374
293
  return this.parent.itemData[0];
@@ -381,6 +300,7 @@ var ContextMenu = /** @class */ (function () {
381
300
  return;
382
301
  }
383
302
  var itemText = args.item.id.substr((this.parent.element.id + '_cm_').length);
303
+ // eslint-disable-next-line
384
304
  var details;
385
305
  if (itemText === 'refresh' || itemText === 'newfolder' || itemText === 'upload') {
386
306
  details = [getPathObject(this.parent)];
@@ -404,7 +324,7 @@ var ContextMenu = /** @class */ (function () {
404
324
  this.parent.trigger('menuClick', eventArgs, function (menuClickArgs) {
405
325
  var sItems;
406
326
  if (!menuClickArgs.cancel) {
407
- _this.isMenuItemClicked = true;
327
+ // eslint:disable-next-line
408
328
  switch (itemText) {
409
329
  case 'cut':
410
330
  cutFiles(_this.parent);
@@ -414,12 +334,11 @@ var ContextMenu = /** @class */ (function () {
414
334
  break;
415
335
  case 'paste':
416
336
  if (_this.menuType === 'folder') {
417
- if (_this.parent.activeModule === 'navigationpane') {
418
- _this.parent.navigationpaneModule.openFileOnContextMenuClick(closest(_this.targetNodeElement, 'li'));
419
- _this.parent.folderPath = _this.parent.path;
337
+ if ((_this.parent.activeModule === 'largeiconsview') || (_this.parent.activeModule === 'detailsview')) {
338
+ _this.parent.folderPath = getFullPath(_this.parent, _this.menuItemData, _this.parent.path);
420
339
  }
421
340
  else {
422
- _this.parent.folderPath = getFullPath(_this.parent, _this.menuItemData, _this.parent.path);
341
+ _this.parent.folderPath = '';
423
342
  }
424
343
  }
425
344
  else {
@@ -468,13 +387,10 @@ var ContextMenu = /** @class */ (function () {
468
387
  refresh(_this.parent);
469
388
  break;
470
389
  case 'open':
471
- if (_this.parent.visitedItem && _this.parent.activeModule !== 'navigationpane') {
390
+ if (_this.parent.visitedItem) {
472
391
  _this.parent.notify(events.openInit, { target: _this.parent.visitedItem });
473
392
  }
474
393
  else if (_this.parent.activeModule === 'navigationpane') {
475
- if (_this.parent.visitedItem) {
476
- _this.parent.notify(events.openInit, { target: _this.parent.visitedItem });
477
- }
478
394
  _this.parent.navigationpaneModule.openFileOnContextMenuClick(closest(_this.targetNodeElement, 'li'));
479
395
  }
480
396
  break;
@@ -483,7 +399,6 @@ var ContextMenu = /** @class */ (function () {
483
399
  sItems = _this.parent.selectedItems;
484
400
  if (_this.parent.activeModule === 'navigationpane') {
485
401
  sItems = [];
486
- _this.parent.navigationpaneModule.openFileOnContextMenuClick(closest(_this.targetNodeElement, 'li'));
487
402
  }
488
403
  GetDetails(_this.parent, sItems, _this.parent.path, 'details');
489
404
  break;
@@ -493,10 +408,19 @@ var ContextMenu = /** @class */ (function () {
493
408
  case 'upload':
494
409
  uploadItem(_this.parent);
495
410
  break;
411
+ /* istanbul ignore next */
496
412
  case 'name':
413
+ /* istanbul ignore next */
414
+ // eslint-disable-next-line no-fallthrough
497
415
  case 'size':
416
+ /* istanbul ignore next */
417
+ // eslint-disable-next-line no-fallthrough
498
418
  case 'date':
419
+ /* istanbul ignore next */
420
+ // eslint-disable-next-line no-fallthrough
499
421
  case 'ascending':
422
+ /* istanbul ignore next */
423
+ // eslint-disable-next-line no-fallthrough
500
424
  case 'descending':
501
425
  /* istanbul ignore next */
502
426
  sortbyClickHandler(_this.parent, args);
@@ -507,10 +431,12 @@ var ContextMenu = /** @class */ (function () {
507
431
  sortbyClickHandler(_this.parent, args);
508
432
  break;
509
433
  /* istanbul ignore next */
434
+ // eslint:disable-next-line
510
435
  case 'largeiconsview':
511
436
  updateLayout(_this.parent, 'LargeIcons');
512
437
  break;
513
438
  /* istanbul ignore next */
439
+ // eslint:disable-next-line
514
440
  case 'detailsview':
515
441
  updateLayout(_this.parent, 'Details');
516
442
  break;
@@ -568,7 +494,6 @@ var ContextMenu = /** @class */ (function () {
568
494
  }
569
495
  this.removeEventListener();
570
496
  this.contextMenu.destroy();
571
- this.targetElement = null;
572
497
  };
573
498
  /* istanbul ignore next */
574
499
  ContextMenu.prototype.getItemData = function (data) {
@@ -676,7 +601,7 @@ var ContextMenu = /** @class */ (function () {
676
601
  return items;
677
602
  };
678
603
  ContextMenu.prototype.getMenuId = function (id) {
679
- return this.parent.element.id + '_cm_' + id.split(' ').join('').toLowerCase();
604
+ return this.parent.element.id + '_cm_' + id.toLowerCase();
680
605
  };
681
606
  return ContextMenu;
682
607
  }());
@@ -6,10 +6,11 @@ import { SelectedEventArgs } from '@syncfusion/ej2-inputs';
6
6
  * @param {string} text - specifies the text string.
7
7
  * @param {ReadArgs | SelectedEventArgs} e - specifies the type of event args.
8
8
  * @param {FileDetails} details - specifies the file details.
9
+ * @param {string[]} replaceItems - specifies the replacement.
9
10
  * @returns {void}
10
11
  * @private
11
12
  */
12
- export declare function createDialog(parent: IFileManager, text: string, e?: ReadArgs | SelectedEventArgs, details?: FileDetails): void;
13
+ export declare function createDialog(parent: IFileManager, text: string, e?: ReadArgs | SelectedEventArgs, details?: FileDetails, replaceItems?: string[]): void;
13
14
  /**
14
15
  *
15
16
  * @param {IFileManager} parent - Specifies the parent element.
@@ -5,20 +5,22 @@ import { createFolder } from '../common/operations';
5
5
  import * as CLS from '../base/classes';
6
6
  import * as events from '../base/constant';
7
7
  import { paste, rename } from '../common/operations';
8
- import { getLocaleText, getDuplicateData, objectToString, getCssClass } from '../common/utility';
8
+ import { getLocaleText, getDuplicateData, getParentPath, objectToString, getCssClass } from '../common/utility';
9
9
  import { Input } from '@syncfusion/ej2-inputs';
10
10
  import { CheckBox } from '@syncfusion/ej2-buttons';
11
+ // eslint:disable-next-line
11
12
  /**
12
13
  *
13
14
  * @param {IFileManager} parent - Specifies the parent element
14
15
  * @param {string} text - specifies the text string.
15
16
  * @param {ReadArgs | SelectedEventArgs} e - specifies the type of event args.
16
17
  * @param {FileDetails} details - specifies the file details.
18
+ * @param {string[]} replaceItems - specifies the replacement.
17
19
  * @returns {void}
18
20
  * @private
19
21
  */
20
- export function createDialog(parent, text, e, details) {
21
- var options = getOptions(parent, text, e, details);
22
+ export function createDialog(parent, text, e, details, replaceItems) {
23
+ var options = getOptions(parent, text, e, details, replaceItems);
22
24
  if (isNOU(parent.dialogObj)) {
23
25
  parent.dialogObj = new Dialog({
24
26
  beforeOpen: keydownAction.bind(this, parent, options.dialogName),
@@ -166,6 +168,7 @@ function triggerPopupClose(parent, dlgModule, dialogName) {
166
168
  var args = { popupModule: dlgModule, element: dlgModule.element, popupName: dialogName };
167
169
  parent.trigger('popupClose', args);
168
170
  }
171
+ // eslint:disable-next-line
169
172
  /**
170
173
  *
171
174
  * @param {IFileManager} parent - Specifies the parent element.
@@ -385,6 +388,7 @@ function retryDlgClose(parent) {
385
388
  * @returns {void}
386
389
  * @private
387
390
  */
391
+ // eslint-disable-next-line
388
392
  function onRetryOpen(parent, args) {
389
393
  parent.isRetryOpened = true;
390
394
  var dialogEle = getValue('element', args);
@@ -533,16 +537,19 @@ function createInput(ele, placeholder) {
533
537
  }
534
538
  });
535
539
  }
540
+ /* istanbul ignore next */
541
+ // eslint:disable-next-line
536
542
  /**
537
543
  *
538
544
  * @param {IFileManager} parent - specifies the parent element.
539
545
  * @param {string} text - specifies the text string.
540
546
  * @param {ReadArgs | SelectedEventArgs} e - specifies the event arguements.
541
547
  * @param {FileDetails} details - specifies the file details.
548
+ * @param {string[]} replaceItems - specifies the replacement items.
542
549
  * @returns {DialogOptions} - specifies the dialog options.
543
550
  * @private
544
551
  */
545
- function getOptions(parent, text, e, details) {
552
+ function getOptions(parent, text, e, details, replaceItems) {
546
553
  var options = {
547
554
  header: '', content: '', buttons: [], dialogName: ''
548
555
  };
@@ -555,7 +562,6 @@ function getOptions(parent, text, e, details) {
555
562
  options.open = function () { triggerPopupOpen(parent, parent.dialogObj, options.dialogName); };
556
563
  options.close = function () { triggerPopupClose(parent, parent.dialogObj, options.dialogName); };
557
564
  text = (details && details.multipleFiles === true) ? 'MultipleFileDetails' : text;
558
- var index;
559
565
  switch (text) {
560
566
  case 'NewFolder':
561
567
  options.dialogName = 'Create Folder';
@@ -588,7 +594,7 @@ function getOptions(parent, text, e, details) {
588
594
  options.buttons = [
589
595
  {
590
596
  buttonModel: { isPrimary: true, content: getLocaleText(parent, 'Button-Yes') },
591
- click: function () {
597
+ click: function (e) {
592
598
  onDeleteSubmit(parent);
593
599
  }
594
600
  },
@@ -640,7 +646,7 @@ function getOptions(parent, text, e, details) {
640
646
  options.buttons = [
641
647
  {
642
648
  buttonModel: { isPrimary: true, content: getLocaleText(parent, 'Button-Ok') },
643
- click: function () {
649
+ click: function (e) {
644
650
  parent.dialogObj.hide();
645
651
  }
646
652
  }
@@ -648,16 +654,10 @@ function getOptions(parent, text, e, details) {
648
654
  break;
649
655
  case 'MultipleFileDetails':
650
656
  options.dialogName = 'File Details';
651
- strArr = parent.itemData.map(function (val) {
652
- index = val.name.indexOf('.') + 1;
653
- return (index === 0 && (!val.isFile)) ? 'Folder' : ((index !== 0) ? val.name.substr(index).replace(' ', '') : 'undetermined');
657
+ strArr = details.name.split(',').map(function (val) {
658
+ var index = val.indexOf('.') + 1;
659
+ return (index === 0) ? 'Folder' : val.substr(index).replace(' ', '');
654
660
  });
655
- if (strArr[0] === undefined) {
656
- strArr = details.name.split(',').map(function (val) {
657
- index = val.indexOf('.') + 1;
658
- return (index === 0) ? 'Folder' : val.substr(index).replace(' ', '');
659
- });
660
- }
661
661
  fileType = strArr.every(function (val, i, arr) { return val === arr[0]; }) ?
662
662
  ((strArr[0] === 'Folder') ? 'Folder' : strArr[0].toLocaleUpperCase() + ' Type') : 'Multiple Types';
663
663
  location = details.location;
@@ -695,7 +695,7 @@ function getOptions(parent, text, e, details) {
695
695
  options.buttons = [
696
696
  {
697
697
  buttonModel: { isPrimary: true, content: getLocaleText(parent, 'Button-Ok') },
698
- click: function () {
698
+ click: function (e) {
699
699
  parent.dialogObj.hide();
700
700
  }
701
701
  }
@@ -753,6 +753,27 @@ function preventKeydown(btnElement) {
753
753
  _loop_1(btnCount);
754
754
  }
755
755
  }
756
+ /* istanbul ignore next */
757
+ /**
758
+ *
759
+ * @param {SelectedEventArgs} data - specifies the data.
760
+ * @returns {HTMLElement} - returns the HTML element.
761
+ * @private
762
+ */
763
+ function getFilesName(data) {
764
+ var parent = createElement('div', { id: 'uploadDialog' });
765
+ var ulElement = createElement('ul');
766
+ var filesData = data.isModified ? data.modifiedFilesData : data.filesData;
767
+ for (var fileCount = 0; fileCount < filesData.length; fileCount++) {
768
+ var liElement = createElement('li', { className: 'dialogFiles' });
769
+ liElement.innerHTML = filesData[fileCount].name;
770
+ ulElement.appendChild(liElement);
771
+ }
772
+ parent.appendChild(ulElement);
773
+ var errorTag = createElement('div', { className: 'e-fe-error' });
774
+ parent.appendChild(errorTag);
775
+ return parent;
776
+ }
756
777
  /**
757
778
  *
758
779
  * @param {IFileManager} parent - specifies the parent element.
@@ -812,7 +833,7 @@ function onReSubmit(parent) {
812
833
  parent.dialogObj.hide();
813
834
  return;
814
835
  }
815
- var newPath = (parent.activeModule === 'navigationpane') ? getValue('filterPath', parent.itemData[0]).replace(/\\/g, '/') : parent.path;
836
+ var newPath = (parent.activeModule === 'navigationpane') ? getParentPath(parent.path) : parent.path;
816
837
  parent.renamedId = getValue('id', parent.itemData[0]);
817
838
  if (parent.isFile) {
818
839
  var oldExtension = (oIndex === -1) ? '' : parent.currentItemText.substr(oIndex);
@@ -868,7 +889,7 @@ function onSubmitValidate(parent, ele) {
868
889
  onValidate(parent, ele);
869
890
  var len = ele.value.length - 1;
870
891
  if (ele.value !== '' && ((ele.value.lastIndexOf('.') === len) || (ele.value.lastIndexOf(' ') === len)) &&
871
- (parent.showFileExtension || (ele.value.lastIndexOf('.') === -1 || ele.value.substring(ele.value.indexOf('.') + 1).length === 0))) {
892
+ (parent.showFileExtension || (parent.currentItemText.lastIndexOf('.') === -1))) {
872
893
  addInvalid(parent, ele);
873
894
  }
874
895
  }
package/src/global.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import * as index from './index';
2
- index.FileManager.Inject(index.DetailsView, index.NavigationPane, index.LargeIconsView, index.Toolbar, index.ContextMenu, index.BreadCrumbBar, index.Virtualization);
2
+ index.FileManager.Inject(index.DetailsView, index.NavigationPane, index.LargeIconsView, index.Toolbar, index.ContextMenu, index.BreadCrumbBar);
3
3
  export * from './index';