@syncfusion/ej2-filemanager 25.2.6 → 26.1.35

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 (104) hide show
  1. package/.eslintrc.json +3 -2
  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 +914 -462
  6. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  7. package/dist/es6/ej2-filemanager.es5.js +958 -515
  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/package.json +16 -16
  13. package/src/file-manager/actions/breadcrumb-bar.js +0 -4
  14. package/src/file-manager/actions/toolbar.js +1 -13
  15. package/src/file-manager/actions/virtualization.d.ts +28 -8
  16. package/src/file-manager/actions/virtualization.js +36 -13
  17. package/src/file-manager/base/file-manager-model.d.ts +107 -36
  18. package/src/file-manager/base/file-manager.d.ts +100 -25
  19. package/src/file-manager/base/file-manager.js +46 -20
  20. package/src/file-manager/base/interface.d.ts +224 -2
  21. package/src/file-manager/base/interface.js +0 -1
  22. package/src/file-manager/common/operations.d.ts +7 -0
  23. package/src/file-manager/common/operations.js +596 -94
  24. package/src/file-manager/common/utility.d.ts +22 -0
  25. package/src/file-manager/common/utility.js +117 -65
  26. package/src/file-manager/layout/details-view.d.ts +1 -1
  27. package/src/file-manager/layout/details-view.js +23 -68
  28. package/src/file-manager/layout/large-icons-view.js +24 -46
  29. package/src/file-manager/layout/navigation-pane.js +18 -41
  30. package/src/file-manager/models/column-model.d.ts +1 -3
  31. package/src/file-manager/models/default-locale.js +0 -1
  32. package/src/file-manager/models/details-view-settings.js +2 -1
  33. package/src/file-manager/pop-up/context-menu.js +9 -24
  34. package/src/file-manager/pop-up/dialog.d.ts +1 -2
  35. package/src/file-manager/pop-up/dialog.js +12 -35
  36. package/styles/bootstrap-dark.css +116 -105
  37. package/styles/bootstrap-dark.scss +16 -1
  38. package/styles/bootstrap.css +117 -106
  39. package/styles/bootstrap.scss +16 -1
  40. package/styles/bootstrap4.css +116 -105
  41. package/styles/bootstrap4.scss +16 -1
  42. package/styles/bootstrap5-dark.css +98 -98
  43. package/styles/bootstrap5-dark.scss +16 -1
  44. package/styles/bootstrap5.css +98 -98
  45. package/styles/bootstrap5.scss +16 -1
  46. package/styles/fabric-dark.css +116 -105
  47. package/styles/fabric-dark.scss +16 -1
  48. package/styles/fabric.css +116 -105
  49. package/styles/fabric.scss +16 -1
  50. package/styles/file-manager/_bds-definition.scss +1 -1
  51. package/styles/file-manager/_bootstrap5-definition.scss +2 -1
  52. package/styles/file-manager/_bootstrap5.3-definition.scss +240 -0
  53. package/styles/file-manager/_fluent-definition.scss +1 -1
  54. package/styles/file-manager/_fluent2-definition.scss +249 -0
  55. package/styles/file-manager/_layout.scss +255 -396
  56. package/styles/file-manager/_material-dark-definition.scss +1 -0
  57. package/styles/file-manager/_material-definition.scss +1 -0
  58. package/styles/file-manager/_material3-definition.scss +1 -27
  59. package/styles/file-manager/_tailwind-definition.scss +1 -1
  60. package/styles/file-manager/_theme.scss +37 -85
  61. package/styles/file-manager/bootstrap-dark.css +116 -105
  62. package/styles/file-manager/bootstrap.css +117 -106
  63. package/styles/file-manager/bootstrap4.css +116 -105
  64. package/styles/file-manager/bootstrap5-dark.css +98 -98
  65. package/styles/file-manager/bootstrap5.css +98 -98
  66. package/styles/file-manager/fabric-dark.css +116 -105
  67. package/styles/file-manager/fabric.css +116 -105
  68. package/styles/file-manager/fluent-dark.css +107 -102
  69. package/styles/file-manager/fluent.css +107 -102
  70. package/styles/file-manager/fluent2.css +2872 -0
  71. package/styles/file-manager/fluent2.scss +16 -0
  72. package/styles/file-manager/highcontrast-light.css +116 -105
  73. package/styles/file-manager/highcontrast.css +116 -105
  74. package/styles/file-manager/icons/_bootstrap5.3.scss +235 -0
  75. package/styles/file-manager/icons/_fluent2.scss +235 -0
  76. package/styles/file-manager/material-dark.css +140 -108
  77. package/styles/file-manager/material.css +156 -112
  78. package/styles/file-manager/material3-dark.css +134 -109
  79. package/styles/file-manager/material3.css +134 -109
  80. package/styles/file-manager/tailwind-dark.css +93 -95
  81. package/styles/file-manager/tailwind.css +93 -95
  82. package/styles/fluent-dark.css +107 -102
  83. package/styles/fluent-dark.scss +16 -1
  84. package/styles/fluent.css +107 -102
  85. package/styles/fluent.scss +16 -1
  86. package/styles/fluent2.css +2872 -0
  87. package/styles/fluent2.scss +16 -0
  88. package/styles/highcontrast-light.css +116 -105
  89. package/styles/highcontrast-light.scss +16 -1
  90. package/styles/highcontrast.css +116 -105
  91. package/styles/highcontrast.scss +16 -1
  92. package/styles/material-dark.css +140 -108
  93. package/styles/material-dark.scss +16 -1
  94. package/styles/material.css +156 -112
  95. package/styles/material.scss +16 -1
  96. package/styles/material3-dark.css +134 -109
  97. package/styles/material3-dark.scss +16 -1
  98. package/styles/material3.css +134 -109
  99. package/styles/material3.scss +16 -1
  100. package/styles/tailwind-dark.css +93 -95
  101. package/styles/tailwind-dark.scss +16 -1
  102. package/styles/tailwind.css +93 -95
  103. package/styles/tailwind.scss +16 -1
  104. package/CHANGELOG.md +0 -475
