@syncfusion/ej2-filemanager 29.2.10 → 30.1.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/.eslintrc.json +2 -0
  2. package/dist/ej2-filemanager.min.js +2 -2
  3. package/dist/ej2-filemanager.umd.min.js +2 -2
  4. package/dist/ej2-filemanager.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-filemanager.es2015.js +179 -20
  6. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  7. package/dist/es6/ej2-filemanager.es5.js +180 -20
  8. package/dist/es6/ej2-filemanager.es5.js.map +1 -1
  9. package/dist/global/ej2-filemanager.min.js +2 -2
  10. package/dist/global/ej2-filemanager.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/dist/ts/file-manager/actions/breadcrumb-bar.d.ts +60 -0
  13. package/dist/ts/file-manager/actions/breadcrumb-bar.ts +423 -0
  14. package/dist/ts/file-manager/actions/index.d.ts +6 -0
  15. package/dist/ts/file-manager/actions/index.ts +6 -0
  16. package/dist/ts/file-manager/actions/toolbar.d.ts +54 -0
  17. package/dist/ts/file-manager/actions/toolbar.ts +609 -0
  18. package/dist/ts/file-manager/actions/virtualization.d.ts +93 -0
  19. package/dist/ts/file-manager/actions/virtualization.ts +324 -0
  20. package/dist/ts/file-manager/base/classes.d.ts +224 -0
  21. package/dist/ts/file-manager/base/classes.ts +225 -0
  22. package/dist/ts/file-manager/base/constant.d.ts +136 -0
  23. package/dist/ts/file-manager/base/constant.ts +137 -0
  24. package/dist/ts/file-manager/base/file-manager-model.d.ts +520 -0
  25. package/dist/ts/file-manager/base/file-manager.d.ts +867 -0
  26. package/dist/ts/file-manager/base/file-manager.ts +2061 -0
  27. package/dist/ts/file-manager/base/index.d.ts +8 -0
  28. package/dist/ts/file-manager/base/index.ts +8 -0
  29. package/dist/ts/file-manager/base/interface.d.ts +952 -0
  30. package/dist/ts/file-manager/base/interface.ts +931 -0
  31. package/dist/ts/file-manager/common/index.d.ts +5 -0
  32. package/dist/ts/file-manager/common/index.ts +5 -0
  33. package/dist/ts/file-manager/common/operations.d.ts +122 -0
  34. package/dist/ts/file-manager/common/operations.ts +1369 -0
  35. package/dist/ts/file-manager/common/utility.d.ts +644 -0
  36. package/dist/ts/file-manager/common/utility.ts +1728 -0
  37. package/dist/ts/file-manager/index.d.ts +9 -0
  38. package/dist/ts/file-manager/index.ts +9 -0
  39. package/dist/ts/file-manager/layout/details-view.d.ts +152 -0
  40. package/dist/ts/file-manager/layout/details-view.ts +1990 -0
  41. package/dist/ts/file-manager/layout/index.d.ts +6 -0
  42. package/dist/ts/file-manager/layout/index.ts +6 -0
  43. package/dist/ts/file-manager/layout/large-icons-view.d.ts +157 -0
  44. package/dist/ts/file-manager/layout/large-icons-view.ts +1684 -0
  45. package/dist/ts/file-manager/layout/navigation-pane.d.ts +104 -0
  46. package/dist/ts/file-manager/layout/navigation-pane.ts +919 -0
  47. package/dist/ts/file-manager/models/ajax-settings-model.d.ts +36 -0
  48. package/dist/ts/file-manager/models/ajax-settings.d.ts +30 -0
  49. package/dist/ts/file-manager/models/ajax-settings.ts +39 -0
  50. package/dist/ts/file-manager/models/column-model.d.ts +155 -0
  51. package/dist/ts/file-manager/models/column.d.ts +179 -0
  52. package/dist/ts/file-manager/models/column.ts +216 -0
  53. package/dist/ts/file-manager/models/contextMenu-settings-model.d.ts +36 -0
  54. package/dist/ts/file-manager/models/contextMenu-settings.d.ts +33 -0
  55. package/dist/ts/file-manager/models/contextMenu-settings.ts +44 -0
  56. package/dist/ts/file-manager/models/default-locale.d.ts +4 -0
  57. package/dist/ts/file-manager/models/default-locale.ts +101 -0
  58. package/dist/ts/file-manager/models/details-view-settings-model.d.ts +30 -0
  59. package/dist/ts/file-manager/models/details-view-settings.d.ts +31 -0
  60. package/dist/ts/file-manager/models/details-view-settings.ts +54 -0
  61. package/dist/ts/file-manager/models/index.d.ts +19 -0
  62. package/dist/ts/file-manager/models/index.ts +19 -0
  63. package/dist/ts/file-manager/models/navigation-pane-settings-model.d.ts +40 -0
  64. package/dist/ts/file-manager/models/navigation-pane-settings.d.ts +34 -0
  65. package/dist/ts/file-manager/models/navigation-pane-settings.ts +42 -0
  66. package/dist/ts/file-manager/models/search-settings-model.d.ts +42 -0
  67. package/dist/ts/file-manager/models/search-settings.d.ts +44 -0
  68. package/dist/ts/file-manager/models/search-settings.ts +53 -0
  69. package/dist/ts/file-manager/models/toolbar-settings-model.d.ts +197 -0
  70. package/dist/ts/file-manager/models/toolbar-settings.d.ts +174 -0
  71. package/dist/ts/file-manager/models/toolbar-settings.ts +198 -0
  72. package/dist/ts/file-manager/models/upload-settings-model.d.ts +70 -0
  73. package/dist/ts/file-manager/models/upload-settings.d.ts +61 -0
  74. package/dist/ts/file-manager/models/upload-settings.ts +75 -0
  75. package/dist/ts/file-manager/pop-up/context-menu.d.ts +64 -0
  76. package/dist/ts/file-manager/pop-up/context-menu.ts +693 -0
  77. package/dist/ts/file-manager/pop-up/dialog.d.ts +31 -0
  78. package/dist/ts/file-manager/pop-up/dialog.ts +1009 -0
  79. package/dist/ts/file-manager/pop-up/index.d.ts +5 -0
  80. package/dist/ts/file-manager/pop-up/index.ts +5 -0
  81. package/dist/ts/index.d.ts +4 -0
  82. package/dist/ts/index.ts +4 -0
  83. package/package.json +56 -21
  84. package/src/file-manager/base/interface.d.ts +10 -0
  85. package/src/file-manager/common/operations.d.ts +18 -1
  86. package/src/file-manager/common/operations.js +59 -0
  87. package/src/file-manager/common/utility.d.ts +3 -3
  88. package/src/file-manager/common/utility.js +20 -6
  89. package/src/file-manager/layout/details-view.js +4 -3
  90. package/src/file-manager/layout/large-icons-view.d.ts +3 -0
  91. package/src/file-manager/layout/large-icons-view.js +67 -9
  92. package/src/file-manager/pop-up/dialog.d.ts +3 -3
  93. package/src/file-manager/pop-up/dialog.js +34 -6
  94. package/styles/bds-lite.css +51 -1
  95. package/styles/bds.css +51 -1
  96. package/styles/bootstrap-dark-lite.css +51 -0
  97. package/styles/bootstrap-dark.css +51 -0
  98. package/styles/bootstrap-lite.css +51 -0
  99. package/styles/bootstrap.css +51 -0
  100. package/styles/bootstrap4-lite.css +51 -0
  101. package/styles/bootstrap4.css +51 -0
  102. package/styles/bootstrap5-dark-lite.css +51 -1
  103. package/styles/bootstrap5-dark.css +51 -1
  104. package/styles/bootstrap5-lite.css +51 -1
  105. package/styles/bootstrap5.3-lite.css +51 -0
  106. package/styles/bootstrap5.3.css +51 -0
  107. package/styles/bootstrap5.css +51 -1
  108. package/styles/fabric-dark-lite.css +51 -0
  109. package/styles/fabric-dark.css +51 -0
  110. package/styles/fabric-lite.css +51 -0
  111. package/styles/fabric.css +51 -0
  112. package/styles/file-manager/_bds-definition.scss +1 -0
  113. package/styles/file-manager/_bootstrap5-definition.scss +1 -0
  114. package/styles/file-manager/_layout.scss +46 -4
  115. package/styles/file-manager/_material3-definition.scss +2 -2
  116. package/styles/file-manager/_tailwind-definition.scss +1 -0
  117. package/styles/file-manager/_tailwind3-definition.scss +1 -0
  118. package/styles/file-manager/bds.css +51 -1
  119. package/styles/file-manager/bootstrap-dark.css +51 -0
  120. package/styles/file-manager/bootstrap.css +51 -0
  121. package/styles/file-manager/bootstrap4.css +51 -0
  122. package/styles/file-manager/bootstrap5-dark.css +51 -1
  123. package/styles/file-manager/bootstrap5.3.css +51 -0
  124. package/styles/file-manager/bootstrap5.css +51 -1
  125. package/styles/file-manager/fabric-dark.css +51 -0
  126. package/styles/file-manager/fabric.css +51 -0
  127. package/styles/file-manager/fluent-dark.css +51 -0
  128. package/styles/file-manager/fluent.css +51 -0
  129. package/styles/file-manager/fluent2.css +51 -0
  130. package/styles/file-manager/highcontrast-light.css +51 -0
  131. package/styles/file-manager/highcontrast.css +51 -0
  132. package/styles/file-manager/material-dark.css +51 -0
  133. package/styles/file-manager/material.css +51 -0
  134. package/styles/file-manager/material3-dark.css +53 -2
  135. package/styles/file-manager/material3.css +53 -2
  136. package/styles/file-manager/tailwind-dark.css +51 -1
  137. package/styles/file-manager/tailwind.css +51 -1
  138. package/styles/file-manager/tailwind3.css +51 -0
  139. package/styles/fluent-dark-lite.css +51 -0
  140. package/styles/fluent-dark.css +51 -0
  141. package/styles/fluent-lite.css +51 -0
  142. package/styles/fluent.css +51 -0
  143. package/styles/fluent2-lite.css +51 -0
  144. package/styles/fluent2.css +51 -0
  145. package/styles/highcontrast-light-lite.css +51 -0
  146. package/styles/highcontrast-light.css +51 -0
  147. package/styles/highcontrast-lite.css +51 -0
  148. package/styles/highcontrast.css +51 -0
  149. package/styles/material-dark-lite.css +51 -0
  150. package/styles/material-dark.css +51 -0
  151. package/styles/material-lite.css +51 -0
  152. package/styles/material.css +51 -0
  153. package/styles/material3-dark-lite.css +51 -0
  154. package/styles/material3-dark.css +53 -2
  155. package/styles/material3-lite.css +51 -0
  156. package/styles/material3.css +53 -2
  157. package/styles/tailwind-dark-lite.css +51 -1
  158. package/styles/tailwind-dark.css +51 -1
  159. package/styles/tailwind-lite.css +51 -1
  160. package/styles/tailwind.css +51 -1
  161. package/styles/tailwind3-lite.css +51 -0
  162. package/styles/tailwind3.css +51 -0
