@syncfusion/ej2-filemanager 25.2.6 → 26.1.40

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 +931 -462
  6. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  7. package/dist/es6/ej2-filemanager.es5.js +975 -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 +37 -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 +25 -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 +260 -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 +2868 -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 +2868 -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
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 25.2.6
3
+ * version : 26.1.40
4
4
  * Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-filemanager@*",
3
- "_id": "@syncfusion/ej2-filemanager@25.2.3",
3
+ "_id": "@syncfusion/ej2-filemanager@26.1.35",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-wbhlKTpkiOC2S6h43jyWCRIeq9fJAfDQA8+FkPVQ8+rmnsXQtLy4NK4GDPf33e5IjHvXOm4gaUscBfvLOzzyTg==",
5
+ "_integrity": "sha512-Kz+p1X25H0dKm6Pl5oI9TFsx9JX0p6DnhqRzo4rDGDPWoC7WwvIsgC0kuqSsL0PF3UHamOSo+ulM72s/oVBbqQ==",
6
6
  "_location": "/@syncfusion/ej2-filemanager",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -24,10 +24,10 @@
24
24
  "/@syncfusion/ej2-richtexteditor",
25
25
  "/@syncfusion/ej2-vue-filemanager"
26
26
  ],
27
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-filemanager/-/ej2-filemanager-25.2.3.tgz",
28
- "_shasum": "6fb5c7d751cf143bdafc5fbe5444a73931041097",
27
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-filemanager/-/ej2-filemanager-26.1.35.tgz",
28
+ "_shasum": "8ebc88cab205114720fc33d2282657d71f0a3066",
29
29
  "_spec": "@syncfusion/ej2-filemanager@*",
30
- "_where": "/jenkins/workspace/elease-automation_release_25.1.1/packages/included",
30
+ "_where": "/jenkins/workspace/elease-automation_release_26.1.1/packages/included",
31
31
  "author": {
32
32
  "name": "Syncfusion Inc."
33
33
  },
@@ -36,16 +36,16 @@
36
36
  },
37
37
  "bundleDependencies": false,
38
38
  "dependencies": {
39
- "@syncfusion/ej2-base": "~25.2.5",
40
- "@syncfusion/ej2-buttons": "~25.2.6",
41
- "@syncfusion/ej2-data": "~25.2.3",
42
- "@syncfusion/ej2-grids": "~25.2.6",
43
- "@syncfusion/ej2-inputs": "~25.2.6",
44
- "@syncfusion/ej2-layouts": "~25.2.3",
45
- "@syncfusion/ej2-lists": "~25.2.3",
46
- "@syncfusion/ej2-navigations": "~25.2.6",
47
- "@syncfusion/ej2-popups": "~25.2.6",
48
- "@syncfusion/ej2-splitbuttons": "~25.2.4"
39
+ "@syncfusion/ej2-base": "~26.1.37",
40
+ "@syncfusion/ej2-buttons": "~26.1.40",
41
+ "@syncfusion/ej2-data": "~26.1.40",
42
+ "@syncfusion/ej2-grids": "~26.1.40",
43
+ "@syncfusion/ej2-inputs": "~26.1.40",
44
+ "@syncfusion/ej2-layouts": "~26.1.38",
45
+ "@syncfusion/ej2-lists": "~26.1.35",
46
+ "@syncfusion/ej2-navigations": "~26.1.40",
47
+ "@syncfusion/ej2-popups": "~26.1.38",
48
+ "@syncfusion/ej2-splitbuttons": "~26.1.35"
49
49
  },
50
50
  "deprecated": false,
51
51
  "description": "Essential JS 2 FileManager Component",
@@ -75,6 +75,6 @@
75
75
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
76
76
  },
77
77
  "typings": "index.d.ts",
78
- "version": "25.2.6",
78
+ "version": "26.1.40",
79
79
  "sideEffects": false
80
80
  }