@@ -63,12 +63,13 @@ var ContextMenu = /** @class */ (function () {
63
63
  };
64
64
  ContextMenu.prototype.onBeforeClose = function () {
65
65
  this.menuTarget = null;
66
- if (!this.isMenuItemClicked && this.parent.pathId.length > 1 && this.parent.activeModule == 'navigationpane') {
66
+ if (!this.isMenuItemClicked && this.parent.pathId.length > 1 && this.parent.activeModule === 'navigationpane') {
67
67
  this.parent.pathId.pop();
68
68
  var parentKey = [];
69
69
  var itemKeys = Object.keys(this.parent.feParent);
70
70
  for (var _i = 0, itemKeys_1 = itemKeys; _i < itemKeys_1.length; _i++) {
71
71
  var item = itemKeys_1[_i];
72
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
73
  var itemData = getValue(item, this.parent.feParent);
73
74
  if (this.parent.pathNames.indexOf(itemData.name) !== -1) {
74
75
  parentKey.push(itemData._fm_id);
@@ -84,7 +85,6 @@ var ContextMenu = /** @class */ (function () {
84
85
  var _this = this;
85
86
  var selected = false;
86
87
  var uid;
87
- // eslint-disable-next-line
88
88
  var data;
89
89
  var treeFolder = false;
90
90
  var target = args.event.target;
@@ -96,7 +96,7 @@ var ContextMenu = /** @class */ (function () {
96
96
  }
97
97
  this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr.e-row') : target;
98
98
  if (this.parent.enableVirtualization && (target.classList.contains('e-virtual-bottom') || target.classList.contains('e-virtualtable'))) {
99
- target = target.parentElement.closest("div");
99
+ target = target.parentElement.closest('div');
100
100
  }
101
101
  var view = this.getTargetView(target);
102
102
  this.updateActiveModule();
@@ -105,7 +105,6 @@ var ContextMenu = /** @class */ (function () {
105
105
  (closest(target, '#' + this.parent.element.id + CLS.BREADCRUMBBAR_ID)) ||
106
106
  (closest(target, '#' + this.parent.element.id + CLS.TOOLBAR_ID))) {
107
107
  args.cancel = true;
108
- // eslint:disable-next-line
109
108
  }
110
109
  else if (!(this.parent.view === 'LargeIcons') && this.targetElement &&
111
110
  this.targetElement.classList.contains('e-emptyrow')) {
@@ -114,24 +113,20 @@ var ContextMenu = /** @class */ (function () {
114
113
  }
115
114
  else if (closest(target, '.' + CLS.EMPTY)) {
116
115
  this.setLayoutItem(target);
117
- // eslint:disable-next-line
118
116
  }
119
117
  else if (!target.classList.contains(CLS.MENU_ITEM) &&
120
118
  !target.classList.contains(CLS.MENU_ICON) && !target.classList.contains(CLS.SUBMENU_ICON)) {
121
119
  /* istanbul ignore next */
122
- // eslint:disable-next-line
123
120
  if (this.parent.view === 'LargeIcons' && !isNOU(closest(target, 'li')) && !closest(target, '#' + this.parent.element.id + CLS.TREE_ID)) {
124
121
  var eveArgs = { ctrlKey: true, shiftKey: true };
125
122
  if (!closest(target, 'li').classList.contains('e-active')) {
126
123
  this.parent.largeiconsviewModule.doSelection(target, eveArgs);
127
124
  }
128
- // eslint-disable-next-line
129
125
  data = this.parent.visitedData;
130
126
  selected = true;
131
127
  }
132
128
  else if (!isNOU(closest(target, 'tr.e-row'))) {
133
129
  uid = this.targetElement.getAttribute('data-uid');
134
- // eslint-disable-next-line
135
130
  data = this.parent.detailsviewModule.gridObj.getRowObjectFromUID(uid).data;
136
131
  if (isNOU(this.targetElement.getAttribute('aria-selected'))) {
137
132
  /* istanbul ignore next */
@@ -160,7 +155,6 @@ var ContextMenu = /** @class */ (function () {
160
155
  this.disabledItems.push('Delete', 'Rename', 'Cut', 'Copy');
161
156
  }
162
157
  /* istanbul ignore next */
163
- // eslint:disable-next-line
164
158
  }
165
159
  else if (view === 'TreeView' || view === 'GridView' || view === 'LargeIcon') {
166
160
  this.setLayoutItem(target);
@@ -271,6 +265,12 @@ var ContextMenu = /** @class */ (function () {
271
265
  if (this.parent.pathNames[this.parent.pathNames.length - 1] === selectedTreeNode.querySelector('.e-list-text').innerHTML && this.parent.activeModule === 'navigationpane') {
272
266
  this.disabledItems.push('Open');
273
267
  }
268
+ if (this.parent.selectedItems.length === 0) {
269
+ var renameIndex = this.disabledItems.indexOf('Rename');
270
+ if (renameIndex !== -1) {
271
+ this.disabledItems.splice(renameIndex, 1);
272
+ }
273
+ }
274
274
  }
275
275
  else if (this.parent.activeModule !== 'navigationpane') {
276
276
  if (this.parent.selectedItems.length === 1) {
@@ -329,13 +329,11 @@ var ContextMenu = /** @class */ (function () {
329
329
  return -1;
330
330
  }
331
331
  };
332
- // eslint-disable-next-line
333
332
  ContextMenu.prototype.getMenuItemData = function () {
334
333
  if (this.menuType === 'layout') {
335
334
  return getPathObject(this.parent);
336
335
  }
337
336
  else {
338
- // eslint-disable-next-line
339
337
  var args = { target: this.menuTarget };
340
338
  this.parent.notify(events.menuItemData, args);
341
339
  return this.parent.itemData[0];
@@ -348,7 +346,6 @@ var ContextMenu = /** @class */ (function () {
348
346
  return;
349
347
  }
350
348
  var itemText = args.item.id.substr((this.parent.element.id + '_cm_').length);
351
- // eslint-disable-next-line
352
349
  var details;
353
350
  if (itemText === 'refresh' || itemText === 'newfolder' || itemText === 'upload') {
354
351
  details = [getPathObject(this.parent)];
@@ -373,7 +370,6 @@ var ContextMenu = /** @class */ (function () {
373
370
  var sItems;
374
371
  if (!menuClickArgs.cancel) {
375
372
  _this.isMenuItemClicked = true;
376
- // eslint:disable-next-line
377
373
  switch (itemText) {
378
374
  case 'cut':
379
375
  cutFiles(_this.parent);
@@ -461,19 +457,10 @@ var ContextMenu = /** @class */ (function () {
461
457
  case 'upload':
462
458
  uploadItem(_this.parent);
463
459
  break;
464
- /* istanbul ignore next */
465
460
  case 'name':
466
- /* istanbul ignore next */
467
- // eslint-disable-next-line no-fallthrough
468
461
  case 'size':
469
- /* istanbul ignore next */
470
- // eslint-disable-next-line no-fallthrough
471
462
  case 'date':
472
- /* istanbul ignore next */
473
- // eslint-disable-next-line no-fallthrough
474
463
  case 'ascending':
475
- /* istanbul ignore next */
476
- // eslint-disable-next-line no-fallthrough
477
464
  case 'descending':
478
465
  /* istanbul ignore next */
479
466
  sortbyClickHandler(_this.parent, args);
@@ -484,12 +471,10 @@ var ContextMenu = /** @class */ (function () {
484
471
  sortbyClickHandler(_this.parent, args);
485
472
  break;
486
473
  /* istanbul ignore next */
487
- // eslint:disable-next-line
488
474
  case 'largeiconsview':
489
475
  updateLayout(_this.parent, 'LargeIcons');
490
476
  break;
491
477
  /* istanbul ignore next */
492
- // eslint:disable-next-line
493
478
  case 'detailsview':
494
479
  updateLayout(_this.parent, 'Details');
495
480
  break;
@@ -6,11 +6,10 @@ 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.
10
9
  * @returns {void}
11
10
  * @private
12
11
  */
13
- export declare function createDialog(parent: IFileManager, text: string, e?: ReadArgs | SelectedEventArgs, details?: FileDetails, replaceItems?: string[]): void;
12
+ export declare function createDialog(parent: IFileManager, text: string, e?: ReadArgs | SelectedEventArgs, details?: FileDetails): void;
14
13
  /**
15
14
  *
16
15
  * @param {IFileManager} parent - Specifies the parent element.
@@ -14,12 +14,11 @@ import { CheckBox } from '@syncfusion/ej2-buttons';
14
14
  * @param {string} text - specifies the text string.
15
15
  * @param {ReadArgs | SelectedEventArgs} e - specifies the type of event args.
16
16
  * @param {FileDetails} details - specifies the file details.
17
- * @param {string[]} replaceItems - specifies the replacement.
18
17
  * @returns {void}
19
18
  * @private
20
19
  */
21
- export function createDialog(parent, text, e, details, replaceItems) {
22
- var options = getOptions(parent, text, e, details, replaceItems);
20
+ export function createDialog(parent, text, e, details) {
21
+ var options = getOptions(parent, text, e, details);
23
22
  if (isNOU(parent.dialogObj)) {
24
23
  parent.dialogObj = new Dialog({
25
24
  beforeOpen: keydownAction.bind(this, parent, options.dialogName),
@@ -540,11 +539,10 @@ function createInput(ele, placeholder) {
540
539
  * @param {string} text - specifies the text string.
541
540
  * @param {ReadArgs | SelectedEventArgs} e - specifies the event arguements.
542
541
  * @param {FileDetails} details - specifies the file details.
543
- * @param {string[]} replaceItems - specifies the replacement items.
544
542
  * @returns {DialogOptions} - specifies the dialog options.
545
543
  * @private
546
544
  */
547
- function getOptions(parent, text, e, details, replaceItems) {
545
+ function getOptions(parent, text, e, details) {
548
546
  var options = {
549
547
  header: '', content: '', buttons: [], dialogName: ''
550
548
  };
@@ -557,6 +555,7 @@ function getOptions(parent, text, e, details, replaceItems) {
557
555
  options.open = function () { triggerPopupOpen(parent, parent.dialogObj, options.dialogName); };
558
556
  options.close = function () { triggerPopupClose(parent, parent.dialogObj, options.dialogName); };
559
557
  text = (details && details.multipleFiles === true) ? 'MultipleFileDetails' : text;
558
+ var index;
560
559
  switch (text) {
561
560
  case 'NewFolder':
562
561
  options.dialogName = 'Create Folder';
@@ -589,7 +588,7 @@ function getOptions(parent, text, e, details, replaceItems) {
589
588
  options.buttons = [
590
589
  {
591
590
  buttonModel: { isPrimary: true, content: getLocaleText(parent, 'Button-Yes') },
592
- click: function (e) {
591
+ click: function () {
593
592
  onDeleteSubmit(parent);
594
593
  }
595
594
  },
@@ -641,23 +640,22 @@ function getOptions(parent, text, e, details, replaceItems) {
641
640
  options.buttons = [
642
641
  {
643
642
  buttonModel: { isPrimary: true, content: getLocaleText(parent, 'Button-Ok') },
644
- click: function (e) {
643
+ click: function () {
645
644
  parent.dialogObj.hide();
646
645
  }
647
646
  }
648
647
  ];
649
648
  break;
650
649
  case 'MultipleFileDetails':
651
- var index_1;
652
650
  options.dialogName = 'File Details';
653
651
  strArr = parent.itemData.map(function (val) {
654
- index_1 = val.name.indexOf('.') + 1;
655
- return (index_1 === 0 && (!val.isFile)) ? 'Folder' : ((index_1 !== 0) ? val.name.substr(index_1).replace(' ', '') : 'undetermined');
652
+ index = val.name.indexOf('.') + 1;
653
+ return (index === 0 && (!val.isFile)) ? 'Folder' : ((index !== 0) ? val.name.substr(index).replace(' ', '') : 'undetermined');
656
654
  });
657
- if (strArr[0] == undefined) {
655
+ if (strArr[0] === undefined) {
658
656
  strArr = details.name.split(',').map(function (val) {
659
- index_1 = val.indexOf('.') + 1;
660
- return (index_1 === 0) ? 'Folder' : val.substr(index_1).replace(' ', '');
657
+ index = val.indexOf('.') + 1;
658
+ return (index === 0) ? 'Folder' : val.substr(index).replace(' ', '');
661
659
  });
662
660
  }
663
661
  fileType = strArr.every(function (val, i, arr) { return val === arr[0]; }) ?
@@ -697,7 +695,7 @@ function getOptions(parent, text, e, details, replaceItems) {
697
695
  options.buttons = [
698
696
  {
699
697
  buttonModel: { isPrimary: true, content: getLocaleText(parent, 'Button-Ok') },
700
- click: function (e) {
698
+ click: function () {
701
699
  parent.dialogObj.hide();
702
700
  }
703
701
  }
@@ -755,27 +753,6 @@ function preventKeydown(btnElement) {
755
753
  _loop_1(btnCount);
756
754
  }
757
755
  }
758
- /* istanbul ignore next */
759
- /**
760
- *
761
- * @param {SelectedEventArgs} data - specifies the data.
762
- * @returns {HTMLElement} - returns the HTML element.
763
- * @private
764
- */
765
- function getFilesName(data) {
766
- var parent = createElement('div', { id: 'uploadDialog' });
767
- var ulElement = createElement('ul');
768
- var filesData = data.isModified ? data.modifiedFilesData : data.filesData;
769
- for (var fileCount = 0; fileCount < filesData.length; fileCount++) {
770
- var liElement = createElement('li', { className: 'dialogFiles' });
771
- liElement.innerHTML = filesData[fileCount].name;
772
- ulElement.appendChild(liElement);
773
- }
774
- parent.appendChild(ulElement);
775
- var errorTag = createElement('div', { className: 'e-fe-error' });
776
- parent.appendChild(errorTag);
777
- return parent;
778
- }
779
756
  /**
780
757
  *
781
758
  * @param {IFileManager} parent - specifies the parent element.