@@ -0,0 +1,867 @@
1
+ import { Component, EmitType, ModuleDeclaration, L10n } from '@syncfusion/ej2-base';
2
+ import { INotifyPropertyChanged } from '@syncfusion/ej2-base';
3
+ import { Splitter } from '@syncfusion/ej2-layouts';
4
+ import { Dialog } from '@syncfusion/ej2-popups';
5
+ import { ToolbarSettingsModel } from '../models/index';
6
+ import { ToolbarItemModel } from '../models/index';
7
+ import { NavigationPaneSettingsModel, DetailsViewSettingsModel } from '../models/index';
8
+ import { AjaxSettingsModel, SearchSettingsModel } from '../models/index';
9
+ import { Toolbar } from '../actions/toolbar';
10
+ import { DetailsView } from '../layout/details-view';
11
+ import { LargeIconsView } from '../layout/large-icons-view';
12
+ import { Uploader, FileInfo } from '@syncfusion/ej2-inputs';
13
+ import { UploadSettingsModel } from '../models/upload-settings-model';
14
+ import { FileManagerModel } from './file-manager-model';
15
+ import { ITreeView, IContextMenu, ViewType, SortOrder, FileDragEventArgs, RetryArgs, FileSelectionEventArgs } from './interface';
16
+ import { BeforeSendEventArgs, SuccessEventArgs, FailureEventArgs, FileLoadEventArgs, FolderCreateEventArgs, DeleteEventArgs, RenameEventArgs, MoveEventArgs, SearchEventArgs } from './interface';
17
+ import { FileOpenEventArgs, FileSelectEventArgs, MenuClickEventArgs, MenuOpenEventArgs, MenuCloseEventArgs } from './interface';
18
+ import { ToolbarClickEventArgs, ToolbarCreateEventArgs, UploadListCreateArgs } from './interface';
19
+ import { PopupOpenCloseEventArgs, BeforePopupOpenCloseEventArgs, BeforeDownloadEventArgs, BeforeImageLoadEventArgs } from './interface';
20
+ import { TreeView as BaseTreeView } from '@syncfusion/ej2-navigations';
21
+ import { ContextMenuSettingsModel } from '../models/contextMenu-settings-model';
22
+ import { BreadCrumbBar } from '../actions/breadcrumb-bar';
23
+ import { PositionModel } from '@syncfusion/ej2-base/src/draggable-model';
24
+ import { Virtualization } from '../actions/virtualization';
25
+ import { SortComparer } from './interface';
26
+ /**
27
+ * The FileManager component allows users to access and manage the file system through the web browser. It can performs the
28
+ * functionalities like add, rename, search, sort, upload and delete files or folders. And also it
29
+ * provides an easy way of dynamic injectable modules like toolbar, navigationpane, detailsview, largeiconsview.
30
+ * ```html
31
+ * <div id="file"></div>
32
+ * ```
33
+ * ```typescript,
34
+ * let feObj: FileManager = new FileManager();
35
+ * feObj.appendTo('#file');
36
+ * ```
37
+ */
38
+ export declare class FileManager extends Component<HTMLElement> implements INotifyPropertyChanged {
39
+ /** @hidden */
40
+ toolbarModule: Toolbar;
41
+ /** @hidden */
42
+ detailsviewModule: DetailsView;
43
+ /** @hidden */
44
+ navigationpaneModule: ITreeView;
45
+ /** @hidden */
46
+ largeiconsviewModule: LargeIconsView;
47
+ /** @hidden */
48
+ contextmenuModule: IContextMenu;
49
+ /** @hidden */
50
+ breadcrumbbarModule: BreadCrumbBar;
51
+ /** @hidden */
52
+ virtualizationModule: Virtualization;
53
+ private keyboardModule;
54
+ private keyConfigs;
55
+ filterData: Object;
56
+ originalPath: string;
57
+ filterPath: string;
58
+ filterId: string;
59
+ hasId: boolean;
60
+ pathNames: string[];
61
+ pathId: string[];
62
+ expandedId: string;
63
+ itemData: Object[];
64
+ visitedData: Object;
65
+ visitedItem: Element;
66
+ toolbarSelection: boolean;
67
+ targetPath: string;
68
+ feParent: Object[];
69
+ feFiles: Object[];
70
+ activeElements: Element[];
71
+ activeModule: string;
72
+ targetModule: string;
73
+ treeObj: BaseTreeView;
74
+ dialogObj: Dialog;
75
+ viewerObj: Dialog;
76
+ extDialogObj: Dialog;
77
+ selectedNodes: string[];
78
+ duplicateItems: string[];
79
+ duplicateRecords: Object[];
80
+ previousPath: string[];
81
+ nextPath: string[];
82
+ fileAction: string;
83
+ pasteNodes: string[];
84
+ responseData: {
85
+ [key: string]: Object;
86
+ };
87
+ existingFileCount: number;
88
+ isLayoutChange: boolean;
89
+ replaceItems: string[];
90
+ createdItem: {
91
+ [key: string]: Object;
92
+ };
93
+ layoutSelectedItems: string[];
94
+ renamedItem: {
95
+ [key: string]: Object;
96
+ };
97
+ renamedId: string;
98
+ uploadItem: string[];
99
+ fileLength: number;
100
+ deleteRecords: string[];
101
+ fileView: string;
102
+ isDevice: boolean;
103
+ isMobile: boolean;
104
+ isBigger: boolean;
105
+ isFile: boolean;
106
+ actionRecords: Object[];
107
+ activeRecords: Object[];
108
+ isCut: boolean;
109
+ isSearchCut: boolean;
110
+ isSearchDrag: boolean;
111
+ isPasteError: boolean;
112
+ folderPath: string;
113
+ isSameAction: boolean;
114
+ currentItemText: string;
115
+ renameText: string;
116
+ isFiltered: boolean;
117
+ isSortByClicked: boolean;
118
+ enablePaste: boolean;
119
+ splitterObj: Splitter;
120
+ persistData: boolean;
121
+ breadCrumbBarNavigation: HTMLElement;
122
+ localeObj: L10n;
123
+ uploadObj: Uploader;
124
+ uploadDialogObj: Dialog;
125
+ retryArgs: RetryArgs[];
126
+ private isOpened;
127
+ isRetryOpened: boolean;
128
+ isPathDrag: boolean;
129
+ searchedItems: {
130
+ [key: string]: Object;
131
+ }[];
132
+ searchWord: string;
133
+ retryFiles: FileInfo[];
134
+ isApplySame: boolean;
135
+ uploadEventArgs: BeforeSendEventArgs;
136
+ dragData: {
137
+ [key: string]: Object;
138
+ }[];
139
+ dragNodes: string[];
140
+ dragPath: string;
141
+ dropPath: string;
142
+ isDragDrop: boolean;
143
+ virtualDragElement: HTMLElement;
144
+ dropData: Object;
145
+ treeExpandTimer: number;
146
+ dragCursorPosition: PositionModel;
147
+ isDropEnd: boolean;
148
+ dragCount: number;
149
+ droppedObjects: Object[];
150
+ destinationPath: string;
151
+ uploadingCount: number;
152
+ uploadedCount: number;
153
+ isMac: boolean;
154
+ oldView: string;
155
+ oldPath: string;
156
+ private viewElem;
157
+ private dragSelectElement;
158
+ private dragX;
159
+ private dragY;
160
+ private dragSelectedItems;
161
+ /**
162
+ * Specifies the AJAX settings of the file manager.
163
+ *
164
+ * @default {
165
+ * getImageUrl: null;
166
+ * url: null;
167
+ * uploadUrl: null;
168
+ * downloadUrl: null;
169
+ * }
170
+ */
171
+ ajaxSettings: AjaxSettingsModel;
172
+ /**
173
+ * Specifies the array of data to populate folders/files in the File Manager.
174
+ * The mandatory fields to be included in the JSON data are defined in fileData interface.
175
+ * This interface can be extended to add additional fields as required.
176
+ *
177
+ * @default []
178
+ */
179
+ fileSystemData: {
180
+ [key: string]: Object;
181
+ }[];
182
+ /**
183
+ * Enables or disables drag-and-drop of files.
184
+ *
185
+ * @default false
186
+ */
187
+ allowDragAndDrop: boolean;
188
+ /**
189
+ * Enables or disables the multiple files selection of the file manager.
190
+ *
191
+ * @default true
192
+ */
193
+ allowMultiSelection: boolean;
194
+ /**
195
+ * Gets or sets a boolean value that determines whether to display checkboxes in the file manager. If enabled, checkboxes are shown for files or folders on hover.
196
+ *
197
+ * @default true
198
+ */
199
+ showItemCheckBoxes: boolean;
200
+ /**
201
+ * Specifies the context menu settings of the file manager.
202
+ *
203
+ * @default {
204
+ * file: ['Open','|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
205
+ * folder: ['Open','|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
206
+ * layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll'],
207
+ * visible: true,
208
+ * }
209
+ */
210
+ contextMenuSettings: ContextMenuSettingsModel;
211
+ /**
212
+ * Specifies the root CSS class of the file manager that allows you to customize the appearance by overriding the styles.
213
+ *
214
+ * @default ''
215
+ */
216
+ cssClass: string;
217
+ /**
218
+ * Specifies the details view settings of the file manager.
219
+ *
220
+ * @default {
221
+ * columns: [{
222
+ * field: 'name', headerText: 'Name', minWidth: 120, template: '<span class="e-fe-text">${name}</span>',
223
+ * customAttributes: { class: 'e-fe-grid-name'}}, { field: '_fm_modified', headerText: 'DateModified', type: 'dateTime',
224
+ * format: 'MMMM dd, yyyy HH:mm', minWidth: 120, width: '190' }, { field: 'size', headerText: 'Size', minWidth: 90, width: '110',
225
+ * template: '<span class="e-fe-size">${size}</span>' }
226
+ * ]
227
+ * }
228
+ */
229
+ detailsViewSettings: DetailsViewSettingsModel;
230
+ /**
231
+ * Defines whether to allow the cross-scripting site or not.
232
+ *
233
+ * @default true
234
+ */
235
+ enableHtmlSanitizer: boolean;
236
+ /**
237
+ * Enables or disables persisting component's state between page reloads. If enabled, the following APIs will persist:
238
+ * 1. `view`: Represents the previous view of the file manager.
239
+ * 2. `path`: Represents the previous path of the file manager.
240
+ * 3. `selectedItems`: Represents the previous selected items in the file manager.
241
+ *
242
+ * @default false
243
+ */
244
+ enablePersistence: boolean;
245
+ /**
246
+ * Gets or sets a value that enables/disables the virtualization feature of the File Manager.
247
+ * When enabled, the File Manager will only load a subset of files and folders based on the size of the view port, with the rest being loaded dynamically as the user scrolls vertically through the list.
248
+ * This can improve performance when dealing with a large number of files and folders, as it reduces the initial load time and memory usage.
249
+ *
250
+ * @default false
251
+ */
252
+ enableVirtualization: boolean;
253
+ /**
254
+ * Specifies the height of the file manager.
255
+ *
256
+ * @default '400px'
257
+ */
258
+ height: string | number;
259
+ /**
260
+ * Specifies the initial view of the file manager.
261
+ * With the help of this property, initial view can be changed to details or largeicons view. The available views are:
262
+ * * `LargeIcons`
263
+ * * `Details`
264
+ *
265
+ * @default 'LargeIcons'
266
+ */
267
+ view: ViewType;
268
+ /**
269
+ * Specifies the navigationpane settings of the file manager.
270
+ *
271
+ * @default {
272
+ * maxWidth: '650px',
273
+ * minWidth: '240px',
274
+ * visible: true,
275
+ * sortOrder: 'None'
276
+ * }
277
+ */
278
+ navigationPaneSettings: NavigationPaneSettingsModel;
279
+ /**
280
+ * Specifies the current path of the file manager.
281
+ *
282
+ * @default '/'
283
+ */
284
+ path: string;
285
+ /**
286
+ * Specifies the target element in which the File Manager’s dialog will be displayed.
287
+ * The default value is null, which refers to the File Manager element.
288
+ *
289
+ * @default null
290
+ */
291
+ popupTarget: HTMLElement | string;
292
+ /**
293
+ * Specifies the search settings of the file manager.
294
+ *
295
+ * @default {
296
+ * allowSearchOnTyping: true,
297
+ * filterType: 'contains',
298
+ * ignoreCase: true
299
+ * }
300
+ */
301
+ searchSettings: SearchSettingsModel;
302
+ /**
303
+ * Specifies the selected folders and files name of the file manager.
304
+ *
305
+ * @default []
306
+ */
307
+ selectedItems: string[];
308
+ /**
309
+ * Shows or hides the file extension in file manager.
310
+ *
311
+ * @default true
312
+ */
313
+ showFileExtension: boolean;
314
+ /**
315
+ * Specifies the root folder alias name in file manager
316
+ *
317
+ * @default null
318
+ */
319
+ rootAliasName: string;
320
+ /**
321
+ * Determines whether to show or hide hidden files and folders.
322
+ * This is applicable only for storage systems that support attributes for controlling the visibility of data, including physical file directories and custom flat data handlers.
323
+ *
324
+ * @default false
325
+ */
326
+ showHiddenItems: boolean;
327
+ /**
328
+ * Shows or hides the thumbnail images in largeicons view.
329
+ *
330
+ * @default true
331
+ */
332
+ showThumbnail: boolean;
333
+ /**
334
+ * Specifies a value that indicates whether the folders and files are sorted in the ascending or descending order,
335
+ * or they are not sorted at all. The available types of sort orders are,
336
+ * `None` - Indicates that the folders and files are not sorted.
337
+ * `Ascending` - Indicates that the folders and files are sorted in the ascending order.
338
+ * `Descending` - Indicates that the folders and files are sorted in the descending order.
339
+ *
340
+ * @default 'Ascending'
341
+ */
342
+ sortOrder: SortOrder;
343
+ /**
344
+ * Specifies the field name being used as the sorting criteria to sort the files of the file manager component.
345
+ *
346
+ * @default 'name'
347
+ */
348
+ sortBy: string;
349
+ /**
350
+ * Defines the custom sorting function.
351
+ * The sort comparer function has the same functionality like
352
+ * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
353
+ * This can be used to customize the default sorting functionalities with required comparison values.
354
+ *
355
+ * @default null
356
+ * @aspType string
357
+ */
358
+ sortComparer: SortComparer | string;
359
+ /**
360
+ * Gets or sets a value that indicates whether the File Manager allows multiple items selection with mouse dragging.
361
+ * Set this property to true to allow users to select multiple items with mouse drag as like file explorer. Hover over
362
+ * the files or folders and drag the mouse to select the required items.
363
+ *
364
+ * @default false
365
+ */
366
+ enableRangeSelection: boolean;
367
+ /**
368
+ * Specifies the group of items aligned horizontally in the toolbar.
369
+ *
370
+ * @default {
371
+ * items: ['NewFolder', 'Upload', 'Cut', 'Copy', 'Paste', 'Delete',
372
+ * 'Download', 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details'],
373
+ * visible: true
374
+ * }
375
+ */
376
+ toolbarSettings: ToolbarSettingsModel;
377
+ /**
378
+ * An array of items that are used to configure File Manager toolbar items.
379
+ *
380
+ * @remarks
381
+ * 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.
382
+ *
383
+ * @default []
384
+ *
385
+ */
386
+ toolbarItems: ToolbarItemModel[];
387
+ /**
388
+ * Specifies the upload settings for the file manager.
389
+ *
390
+ * @default {
391
+ * autoUpload: true,
392
+ * minFileSize: 0,
393
+ * maxFileSize: 30000000,
394
+ * allowedExtensions: '',
395
+ * autoClose: false,
396
+ * directoryUpload: false
397
+ * }
398
+ */
399
+ uploadSettings: UploadSettingsModel;
400
+ /**
401
+ * Specifies the width of the file manager.
402
+ *
403
+ * @default '100%'
404
+ */
405
+ width: string | number;
406
+ /**
407
+ * Triggers before the file/folder is rendered.
408
+ *
409
+ * @event fileLoad
410
+ */
411
+ fileLoad: EmitType<FileLoadEventArgs>;
412
+ /**
413
+ * Triggers before the file/folder is opened.
414
+ *
415
+ * @event fileOpen
416
+ */
417
+ fileOpen: EmitType<FileOpenEventArgs>;
418
+ /**
419
+ * Triggers before sending the download request to the server.
420
+ *
421
+ * @event beforeDownload
422
+ */
423
+ beforeDownload: EmitType<BeforeDownloadEventArgs>;
424
+ /**
425
+ * Triggers before sending the getImage request to the server.
426
+ *
427
+ * @event beforeImageLoad
428
+ */
429
+ beforeImageLoad: EmitType<BeforeImageLoadEventArgs>;
430
+ /**
431
+ * Triggers before the dialog is closed.
432
+ *
433
+ * @event beforePopupClose
434
+ */
435
+ beforePopupClose: EmitType<BeforePopupOpenCloseEventArgs>;
436
+ /**
437
+ * Triggers before the dialog is opened.
438
+ *
439
+ * @event beforePopupOpen
440
+ */
441
+ beforePopupOpen: EmitType<BeforePopupOpenCloseEventArgs>;
442
+ /**
443
+ * Triggers before sending the AJAX request to the server.
444
+ *
445
+ * @event beforeSend
446
+ */
447
+ beforeSend: EmitType<BeforeSendEventArgs>;
448
+ /**
449
+ * Triggers when the file manager component is created.
450
+ *
451
+ * @event created
452
+ */
453
+ created: EmitType<Object>;
454
+ /**
455
+ * This event is triggered before a folder is created. It allows for the restriction of folder creation based on the application's use case.
456
+ *
457
+ * @event beforeFolderCreate
458
+ */
459
+ beforeFolderCreate: EmitType<FolderCreateEventArgs>;
460
+ /**
461
+ * This event is triggered when a folder is successfully created. It provides an opportunity to retrieve details about the newly created folder.
462
+ *
463
+ * @event folderCreate
464
+ */
465
+ folderCreate: EmitType<FolderCreateEventArgs>;
466
+ /**
467
+ * Triggers when the file manager component is destroyed.
468
+ *
469
+ * @event destroyed
470
+ */
471
+ destroyed: EmitType<Object>;
472
+ /**
473
+ * 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.
474
+ *
475
+ * @event beforeDelete
476
+ */
477
+ beforeDelete: EmitType<DeleteEventArgs>;
478
+ /**
479
+ * 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.
480
+ *
481
+ * @event delete
482
+ */
483
+ delete: EmitType<DeleteEventArgs>;
484
+ /**
485
+ * 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.
486
+ *
487
+ * @event beforeRename
488
+ */
489
+ beforeRename: EmitType<RenameEventArgs>;
490
+ /**
491
+ * This event is triggered when a file or folder is successfully renamed. It provides an opportunity to fetch details about the renamed file.
492
+ *
493
+ * @event rename
494
+ */
495
+ rename: EmitType<RenameEventArgs>;
496
+ /**
497
+ * This event is triggered when a file or folder begins to move from its current path through a copy/cut and paste action.
498
+ *
499
+ * @event beforeMove
500
+ */
501
+ beforeMove: EmitType<MoveEventArgs>;
502
+ /**
503
+ * This event is triggered when a file or folder is pasted into the destination path.
504
+ *
505
+ * @event move
506
+ */
507
+ move: EmitType<MoveEventArgs>;
508
+ /**
509
+ * 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.
510
+ *
511
+ * @event search
512
+ */
513
+ search: EmitType<SearchEventArgs>;
514
+ /**
515
+ * Triggers when the file/folder dragging is started.
516
+ *
517
+ * @event fileDragStart
518
+ */
519
+ fileDragStart: EmitType<FileDragEventArgs>;
520
+ /**
521
+ * Triggers while dragging the file/folder.
522
+ *
523
+ * @event fileDragging
524
+ */
525
+ fileDragging: EmitType<FileDragEventArgs>;
526
+ /**
527
+ * Triggers when the file/folder is about to be dropped at the target.
528
+ *
529
+ * @event fileDragStop
530
+ */
531
+ fileDragStop: EmitType<FileDragEventArgs>;
532
+ /**
533
+ * Triggers when the file/folder is dropped.
534
+ *
535
+ * @event fileDropped
536
+ */
537
+ fileDropped: EmitType<FileDragEventArgs>;
538
+ /**
539
+ * Triggers before the file/folder is selected.
540
+ *
541
+ * @event fileSelection
542
+ */
543
+ fileSelection: EmitType<FileSelectionEventArgs>;
544
+ /**
545
+ * Triggers when the file/folder is selected/unselected.
546
+ *
547
+ * @event fileSelect
548
+ */
549
+ fileSelect: EmitType<FileSelectEventArgs>;
550
+ /**
551
+ * Triggers when the context menu item is clicked.
552
+ *
553
+ * @event menuClick
554
+ */
555
+ menuClick: EmitType<MenuClickEventArgs>;
556
+ /**
557
+ * Triggers before the context menu is opened.
558
+ *
559
+ * @event menuOpen
560
+ */
561
+ menuOpen: EmitType<MenuOpenEventArgs>;
562
+ /**
563
+ * Triggers before the context menu is closed.
564
+ *
565
+ * @event menuClose
566
+ */
567
+ menuClose: EmitType<MenuCloseEventArgs>;
568
+ /**
569
+ * Triggers when the AJAX request is failed.
570
+ *
571
+ * @event failure
572
+ */
573
+ failure: EmitType<FailureEventArgs>;
574
+ /**
575
+ * Triggers when the dialog is closed.
576
+ *
577
+ * @event popupClose
578
+ */
579
+ popupClose: EmitType<PopupOpenCloseEventArgs>;
580
+ /**
581
+ * Triggers when the dialog is opened.
582
+ *
583
+ * @event popupOpen
584
+ */
585
+ popupOpen: EmitType<PopupOpenCloseEventArgs>;
586
+ /**
587
+ * Triggers when the AJAX request is success.
588
+ *
589
+ * @event success
590
+ */
591
+ success: EmitType<SuccessEventArgs>;
592
+ /**
593
+ * Triggers when the toolbar item is clicked.
594
+ *
595
+ * @event toolbarClick
596
+ */
597
+ toolbarClick: EmitType<ToolbarClickEventArgs>;
598
+ /**
599
+ * Triggers before creating the toolbar.
600
+ *
601
+ * @event toolbarCreate
602
+ */
603
+ toolbarCreate: EmitType<ToolbarCreateEventArgs>;
604
+ /**
605
+ * Triggers before rendering each file item in upload dialog box.
606
+ *
607
+ * @event uploadListCreate
608
+ */
609
+ uploadListCreate: EmitType<UploadListCreateArgs>;
610
+ constructor(options?: FileManagerModel, element?: string | HTMLElement);
611
+ /**
612
+ * Get component name.
613
+ *
614
+ * @returns {string} - returns module name.
615
+ * @private
616
+ */
617
+ getModuleName(): string;
618
+ /**
619
+ * Initialize the event handler
620
+ *
621
+ * @returns {void}
622
+ */
623
+ protected preRender(): void;
624
+ /**
625
+ * Gets the properties to be maintained upon browser refresh.
626
+ *
627
+ * @returns {string} - returns the persisted data.
628
+ * @hidden
629
+ */
630
+ getPersistData(): string;
631
+ /**
632
+ * To provide the array of modules needed for component rendering
633
+ *
634
+ * @returns {ModuleDeclaration[]} - returns module declaration.
635
+ * @hidden
636
+ */
637
+ requiredModules(): ModuleDeclaration[];
638
+ /**
639
+ * To Initialize the control rendering
640
+ *
641
+ * @private
642
+ * @returns {void}
643
+ */
644
+ protected render(): void;
645
+ private ensurePath;
646
+ private initialize;
647
+ private addWrapper;
648
+ private adjustHeight;
649
+ private splitterResize;
650
+ private splitterAdjust;
651
+ private addCssClass;
652
+ private showSpinner;
653
+ private hideSpinner;
654
+ private onContextMenu;
655
+ private checkMobile;
656
+ private renderFileUpload;
657
+ private renderUploadBox;
658
+ private onFileListRender;
659
+ private updateUploader;
660
+ private onBeforeOpen;
661
+ private onBeforeClose;
662
+ private onOpen;
663
+ private onClose;
664
+ private onChunkUploading;
665
+ private onUploading;
666
+ private onRemoving;
667
+ private onCancel;
668
+ private onClearing;
669
+ private onSelected;
670
+ private onFileUploadSuccess;
671
+ private onChunkUploadComplete;
672
+ private onUploadSuccess;
673
+ private onUploadFailure;
674
+ private onInitialEnd;
675
+ private addEventListeners;
676
+ private removeEventListeners;
677
+ private onDetailsInit;
678
+ private resizeHandler;
679
+ private keyActionHandler;
680
+ private wireSelectOnDragEvent;
681
+ private wireEvents;
682
+ private unWireEvents;
683
+ private onScrollHandler;
684
+ private onDragStart;
685
+ private onDrag;
686
+ private onDragStop;
687
+ private selectItems;
688
+ private onLayoutChange;
689
+ private setPath;
690
+ /**
691
+ * Called internally if any of the property value changed.
692
+ *
693
+ * @param {FileManager} newProp
694
+ * @param {FileManager} oldProp
695
+ * @returns void
696
+ * @private
697
+ */
698
+ onPropertyChanged(newProp: FileManagerModel, oldProp: FileManagerModel): void;
699
+ private ajaxSettingSetModel;
700
+ private localeSetModelOption;
701
+ /**
702
+ * Triggers when the component is destroyed.
703
+ *
704
+ * @returns {void}
705
+ */
706
+ destroy(): void;
707
+ /**
708
+ * Creates a new folder in file manager.
709
+ *
710
+ * @param {string} name – Specifies the name of new folder in current path.
711
+ * If it is not specified, then the default new folder dialog will be opened.
712
+ * @returns {void}
713
+ */
714
+ createFolder(name?: string): void;
715
+ /**
716
+ * Deletes the folders or files from the given unique identifiers.
717
+ *
718
+ * @param {string} ids - Specifies the name of folders or files in current path. If you want to delete the nested level folders or
719
+ * files, then specify the filter path along with name of the folders or files when performing the search or custom filtering.
720
+ * For ID based file provider, specify the unique identifier of folders or files.
721
+ * If it is not specified, then delete confirmation dialog will be opened for selected item.
722
+ *
723
+ * @returns {void}
724
+ */
725
+ deleteFiles(ids?: string[]): void;
726
+ /**
727
+ * Disables the specified toolbar items of the file manager.
728
+ *
729
+ * @param {string[]} items - Specifies an array of items to be disabled.
730
+ * @returns {void}
731
+ */
732
+ disableToolbarItems(items: string[]): void;
733
+ /**
734
+ * Downloads the folders or files from the given unique identifiers.
735
+ *
736
+ * @param {string} ids - Specifies the name of folders or files in current path. If you want to download the nested level folders
737
+ * or files, then specify the filter path along with name of the folders or files when performing search or custom filtering.
738
+ * For ID based file provider, specify the unique identifier of folders or files.
739
+ * If it is not specified, then the selected items will be downloaded.
740
+ *
741
+ * @returns {void}
742
+ */
743
+ downloadFiles(ids?: string[]): void;
744
+ /**
745
+ * Enables the specified toolbar items of the file manager.
746
+ *
747
+ * @param {string[]} items - Specifies an array of items to be enabled.
748
+ * @returns {void}
749
+ */
750
+ enableToolbarItems(items: string[]): void;
751
+ /**
752
+ * Enables the specified menu items of the file manager.
753
+ *
754
+ * @param {string[]} items - Specifies an array of items to be enabled.
755
+ * @returns {void}
756
+ */
757
+ enableMenuItems(items: string[]): void;
758
+ /**
759
+ * Disables the specified context menu items in file manager. This method is used only in the menuOpen event.
760
+ *
761
+ * @param {string[]} items - Specifies an array of items to be disabled.
762
+ * @returns {void}
763
+ */
764
+ disableMenuItems(items: string[]): void;
765
+ /**
766
+ * Returns the index position of given current context menu item in file manager.
767
+ *
768
+ * @param {string} item - Specifies an item to get the index position.
769
+ * @returns {number} - returns menu item index.
770
+ */
771
+ getMenuItemIndex(item: string): number;
772
+ /**
773
+ * Returns the index position of given toolbar item in file manager.
774
+ *
775
+ * @param {string} item - Specifies an item to get the index position.
776
+ * @returns {number} - returns toolbar item index.
777
+ */
778
+ getToolbarItemIndex(item: string): number;
779
+ /**
780
+ * Display the custom filtering files in file manager.
781
+ *
782
+ * @param {Object} filterData - Specifies the custom filter details along with custom file action name,
783
+ * which needs to be sent to the server side. If you do not specify the details, then default action name will be `filter`.
784
+ *
785
+ * @returns {void}
786
+ */
787
+ filterFiles(filterData?: Object): void;
788
+ /**
789
+ * Gets the details of the selected files in the file manager.
790
+ *
791
+ * @returns {Object[]} - returns selected files.
792
+ */
793
+ getSelectedFiles(): Object[];
794
+ /**
795
+ * Opens the corresponding file or folder from the given unique identifier.
796
+ *
797
+ * @param {string} id - Specifies the name of folder or file in current path. If you want to open the nested level folder or
798
+ * file, then specify the filter path along with name of the folder or file when performing search or custom filtering. For ID based
799
+ * file provider, specify the unique identifier of folder or file.
800
+ *
801
+ * @returns {void}
802
+ */
803
+ openFile(id: string): void;
804
+ /**
805
+ * Refreshes the folder files of the file manager.
806
+ *
807
+ * @returns {void}
808
+ */
809
+ refreshFiles(): void;
810
+ /**
811
+ * Refreshes the layout of the file manager.
812
+ *
813
+ * @returns {void}
814
+ */
815
+ refreshLayout(): void;
816
+ /**
817
+ * Selects the entire folders and files in current path.
818
+ *
819
+ * @returns {void}
820
+ */
821
+ selectAll(): void;
822
+ /**
823
+ * Specifies the method that must be invoked to traverse the path backwards in the file manager.
824
+ *
825
+ * @returns {void}
826
+ */
827
+ traverseBackward(): void;
828
+ /**
829
+ * Deselects the currently selected folders and files in current path.
830
+ *
831
+ * @returns {void}
832
+ */
833
+ clearSelection(): void;
834
+ /**
835
+ * Renames the file or folder with given new name in file manager.
836
+ *
837
+ * @param {string} id - Specifies the name of folder or file in current path. If you want to rename the nested level folder or
838
+ * file, then specify the filter path along with name of the folder or file when performing search or custom filtering. For ID based
839
+ * file provider, specify the unique identifier of folder or file.
840
+ * If it is not specified, then rename dialog will be opened for selected item.
841
+ *
842
+ * @param {string} name – Specifies the new name of the file or folder in current path. If it is not specified, then rename dialog
843
+ * will be opened for given identifier.
844
+ *
845
+ * @returns {void}
846
+ */
847
+ renameFile(id?: string, name?: string): void;
848
+ /**
849
+ * Opens the upload dialog in file manager.
850
+ *
851
+ * @returns {void}
852
+ */
853
+ uploadFiles(): void;
854
+ /**
855
+ * Specifies the method which must be invoked to programmatically close the dialog popup in the file manager.
856
+ *
857
+ * @returns {void}
858
+ */
859
+ closeDialog(): void;
860
+ /**
861
+ * Specifies the direction of FileManager
862
+ *
863
+ * @param {boolean} rtl - specifies rtl parameter.
864
+ * @returns {void}
865
+ */
866
+ private setRtl;
867
+ }