@@ -156,7 +156,6 @@ var BreadCrumbBar = /** @class */ (function () {
156
156
  breadCrumbBarWidth = diff;
157
157
  }
158
158
  else {
159
- // eslint-disable-next-line
160
159
  var items = [];
161
160
  for (var j = 0; j <= i; j++) {
162
161
  var liElement = liElements[j];
@@ -166,7 +165,6 @@ var BreadCrumbBar = /** @class */ (function () {
166
165
  });
167
166
  }
168
167
  var subMenuLi = this.parent.createElement('li', { className: 'e-breadcrumb-menu' });
169
- // eslint-disable-next-line
170
168
  var attributes = { className: 'e-breadcrumb-submenu' };
171
169
  var subMenuSpan = this.parent.createElement('button', attributes);
172
170
  subMenuLi.appendChild(subMenuSpan);
@@ -207,7 +205,6 @@ var BreadCrumbBar = /** @class */ (function () {
207
205
  };
208
206
  /* istanbul ignore next */
209
207
  BreadCrumbBar.prototype.subMenuSelectOperations = function (event) {
210
- // eslint-disable-next-line
211
208
  var args = { target: event.element };
212
209
  this.addressPathClickHandler(args);
213
210
  };
@@ -255,7 +252,6 @@ var BreadCrumbBar = /** @class */ (function () {
255
252
  }
256
253
  }
257
254
  };
258
- // eslint-disable-next-line
259
255
  BreadCrumbBar.prototype.triggerFileOpen = function (data) {
260
256
  var eventArgs = { cancel: false, fileDetails: data, module: 'BreadCrumbBar' };
261
257
  delete eventArgs.cancel;
@@ -1,14 +1,3 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
13
2
  import { Toolbar as BaseToolbar } from '@syncfusion/ej2-navigations';
14
3
  import { select, isNullOrUndefined as isNOU, closest, selectAll } from '@syncfusion/ej2-base';
@@ -86,7 +75,6 @@ var Toolbar = /** @class */ (function () {
86
75
  return;
87
76
  }
88
77
  var tool = args.item.id.substr((this.parent.element.id + '_tb_').length);
89
- // eslint-disable-next-line
90
78
  var details;
91
79
  if (tool === 'refresh' || tool === 'newfolder' || tool === 'upload') {
92
80
  details = [getPathObject(this.parent)];
@@ -389,7 +377,7 @@ var Toolbar = /** @class */ (function () {
389
377
  break;
390
378
  }
391
379
  if (this.parent.toolbarItems.length > 0 && propItem) {
392
- var mergedItems = __assign({}, item, propItem);
380
+ var mergedItems = Object.assign({}, item, propItem);
393
381
  items.push(mergedItems);
394
382
  }
395
383
  else {
@@ -19,44 +19,62 @@ export declare class Virtualization {
19
19
  private listDiff;
20
20
  /**
21
21
  * Sets up UI virtualization for the large icon view.
22
+ *
23
+ * @returns {void}
22
24
  */
23
25
  setUIVirtualization(): void;
24
26
  /**
25
27
  * Sets the height of the top and bottom elements that are used for virtualization.
26
28
  * These elements are used to give the appearance of an infinitely scrolling list.
29
+ *
30
+ * @returns {void}
27
31
  */
28
32
  setUlElementHeight(): void;
29
33
  /**
30
34
  * Calculates the number of items to display in the list based on the available width and height.
31
- * @param dataSourceLength The length of the data source.
32
- * @returns The number of items to display.
35
+ *
36
+ * @param {number} dataSourceLength The length of the data source.
37
+ * @returns {number} The number of items to display.
33
38
  */
34
39
  private getItemCount;
35
40
  /**
36
41
  * Wires or un wires the scroll event for the list element.
37
- * @param destroy - Set `true` to unwire the scroll event.
42
+ *
43
+ * @param {boolean} destroy - Set `true` to unwire the scroll event.
44
+ * @returns {void}
38
45
  */
39
46
  wireScrollEvent(destroy: boolean): void;
40
47
  /**
41
48
  * Handles the scroll event for the list element.
42
49
  * This method updates the top and bottom elements and the displayed items based on the scroll position.
50
+ *
51
+ * @returns {void}
52
+ * @private
43
53
  */
44
54
  private onVirtualUiScroll;
45
55
  /**
46
56
  * Calculates the current scroll position of the list element.
47
- * @param startingHeight The starting height from which to calculate the scroll position.
48
- * @returns The current scroll position.
57
+ *
58
+ * @param {number} startingHeight The starting height from which to calculate the scroll position.
59
+ * @returns {number} The current scroll position.
60
+ * @private
49
61
  */
50
62
  private getscrollerHeight;
51
63
  /**
52
64
  * This method updates the displayed items and the selection based on the scroll direction.
53
- * @param listDiff The number of rows to update.
54
- * @param isScrollingDown If set to true, the scroll direction is downward.
65
+ *
66
+ * @param {number} listDiff The number of rows to update.
67
+ * @param {boolean} isScrollingDown If set to true, the scroll direction is downward.
68
+ * @returns {void}
69
+ * @private
55
70
  */
56
71
  private onNormalScroll;
57
72
  /**
58
73
  * Updates the items in the large icons view.
59
- * @param isScrollingDown If set to true, the scroll direction is downward.
74
+ *
75
+ * @param {boolean} isScrollingDown - If set to true, the scroll direction is downward.
76
+ * @returns {void}
77
+ * @private
60
78
  */
61
79
  private updateUI;
62
80
  /**
@@ -68,6 +86,8 @@ export declare class Virtualization {
68
86
  private getModuleName;
69
87
  /**
70
88
  * Destroys the component.
89
+ *
90
+ * @returns {void}
71
91
  */
72
92
  destroy(): void;
73
93
  }
@@ -9,6 +9,8 @@ var Virtualization = /** @class */ (function () {
9
9
  }
10
10
  /**
11
11
  * Sets up UI virtualization for the large icon view.
12
+ *
13
+ * @returns {void}
12
14
  */
13
15
  Virtualization.prototype.setUIVirtualization = function () {
14
16
  // Get the current view data source
@@ -34,6 +36,8 @@ var Virtualization = /** @class */ (function () {
34
36
  /**
35
37
  * Sets the height of the top and bottom elements that are used for virtualization.
36
38
  * These elements are used to give the appearance of an infinitely scrolling list.
39
+ *
40
+ * @returns {void}
37
41
  */
38
42
  Virtualization.prototype.setUlElementHeight = function () {
39
43
  // Calculate the number of items in the last row
@@ -41,10 +45,10 @@ var Virtualization = /** @class */ (function () {
41
45
  (this.largeIconInstance.allItems.length - this.itemCount) % this.rowItemCount : this.rowItemCount;
42
46
  // Create top and bottom elements
43
47
  this.topElement = this.filemanagerInstance.createElement('div');
44
- this.topElement.classList.add("e-virtual-top");
48
+ this.topElement.classList.add('e-virtual-top');
45
49
  this.largeIconInstance.element.firstElementChild.insertBefore(this.topElement, this.largeIconInstance.element.firstElementChild.firstChild);
46
50
  this.bottomElement = this.filemanagerInstance.createElement('div');
47
- this.bottomElement.classList.add("e-virtual-bottom");
51
+ this.bottomElement.classList.add('e-virtual-bottom');
48
52
  this.largeIconInstance.element.firstElementChild.insertBefore(this.bottomElement, null);
49
53
  // Get the margin value for list items
50
54
  var marginValue = parseInt(window.getComputedStyle(this.largeIconInstance.itemList[0]).getPropertyValue('margin-top'), 10) +
@@ -66,17 +70,21 @@ var Virtualization = /** @class */ (function () {
66
70
  };
67
71
  /**
68
72
  * Calculates the number of items to display in the list based on the available width and height.
69
- * @param dataSourceLength The length of the data source.
70
- * @returns The number of items to display.
73
+ *
74
+ * @param {number} dataSourceLength The length of the data source.
75
+ * @returns {number} The number of items to display.
71
76
  */
72
77
  Virtualization.prototype.getItemCount = function (dataSourceLength) {
73
78
  // Get the margin values for list items
74
79
  var widthMargin = parseInt(window.getComputedStyle(this.itemList[0]).getPropertyValue('margin-right'), 10) +
75
80
  parseInt(window.getComputedStyle(this.itemList[0]).getPropertyValue('margin-left'), 10);
76
81
  // Calculate the number of items that can fit in a single row
77
- this.rowItemCount = Math.floor(parseFloat(formatUnit(this.largeIconInstance.element.firstElementChild.clientWidth)) / (this.itemList[0].offsetWidth + widthMargin));
82
+ this.rowItemCount =
83
+ Math.floor(parseFloat(formatUnit(this.largeIconInstance.element.firstElementChild.clientWidth)) /
84
+ (this.itemList[0].offsetWidth + widthMargin));
78
85
  // Calculate the number of items that can fit in the available height
79
- var itemCount = this.rowItemCount * (Math.round(parseFloat(formatUnit(this.largeIconInstance.element.clientHeight)) / this.itemList[0].offsetHeight));
86
+ var itemCount = this.rowItemCount *
87
+ (Math.round(parseFloat(formatUnit(this.largeIconInstance.element.clientHeight)) / this.itemList[0].offsetHeight));
80
88
  // If the calculated item count is greater than the data source length, set the item count to the data source length
81
89
  if (itemCount > dataSourceLength) {
82
90
  itemCount = dataSourceLength;
@@ -85,7 +93,9 @@ var Virtualization = /** @class */ (function () {
85
93
  };
86
94
  /**
87
95
  * Wires or un wires the scroll event for the list element.
88
- * @param destroy - Set `true` to unwire the scroll event.
96
+ *
97
+ * @param {boolean} destroy - Set `true` to unwire the scroll event.
98
+ * @returns {void}
89
99
  */
90
100
  Virtualization.prototype.wireScrollEvent = function (destroy) {
91
101
  if (!destroy) {
@@ -100,6 +110,9 @@ var Virtualization = /** @class */ (function () {
100
110
  /**
101
111
  * Handles the scroll event for the list element.
102
112
  * This method updates the top and bottom elements and the displayed items based on the scroll position.
113
+ *
114
+ * @returns {void}
115
+ * @private
103
116
  */
104
117
  Virtualization.prototype.onVirtualUiScroll = function () {
105
118
  var _a;
@@ -137,14 +150,17 @@ var Virtualization = /** @class */ (function () {
137
150
  this.scrollPosition = scroll;
138
151
  // Update the list of items and the items property of the largeIconInstance
139
152
  this.largeIconInstance.itemList = Array.prototype.slice.call(selectAll('.' + CLS.LIST_ITEM, this.largeIconInstance.element));
140
- this.itemCount = this.itemCount != this.largeIconInstance.itemList.length ? this.largeIconInstance.itemList.length : this.itemCount;
153
+ this.itemCount = this.itemCount !== this.largeIconInstance.itemList.length ?
154
+ this.largeIconInstance.itemList.length : this.itemCount;
141
155
  this.largeIconInstance.items = this.largeIconInstance.allItems.slice(this.renderedCount -
142
156
  this.itemCount, this.renderedCount);
143
157
  };
144
158
  /**
145
159
  * Calculates the current scroll position of the list element.
146
- * @param startingHeight The starting height from which to calculate the scroll position.
147
- * @returns The current scroll position.
160
+ *
161
+ * @param {number} startingHeight The starting height from which to calculate the scroll position.
162
+ * @returns {number} The current scroll position.
163
+ * @private
148
164
  */
149
165
  Virtualization.prototype.getscrollerHeight = function (startingHeight) {
150
166
  // If the scroll position is less than or equal to the starting height, return 0.
@@ -154,8 +170,11 @@ var Virtualization = /** @class */ (function () {
154
170
  };
155
171
  /**
156
172
  * This method updates the displayed items and the selection based on the scroll direction.
157
- * @param listDiff The number of rows to update.
158
- * @param isScrollingDown If set to true, the scroll direction is downward.
173
+ *
174
+ * @param {number} listDiff The number of rows to update.
175
+ * @param {boolean} isScrollingDown If set to true, the scroll direction is downward.
176
+ * @returns {void}
177
+ * @private
159
178
  */
160
179
  Virtualization.prototype.onNormalScroll = function (listDiff, isScrollingDown) {
161
180
  // Update the displayed items
@@ -165,7 +184,10 @@ var Virtualization = /** @class */ (function () {
165
184
  };
166
185
  /**
167
186
  * Updates the items in the large icons view.
168
- * @param isScrollingDown If set to true, the scroll direction is downward.
187
+ *
188
+ * @param {boolean} isScrollingDown - If set to true, the scroll direction is downward.
189
+ * @returns {void}
190
+ * @private
169
191
  */
170
192
  Virtualization.prototype.updateUI = function (isScrollingDown) {
171
193
  var _this = this;
@@ -239,6 +261,8 @@ var Virtualization = /** @class */ (function () {
239
261
  };
240
262
  /**
241
263
  * Destroys the component.
264
+ *
265
+ * @returns {void}
242
266
  */
243
267
  Virtualization.prototype.destroy = function () {
244
268
  // If the file manager has already been destroyed, return immediately
@@ -1,4 +1,4 @@
1
- import { Component, EmitType, ModuleDeclaration, isNullOrUndefined, L10n, closest, Collection } from '@syncfusion/ej2-base';import { Property, INotifyPropertyChanged, NotifyPropertyChanges, Complex, select } from '@syncfusion/ej2-base';import { createElement, addClass, removeClass, setStyleAttribute as setAttr, getUniqueID } from '@syncfusion/ej2-base';import { isNullOrUndefined as isNOU, formatUnit, Browser, KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Event, EventHandler, getValue, setValue } from '@syncfusion/ej2-base';import { Splitter, PanePropertiesModel } from '@syncfusion/ej2-layouts';import { Dialog, createSpinner, hideSpinner, showSpinner, BeforeOpenEventArgs, BeforeCloseEventArgs } from '@syncfusion/ej2-popups';import { createDialog, createExtDialog } from '../pop-up/dialog';import { ToolbarSettings, ToolbarSettingsModel, AjaxSettings, NavigationPaneSettings, DetailsViewSettings } from '../models/index';import { ToolbarItem, ToolbarItemModel } from'../models/index' ;import { NavigationPaneSettingsModel, DetailsViewSettingsModel } from '../models/index';import { AjaxSettingsModel, SearchSettings, SearchSettingsModel } from '../models/index';import { Toolbar } from '../actions/toolbar';import { DetailsView } from '../layout/details-view';import { LargeIconsView } from '../layout/large-icons-view';import { Uploader, UploadingEventArgs, SelectedEventArgs, FileInfo, CancelEventArgs } from '@syncfusion/ej2-inputs';import { UploadSettingsModel } from '../models/upload-settings-model';import { UploadSettings } from '../models/upload-settings';import * as events from './constant';import * as CLS from './classes';import { read, filter, createFolder } from '../common/operations';import { ITreeView, IContextMenu, ViewType, SortOrder, FileDragEventArgs, RetryArgs, ReadArgs, FileSelectionEventArgs } from './interface';import { BeforeSendEventArgs, SuccessEventArgs, FailureEventArgs, FileLoadEventArgs } from './interface';import { FileOpenEventArgs, FileSelectEventArgs, MenuClickEventArgs, MenuOpenEventArgs } from './interface';import { ToolbarClickEventArgs, ToolbarCreateEventArgs, UploadListCreateArgs } from './interface';import { PopupOpenCloseEventArgs, BeforePopupOpenCloseEventArgs, BeforeDownloadEventArgs, BeforeImageLoadEventArgs } from './interface';import { refresh, getPathObject, getLocaleText, setNextPath, createDeniedDialog, getCssClass } from '../common/utility';import { hasContentAccess, hasUploadAccess, updateLayout, createNewFolder, uploadItem } from '../common/utility';import { TreeView as BaseTreeView } from '@syncfusion/ej2-navigations';import { ContextMenuSettingsModel } from '../models/contextMenu-settings-model';import { ContextMenuSettings } from '../models/contextMenu-settings';import { BreadCrumbBar } from '../actions/breadcrumb-bar';import { ContextMenu } from '../pop-up/context-menu';import { defaultLocale } from '../models/default-locale';import { PositionModel } from '@syncfusion/ej2-base/src/draggable-model';import { Virtualization } from '../actions/virtualization';import { SortComparer } from './interface';
1
+ import { Component, EmitType, ModuleDeclaration, isNullOrUndefined, L10n, closest, Collection } from '@syncfusion/ej2-base';import { Property, INotifyPropertyChanged, NotifyPropertyChanges, Complex, select } from '@syncfusion/ej2-base';import { createElement, addClass, removeClass, setStyleAttribute as setAttr, getUniqueID } from '@syncfusion/ej2-base';import { isNullOrUndefined as isNOU, formatUnit, Browser, KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Event, EventHandler, getValue, setValue } from '@syncfusion/ej2-base';import { Splitter, PanePropertiesModel } from '@syncfusion/ej2-layouts';import { Dialog, createSpinner, hideSpinner, showSpinner, BeforeOpenEventArgs, BeforeCloseEventArgs } from '@syncfusion/ej2-popups';import { createDialog, createExtDialog } from '../pop-up/dialog';import { ToolbarSettings, ToolbarSettingsModel, AjaxSettings, NavigationPaneSettings, DetailsViewSettings } from '../models/index';import { ToolbarItem, ToolbarItemModel } from'../models/index' ;import { NavigationPaneSettingsModel, DetailsViewSettingsModel } from '../models/index';import { AjaxSettingsModel, SearchSettings, SearchSettingsModel } from '../models/index';import { Toolbar } from '../actions/toolbar';import { DetailsView } from '../layout/details-view';import { LargeIconsView } from '../layout/large-icons-view';import { Uploader, UploadingEventArgs, SelectedEventArgs, FileInfo, CancelEventArgs } from '@syncfusion/ej2-inputs';import { UploadSettingsModel } from '../models/upload-settings-model';import { UploadSettings } from '../models/upload-settings';import * as events from './constant';import * as CLS from './classes';import { read, filter, createFolder } from '../common/operations';import { ITreeView, IContextMenu, ViewType, SortOrder, FileDragEventArgs, RetryArgs, ReadArgs, FileSelectionEventArgs } from './interface';import { BeforeSendEventArgs, SuccessEventArgs, FailureEventArgs, FileLoadEventArgs, FolderCreateEventArgs, DeleteEventArgs, RenameEventArgs, MoveEventArgs, SearchEventArgs } from './interface';import { FileOpenEventArgs, FileSelectEventArgs, MenuClickEventArgs, MenuOpenEventArgs } from './interface';import { ToolbarClickEventArgs, ToolbarCreateEventArgs, UploadListCreateArgs } from './interface';import { PopupOpenCloseEventArgs, BeforePopupOpenCloseEventArgs, BeforeDownloadEventArgs, BeforeImageLoadEventArgs } from './interface';import { refresh, getPathObject, getLocaleText, setNextPath, createDeniedDialog, getCssClass } from '../common/utility';import { hasContentAccess, hasUploadAccess, updateLayout, createNewFolder, uploadItem, closePopup } from '../common/utility';import { TreeView as BaseTreeView } from '@syncfusion/ej2-navigations';import { ContextMenuSettingsModel } from '../models/contextMenu-settings-model';import { ContextMenuSettings } from '../models/contextMenu-settings';import { BreadCrumbBar } from '../actions/breadcrumb-bar';import { ContextMenu } from '../pop-up/context-menu';import { defaultLocale } from '../models/default-locale';import { PositionModel } from '@syncfusion/ej2-base/src/draggable-model';import { Virtualization } from '../actions/virtualization';import { SortComparer } from './interface';
2
2
  import {ComponentModel} from '@syncfusion/ej2-base';
3
3
 
4
4
  /**
@@ -18,6 +18,15 @@ export interface FileManagerModel extends ComponentModel{
18
18
  */
19
19
  ajaxSettings?: AjaxSettingsModel;
20
20
 
21
+ /**
22
+ * Specifies the array of data to populate folders/files in the File Manager.
23
+ * The mandatory fields to be included in the JSON data are defined in fileData interface.
24
+ * This interface can be extended to add additional fields as required.
25
+ *
26
+ * @default []
27
+ */
28
+ fileSystemData?: { [key: string]: Object }[];
29
+
21
30
  /**
22
31
  * Enables or disables drag-and-drop of files.
23
32
  *
@@ -211,7 +220,7 @@ export interface FileManagerModel extends ComponentModel{
211
220
  * The sort comparer function has the same functionality like
212
221
  * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
213
222
  * This can be used to customize the default sorting functionalities with required comparison values.
214
- *
223
+ *
215
224
  * @default null
216
225
  * @aspType string
217
226
  */
@@ -229,15 +238,15 @@ export interface FileManagerModel extends ComponentModel{
229
238
  toolbarSettings?: ToolbarSettingsModel;
230
239
 
231
240
  /**
232
- * An array of items that are used to configure File Manager toolbar items.
233
- *
234
- * @remarks
241
+ * An array of items that are used to configure File Manager toolbar items.
242
+ *
243
+ * @remarks
235
244
  * Use this property if you want to include custom toolbar items along with existing toolbar items. If both `toolbarSettings` and `toolbarItems` are defined, then items will be rendered based on toolbarItems.
236
- *
237
- * @default []
238
- *
239
- */
240
- toolbarItems?: ToolbarItemModel[];
245
+ *
246
+ * @default []
247
+ *
248
+ */
249
+ toolbarItems?: ToolbarItemModel[];
241
250
 
242
251
  /**
243
252
  * Specifies the upload settings for the file manager.
@@ -263,169 +272,231 @@ export interface FileManagerModel extends ComponentModel{
263
272
  /**
264
273
  * Triggers before the file/folder is rendered.
265
274
  *
266
- * @event
275
+ * @event fileLoad
267
276
  */
268
277
  fileLoad?: EmitType<FileLoadEventArgs>;
269
278
 
270
279
  /**
271
280
  * Triggers before the file/folder is opened.
272
281
  *
273
- * @event
282
+ * @event fileOpen
274
283
  */
275
284
  fileOpen?: EmitType<FileOpenEventArgs>;
276
285
 
277
286
  /**
278
287
  * Triggers before sending the download request to the server.
279
288
  *
280
- * @event
289
+ * @event beforeDownload
281
290
  */
282
291
  beforeDownload?: EmitType<BeforeDownloadEventArgs>;
283
292
 
284
293
  /**
285
294
  * Triggers before sending the getImage request to the server.
286
295
  *
287
- * @event
296
+ * @event beforeImageLoad
288
297
  */
289
298
  beforeImageLoad?: EmitType<BeforeImageLoadEventArgs>;
290
299
 
291
300
  /**
292
301
  * Triggers before the dialog is closed.
293
302
  *
294
- * @event
303
+ * @event beforePopupClose
295
304
  */
296
305
  beforePopupClose?: EmitType<BeforePopupOpenCloseEventArgs>;
297
306
 
298
307
  /**
299
308
  * Triggers before the dialog is opened.
300
309
  *
301
- * @event
310
+ * @event beforePopupOpen
302
311
  */
303
312
  beforePopupOpen?: EmitType<BeforePopupOpenCloseEventArgs>;
304
313
 
305
314
  /**
306
315
  * Triggers before sending the AJAX request to the server.
307
316
  *
308
- * @event
317
+ * @event beforeSend
309
318
  */
310
319
  beforeSend?: EmitType<BeforeSendEventArgs>;
311
320
 
312
321
  /**
313
322
  * Triggers when the file manager component is created.
314
323
  *
315
- * @event
324
+ * @event created
316
325
  */
317
- /* eslint-disable */
318
326
  created?: EmitType<Object>;
319
327
 
328
+ /**
329
+ * This event is triggered before a folder is created. It allows for the restriction of folder creation based on the application's use case.
330
+ *
331
+ * @event beforeFolderCreate
332
+ */
333
+ beforeFolderCreate?: EmitType<FolderCreateEventArgs>;
334
+
335
+ /**
336
+ * This event is triggered when a folder is successfully created. It provides an opportunity to retrieve details about the newly created folder.
337
+ *
338
+ * @event folderCreate
339
+ */
340
+ folderCreate?: EmitType<FolderCreateEventArgs>;
341
+
320
342
  /**
321
343
  * Triggers when the file manager component is destroyed.
322
344
  *
323
- * @event
345
+ * @event destroyed
324
346
  */
325
- /* eslint-disable */
326
347
  destroyed?: EmitType<Object>;
327
348
 
349
+ /**
350
+ * This event is triggered before the deletion of a file or folder occurs. It can be utilized to prevent the deletion of specific files or folders. Any actions, such as displaying a spinner for deletion, can be implemented here.
351
+ *
352
+ * @event beforeDelete
353
+ */
354
+ beforeDelete?: EmitType<DeleteEventArgs>;
355
+
356
+ /**
357
+ * This event is triggered after the file or folder is deleted successfully. The deleted file or folder details can be retrieved here. Additionally, custom elements' visibility can be managed here based on the application's use case.
358
+ *
359
+ * @event delete
360
+ */
361
+ delete?: EmitType<DeleteEventArgs>;
362
+
363
+ /**
364
+ * This event is triggered when a file or folder is about to be renamed. It allows for the restriction of the rename action for specific folders or files by utilizing the cancel option.
365
+ *
366
+ * @event beforeRename
367
+ */
368
+ beforeRename?: EmitType<RenameEventArgs>;
369
+
370
+ /**
371
+ * This event is triggered when a file or folder is successfully renamed. It provides an opportunity to fetch details about the renamed file.
372
+ *
373
+ * @event rename
374
+ */
375
+ rename?: EmitType<RenameEventArgs>;
376
+
377
+ /**
378
+ * This event is triggered when a file or folder begins to move from its current path through a copy/cut and paste action.
379
+ *
380
+ * @event beforeMove
381
+ */
382
+ beforeMove?: EmitType<MoveEventArgs>;
383
+
384
+ /**
385
+ * This event is triggered when a file or folder is pasted into the destination path.
386
+ *
387
+ * @event move
388
+ */
389
+ move?: EmitType<MoveEventArgs>;
390
+
391
+ /**
392
+ * This event is triggered when a search action occurs in the search bar of the File Manager component. It triggers each character entered in the input during the search process.
393
+ *
394
+ * @event search
395
+ */
396
+ search?: EmitType<SearchEventArgs>;
397
+
328
398
  /**
329
399
  * Triggers when the file/folder dragging is started.
330
400
  *
331
- * @event
401
+ * @event fileDragStart
332
402
  */
333
403
  fileDragStart?: EmitType<FileDragEventArgs>;
334
404
 
335
405
  /**
336
406
  * Triggers while dragging the file/folder.
337
407
  *
338
- * @event
408
+ * @event fileDragging
339
409
  */
340
410
  fileDragging?: EmitType<FileDragEventArgs>;
341
411
 
342
412
  /**
343
413
  * Triggers when the file/folder is about to be dropped at the target.
344
414
  *
345
- * @event
415
+ * @event fileDragStop
346
416
  */
347
417
  fileDragStop?: EmitType<FileDragEventArgs>;
348
418
 
349
419
  /**
350
420
  * Triggers when the file/folder is dropped.
351
421
  *
352
- * @event
422
+ * @event fileDropped
353
423
  */
354
424
  fileDropped?: EmitType<FileDragEventArgs>;
355
425
 
356
426
  /**
357
427
  * Triggers before the file/folder is selected.
358
428
  *
359
- * @event
429
+ * @event fileSelection
360
430
  */
361
431
  fileSelection?: EmitType<FileSelectionEventArgs>;
362
432
 
363
433
  /**
364
434
  * Triggers when the file/folder is selected/unselected.
365
435
  *
366
- * @event
436
+ * @event fileSelect
367
437
  */
368
438
  fileSelect?: EmitType<FileSelectEventArgs>;
369
439
 
370
440
  /**
371
441
  * Triggers when the context menu item is clicked.
372
442
  *
373
- * @event
443
+ * @event menuClick
374
444
  */
375
445
  menuClick?: EmitType<MenuClickEventArgs>;
376
446
 
377
447
  /**
378
448
  * Triggers before the context menu is opened.
379
449
  *
380
- * @event
450
+ * @event menuOpen
381
451
  */
382
452
  menuOpen?: EmitType<MenuOpenEventArgs>;
383
453
 
384
454
  /**
385
455
  * Triggers when the AJAX request is failed.
386
456
  *
387
- * @event
457
+ * @event failure
388
458
  */
389
459
  failure?: EmitType<FailureEventArgs>;
390
460
 
391
461
  /**
392
462
  * Triggers when the dialog is closed.
393
463
  *
394
- * @event
464
+ * @event popupClose
395
465
  */
396
466
  popupClose?: EmitType<PopupOpenCloseEventArgs>;
397
467
 
398
468
  /**
399
469
  * Triggers when the dialog is opened.
400
470
  *
401
- * @event
471
+ * @event popupOpen
402
472
  */
403
473
  popupOpen?: EmitType<PopupOpenCloseEventArgs>;
404
474
 
405
475
  /**
406
476
  * Triggers when the AJAX request is success.
407
- * @event
477
+ *
478
+ * @event success
408
479
  */
409
480
  success?: EmitType<SuccessEventArgs>;
410
481
 
411
482
  /**
412
483
  * Triggers when the toolbar item is clicked.
413
484
  *
414
- * @event
485
+ * @event toolbarClick
415
486
  */
416
487
  toolbarClick?: EmitType<ToolbarClickEventArgs>;
417
488
 
418
489
  /**
419
490
  * Triggers before creating the toolbar.
420
491
  *
421
- * @event
492
+ * @event toolbarCreate
422
493
  */
423
494
  toolbarCreate?: EmitType<ToolbarCreateEventArgs>;
424
495
 
425
496
  /**
426
497
  * Triggers before rendering each file item in upload dialog box.
427
498
  *
428
- * @event
499
+ * @event uploadListCreate
429
500
  */
430
501
  uploadListCreate?: EmitType<UploadListCreateArgs>;
431
502