@syncfusion/ej2-filemanager 19.4.56 → 20.1.52-10459

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 (208) hide show
  1. package/.eslintrc.json +20 -3
  2. package/README.md +54 -43
  3. package/dist/ej2-filemanager.min.js +1 -0
  4. package/dist/ej2-filemanager.umd.min.js +1 -10
  5. package/dist/ej2-filemanager.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-filemanager.es2015.js +2371 -664
  7. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  8. package/dist/es6/ej2-filemanager.es5.js +2440 -714
  9. package/dist/es6/ej2-filemanager.es5.js.map +1 -1
  10. package/dist/global/ej2-filemanager.min.js +1 -10
  11. package/dist/global/ej2-filemanager.min.js.map +1 -1
  12. package/dist/global/index.d.ts +0 -9
  13. package/helpers/e2e/filemanagerHelper.js +183 -166
  14. package/package.json +71 -71
  15. package/src/file-manager/actions/breadcrumb-bar.js +1 -5
  16. package/src/file-manager/actions/index.d.ts +1 -0
  17. package/src/file-manager/actions/index.js +1 -0
  18. package/src/file-manager/actions/toolbar.d.ts +1 -0
  19. package/src/file-manager/actions/toolbar.js +135 -20
  20. package/src/file-manager/actions/virtualization.d.ts +93 -0
  21. package/src/file-manager/actions/virtualization.js +279 -0
  22. package/src/file-manager/base/file-manager-model.d.ts +161 -28
  23. package/src/file-manager/base/file-manager.d.ts +182 -28
  24. package/src/file-manager/base/file-manager.js +254 -29
  25. package/src/file-manager/base/interface.d.ts +329 -3
  26. package/src/file-manager/base/interface.js +0 -1
  27. package/src/file-manager/common/operations.d.ts +7 -0
  28. package/src/file-manager/common/operations.js +830 -185
  29. package/src/file-manager/common/utility.d.ts +46 -3
  30. package/src/file-manager/common/utility.js +249 -73
  31. package/src/file-manager/index.d.ts +1 -0
  32. package/src/file-manager/index.js +1 -0
  33. package/src/file-manager/layout/details-view.d.ts +10 -0
  34. package/src/file-manager/layout/details-view.js +204 -94
  35. package/src/file-manager/layout/large-icons-view.d.ts +4 -2
  36. package/src/file-manager/layout/large-icons-view.js +122 -73
  37. package/src/file-manager/layout/navigation-pane.d.ts +2 -0
  38. package/src/file-manager/layout/navigation-pane.js +97 -73
  39. package/src/file-manager/models/column-model.d.ts +23 -5
  40. package/src/file-manager/models/column.d.ts +21 -2
  41. package/src/file-manager/models/column.js +6 -0
  42. package/src/file-manager/models/default-locale.js +0 -1
  43. package/src/file-manager/models/details-view-settings-model.d.ts +1 -1
  44. package/src/file-manager/models/details-view-settings.js +8 -3
  45. package/src/file-manager/models/navigation-pane-settings.d.ts +8 -8
  46. package/src/file-manager/models/search-settings.d.ts +5 -0
  47. package/src/file-manager/models/toolbar-settings-model.d.ts +177 -2
  48. package/src/file-manager/models/toolbar-settings.d.ts +157 -2
  49. package/src/file-manager/models/toolbar-settings.js +64 -2
  50. package/src/file-manager/models/upload-settings-model.d.ts +13 -0
  51. package/src/file-manager/models/upload-settings.d.ts +12 -0
  52. package/src/file-manager/models/upload-settings.js +3 -0
  53. package/src/file-manager/pop-up/context-menu.d.ts +2 -1
  54. package/src/file-manager/pop-up/context-menu.js +111 -36
  55. package/src/file-manager/pop-up/dialog.d.ts +1 -2
  56. package/src/file-manager/pop-up/dialog.js +19 -40
  57. package/src/global.js +1 -1
  58. package/styles/bootstrap-dark-lite.css +1058 -0
  59. package/styles/bootstrap-dark-lite.scss +16 -0
  60. package/styles/bootstrap-dark.css +371 -665
  61. package/styles/bootstrap-dark.scss +17 -1
  62. package/styles/bootstrap-lite.css +1040 -0
  63. package/styles/bootstrap-lite.scss +16 -0
  64. package/styles/bootstrap.css +353 -644
  65. package/styles/bootstrap.scss +17 -1
  66. package/styles/bootstrap4-lite.css +1068 -0
  67. package/styles/bootstrap4-lite.scss +16 -0
  68. package/styles/bootstrap4.css +381 -680
  69. package/styles/bootstrap4.scss +17 -1
  70. package/styles/bootstrap5-dark-lite.css +1078 -0
  71. package/styles/bootstrap5-dark-lite.scss +16 -0
  72. package/styles/bootstrap5-dark.css +377 -695
  73. package/styles/bootstrap5-dark.scss +17 -1
  74. package/styles/bootstrap5-lite.css +1078 -0
  75. package/styles/bootstrap5-lite.scss +16 -0
  76. package/styles/bootstrap5.3-lite.css +1035 -0
  77. package/styles/bootstrap5.3-lite.scss +16 -0
  78. package/styles/bootstrap5.3.css +1603 -0
  79. package/styles/bootstrap5.3.scss +17 -0
  80. package/styles/bootstrap5.css +377 -695
  81. package/styles/bootstrap5.scss +17 -1
  82. package/styles/fabric-dark-lite.css +1039 -0
  83. package/styles/fabric-dark-lite.scss +16 -0
  84. package/styles/fabric-dark.css +358 -642
  85. package/styles/fabric-dark.scss +17 -1
  86. package/styles/fabric-lite.css +1039 -0
  87. package/styles/fabric-lite.scss +16 -0
  88. package/styles/fabric.css +357 -641
  89. package/styles/fabric.scss +17 -1
  90. package/styles/file-manager/_all.scss +1 -1
  91. package/styles/file-manager/_bds-definition.scss +236 -0
  92. package/styles/file-manager/_bigger.scss +758 -0
  93. package/styles/file-manager/_bootstrap-dark-definition.scss +6 -2
  94. package/styles/file-manager/_bootstrap-definition.scss +6 -2
  95. package/styles/file-manager/_bootstrap4-definition.scss +6 -2
  96. package/styles/file-manager/_bootstrap5-definition.scss +21 -16
  97. package/styles/file-manager/_bootstrap5.3-definition.scss +242 -0
  98. package/styles/file-manager/_fabric-dark-definition.scss +6 -2
  99. package/styles/file-manager/_fabric-definition.scss +6 -2
  100. package/styles/file-manager/_fluent-dark-definition.scss +1 -0
  101. package/styles/file-manager/_fluent-definition.scss +26 -22
  102. package/styles/file-manager/_fluent2-definition.scss +255 -0
  103. package/styles/file-manager/_fusionnew-definition.scss +241 -0
  104. package/styles/file-manager/_highcontrast-definition.scss +6 -2
  105. package/styles/file-manager/_highcontrast-light-definition.scss +6 -2
  106. package/styles/file-manager/_layout.scss +373 -912
  107. package/styles/file-manager/_material-dark-definition.scss +7 -2
  108. package/styles/file-manager/_material-definition.scss +7 -2
  109. package/styles/file-manager/_material3-dark-definition.scss +1 -0
  110. package/styles/file-manager/_material3-definition.scss +235 -0
  111. package/styles/file-manager/_tailwind-definition.scss +20 -16
  112. package/styles/file-manager/_theme.scss +130 -99
  113. package/styles/file-manager/bootstrap-dark.css +371 -665
  114. package/styles/file-manager/bootstrap-dark.scss +2 -1
  115. package/styles/file-manager/bootstrap.css +353 -644
  116. package/styles/file-manager/bootstrap.scss +2 -1
  117. package/styles/file-manager/bootstrap4.css +381 -680
  118. package/styles/file-manager/bootstrap4.scss +2 -1
  119. package/styles/file-manager/bootstrap5-dark.css +377 -695
  120. package/styles/file-manager/bootstrap5-dark.scss +2 -1
  121. package/styles/file-manager/bootstrap5.3.css +1603 -0
  122. package/styles/file-manager/bootstrap5.3.scss +17 -0
  123. package/styles/file-manager/bootstrap5.css +377 -695
  124. package/styles/file-manager/bootstrap5.scss +2 -1
  125. package/styles/file-manager/fabric-dark.css +358 -642
  126. package/styles/file-manager/fabric-dark.scss +2 -1
  127. package/styles/file-manager/fabric.css +357 -641
  128. package/styles/file-manager/fabric.scss +2 -1
  129. package/styles/file-manager/fluent-dark.css +1616 -0
  130. package/styles/file-manager/fluent-dark.scss +17 -0
  131. package/styles/file-manager/fluent.css +1615 -0
  132. package/styles/file-manager/fluent.scss +17 -0
  133. package/styles/file-manager/fluent2.css +1886 -0
  134. package/styles/file-manager/fluent2.scss +17 -0
  135. package/styles/file-manager/highcontrast-light.css +354 -644
  136. package/styles/file-manager/highcontrast-light.scss +2 -1
  137. package/styles/file-manager/highcontrast.css +377 -647
  138. package/styles/file-manager/highcontrast.scss +2 -1
  139. package/styles/file-manager/icons/_bds.scss +235 -0
  140. package/styles/file-manager/icons/_bootstrap.scss +0 -1
  141. package/styles/file-manager/icons/_bootstrap4.scss +0 -1
  142. package/styles/file-manager/icons/_bootstrap5.3.scss +235 -0
  143. package/styles/file-manager/icons/_fabric-dark.scss +0 -1
  144. package/styles/file-manager/icons/_fabric.scss +0 -1
  145. package/styles/file-manager/icons/_fluent-dark.scss +1 -0
  146. package/styles/file-manager/icons/_fluent.scss +19 -19
  147. package/styles/file-manager/icons/_fluent2.scss +235 -0
  148. package/styles/file-manager/icons/_fusionnew.scss +235 -0
  149. package/styles/file-manager/icons/_material3-dark.scss +1 -0
  150. package/styles/file-manager/icons/_material3.scss +235 -0
  151. package/styles/file-manager/icons/_tailwind.scss +49 -49
  152. package/styles/file-manager/material-dark.css +392 -671
  153. package/styles/file-manager/material-dark.scss +2 -1
  154. package/styles/file-manager/material.css +391 -654
  155. package/styles/file-manager/material.scss +2 -1
  156. package/styles/file-manager/material3-dark.css +1633 -0
  157. package/styles/file-manager/material3-dark.scss +18 -0
  158. package/styles/file-manager/material3.css +1635 -0
  159. package/styles/file-manager/material3.scss +18 -0
  160. package/styles/file-manager/tailwind-dark.css +369 -686
  161. package/styles/file-manager/tailwind-dark.scss +2 -1
  162. package/styles/file-manager/tailwind.css +369 -686
  163. package/styles/file-manager/tailwind.scss +2 -1
  164. package/styles/fluent-dark-lite.css +1037 -0
  165. package/styles/fluent-dark-lite.scss +16 -0
  166. package/styles/fluent-dark.css +1616 -0
  167. package/styles/fluent-dark.scss +17 -0
  168. package/styles/fluent-lite.css +1036 -0
  169. package/styles/fluent-lite.scss +16 -0
  170. package/styles/fluent.css +1615 -0
  171. package/styles/fluent.scss +17 -0
  172. package/styles/fluent2-lite.css +1272 -0
  173. package/styles/fluent2-lite.scss +16 -0
  174. package/styles/fluent2.css +1886 -0
  175. package/styles/fluent2.scss +17 -0
  176. package/styles/highcontrast-light-lite.css +1039 -0
  177. package/styles/highcontrast-light-lite.scss +16 -0
  178. package/styles/highcontrast-light.css +354 -644
  179. package/styles/highcontrast-light.scss +17 -1
  180. package/styles/highcontrast-lite.css +1059 -0
  181. package/styles/highcontrast-lite.scss +16 -0
  182. package/styles/highcontrast.css +377 -647
  183. package/styles/highcontrast.scss +17 -1
  184. package/styles/material-dark-lite.css +1092 -0
  185. package/styles/material-dark-lite.scss +16 -0
  186. package/styles/material-dark.css +392 -671
  187. package/styles/material-dark.scss +17 -1
  188. package/styles/material-lite.css +1097 -0
  189. package/styles/material-lite.scss +16 -0
  190. package/styles/material.css +391 -654
  191. package/styles/material.scss +17 -1
  192. package/styles/material3-dark-lite.css +1090 -0
  193. package/styles/material3-dark-lite.scss +16 -0
  194. package/styles/material3-dark.css +1633 -0
  195. package/styles/material3-dark.scss +19 -0
  196. package/styles/material3-lite.css +1092 -0
  197. package/styles/material3-lite.scss +16 -0
  198. package/styles/material3.css +1635 -0
  199. package/styles/material3.scss +19 -0
  200. package/styles/tailwind-dark-lite.css +1060 -0
  201. package/styles/tailwind-dark-lite.scss +16 -0
  202. package/styles/tailwind-dark.css +369 -686
  203. package/styles/tailwind-dark.scss +17 -1
  204. package/styles/tailwind-lite.css +1060 -0
  205. package/styles/tailwind-lite.scss +16 -0
  206. package/styles/tailwind.css +369 -686
  207. package/styles/tailwind.scss +17 -1
  208. package/CHANGELOG.md +0 -466
@@ -3,6 +3,7 @@ import { INotifyPropertyChanged } from '@syncfusion/ej2-base';
3
3
  import { Splitter } from '@syncfusion/ej2-layouts';
4
4
  import { Dialog } from '@syncfusion/ej2-popups';
5
5
  import { ToolbarSettingsModel } from '../models/index';
6
+ import { ToolbarItemModel } from '../models/index';
6
7
  import { NavigationPaneSettingsModel, DetailsViewSettingsModel } from '../models/index';
7
8
  import { AjaxSettingsModel, SearchSettingsModel } from '../models/index';
8
9
  import { Toolbar } from '../actions/toolbar';
@@ -12,14 +13,16 @@ import { Uploader, FileInfo } from '@syncfusion/ej2-inputs';
12
13
  import { UploadSettingsModel } from '../models/upload-settings-model';
13
14
  import { FileManagerModel } from './file-manager-model';
14
15
  import { ITreeView, IContextMenu, ViewType, SortOrder, FileDragEventArgs, RetryArgs, FileSelectionEventArgs } from './interface';
15
- import { BeforeSendEventArgs, SuccessEventArgs, FailureEventArgs, FileLoadEventArgs } from './interface';
16
- import { FileOpenEventArgs, FileSelectEventArgs, MenuClickEventArgs, MenuOpenEventArgs } from './interface';
16
+ import { BeforeSendEventArgs, SuccessEventArgs, FailureEventArgs, FileLoadEventArgs, FolderCreateEventArgs, DeleteEventArgs, RenameEventArgs, MoveEventArgs, SearchEventArgs } from './interface';
17
+ import { FileOpenEventArgs, FileSelectEventArgs, MenuClickEventArgs, MenuOpenEventArgs, MenuCloseEventArgs } from './interface';
17
18
  import { ToolbarClickEventArgs, ToolbarCreateEventArgs, UploadListCreateArgs } from './interface';
18
19
  import { PopupOpenCloseEventArgs, BeforePopupOpenCloseEventArgs, BeforeDownloadEventArgs, BeforeImageLoadEventArgs } from './interface';
19
20
  import { TreeView as BaseTreeView } from '@syncfusion/ej2-navigations';
20
21
  import { ContextMenuSettingsModel } from '../models/contextMenu-settings-model';
21
22
  import { BreadCrumbBar } from '../actions/breadcrumb-bar';
22
23
  import { PositionModel } from '@syncfusion/ej2-base/src/draggable-model';
24
+ import { Virtualization } from '../actions/virtualization';
25
+ import { SortComparer } from './interface';
23
26
  /**
24
27
  * The FileManager component allows users to access and manage the file system through the web browser. It can performs the
25
28
  * functionalities like add, rename, search, sort, upload and delete files or folders. And also it
@@ -45,6 +48,8 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
45
48
  contextmenuModule: IContextMenu;
46
49
  /** @hidden */
47
50
  breadcrumbbarModule: BreadCrumbBar;
51
+ /** @hidden */
52
+ virtualizationModule: Virtualization;
48
53
  private keyboardModule;
49
54
  private keyConfigs;
50
55
  filterData: Object;
@@ -76,6 +81,10 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
76
81
  nextPath: string[];
77
82
  fileAction: string;
78
83
  pasteNodes: string[];
84
+ responseData: {
85
+ [key: string]: Object;
86
+ };
87
+ existingFileCount: number;
79
88
  isLayoutChange: boolean;
80
89
  replaceItems: string[];
81
90
  createdItem: {
@@ -94,7 +103,6 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
94
103
  isMobile: boolean;
95
104
  isBigger: boolean;
96
105
  isFile: boolean;
97
- sortBy: string;
98
106
  actionRecords: Object[];
99
107
  activeRecords: Object[];
100
108
  isCut: boolean;
@@ -142,6 +150,14 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
142
150
  destinationPath: string;
143
151
  uploadingCount: number;
144
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;
145
161
  /**
146
162
  * Specifies the AJAX settings of the file manager.
147
163
  *
@@ -153,6 +169,16 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
153
169
  * }
154
170
  */
155
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
+ }[];
156
182
  /**
157
183
  * Enables or disables drag-and-drop of files.
158
184
  *
@@ -165,6 +191,12 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
165
191
  * @default true
166
192
  */
167
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;
168
200
  /**
169
201
  * Specifies the context menu settings of the file manager.
170
202
  *
@@ -210,6 +242,14 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
210
242
  * @default false
211
243
  */
212
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;
213
253
  /**
214
254
  * Specifies the height of the file manager.
215
255
  *
@@ -299,6 +339,30 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
299
339
  * @default 'Ascending'
300
340
  */
301
341
  sortOrder: SortOrder;
342
+ /**
343
+ * Specifies the field name being used as the sorting criteria to sort the files of the file manager component.
344
+ *
345
+ * @default 'name'
346
+ */
347
+ sortBy: string;
348
+ /**
349
+ * Defines the custom sorting function.
350
+ * The sort comparer function has the same functionality like
351
+ * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
352
+ * This can be used to customize the default sorting functionalities with required comparison values.
353
+ *
354
+ * @default null
355
+ * @aspType string
356
+ */
357
+ sortComparer: SortComparer | string;
358
+ /**
359
+ * Gets or sets a value that indicates whether the File Manager allows multiple items selection with mouse dragging.
360
+ * Set this property to true to allow users to select multiple items with mouse drag as like file explorer. Hover over
361
+ * the files or folders and drag the mouse to select the required items.
362
+ *
363
+ * @default false
364
+ */
365
+ enableRangeSelection: boolean;
302
366
  /**
303
367
  * Specifies the group of items aligned horizontally in the toolbar.
304
368
  *
@@ -309,6 +373,16 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
309
373
  * }
310
374
  */
311
375
  toolbarSettings: ToolbarSettingsModel;
376
+ /**
377
+ * An array of items that are used to configure File Manager toolbar items.
378
+ *
379
+ * @remarks
380
+ * 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.
381
+ *
382
+ * @default []
383
+ *
384
+ */
385
+ toolbarItems: ToolbarItemModel[];
312
386
  /**
313
387
  * Specifies the upload settings for the file manager.
314
388
  *
@@ -317,7 +391,8 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
317
391
  * minFileSize: 0,
318
392
  * maxFileSize: 30000000,
319
393
  * allowedExtensions: '',
320
- * autoClose: false
394
+ * autoClose: false,
395
+ * directoryUpload: false
321
396
  * }
322
397
  */
323
398
  uploadSettings: UploadSettingsModel;
@@ -330,144 +405,205 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
330
405
  /**
331
406
  * Triggers before the file/folder is rendered.
332
407
  *
333
- * @event
408
+ * @event fileLoad
334
409
  */
335
410
  fileLoad: EmitType<FileLoadEventArgs>;
336
411
  /**
337
412
  * Triggers before the file/folder is opened.
338
413
  *
339
- * @event
414
+ * @event fileOpen
340
415
  */
341
416
  fileOpen: EmitType<FileOpenEventArgs>;
342
417
  /**
343
418
  * Triggers before sending the download request to the server.
344
419
  *
345
- * @event
420
+ * @event beforeDownload
346
421
  */
347
422
  beforeDownload: EmitType<BeforeDownloadEventArgs>;
348
423
  /**
349
424
  * Triggers before sending the getImage request to the server.
350
425
  *
351
- * @event
426
+ * @event beforeImageLoad
352
427
  */
353
428
  beforeImageLoad: EmitType<BeforeImageLoadEventArgs>;
354
429
  /**
355
430
  * Triggers before the dialog is closed.
356
431
  *
357
- * @event
432
+ * @event beforePopupClose
358
433
  */
359
434
  beforePopupClose: EmitType<BeforePopupOpenCloseEventArgs>;
360
435
  /**
361
436
  * Triggers before the dialog is opened.
362
437
  *
363
- * @event
438
+ * @event beforePopupOpen
364
439
  */
365
440
  beforePopupOpen: EmitType<BeforePopupOpenCloseEventArgs>;
366
441
  /**
367
442
  * Triggers before sending the AJAX request to the server.
368
443
  *
369
- * @event
444
+ * @event beforeSend
370
445
  */
371
446
  beforeSend: EmitType<BeforeSendEventArgs>;
372
447
  /**
373
448
  * Triggers when the file manager component is created.
374
449
  *
375
- * @event
450
+ * @event created
376
451
  */
377
452
  created: EmitType<Object>;
453
+ /**
454
+ * This event is triggered before a folder is created. It allows for the restriction of folder creation based on the application's use case.
455
+ *
456
+ * @event beforeFolderCreate
457
+ */
458
+ beforeFolderCreate: EmitType<FolderCreateEventArgs>;
459
+ /**
460
+ * This event is triggered when a folder is successfully created. It provides an opportunity to retrieve details about the newly created folder.
461
+ *
462
+ * @event folderCreate
463
+ */
464
+ folderCreate: EmitType<FolderCreateEventArgs>;
378
465
  /**
379
466
  * Triggers when the file manager component is destroyed.
380
467
  *
381
- * @event
468
+ * @event destroyed
382
469
  */
383
470
  destroyed: EmitType<Object>;
471
+ /**
472
+ * 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.
473
+ *
474
+ * @event beforeDelete
475
+ */
476
+ beforeDelete: EmitType<DeleteEventArgs>;
477
+ /**
478
+ * 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.
479
+ *
480
+ * @event delete
481
+ */
482
+ delete: EmitType<DeleteEventArgs>;
483
+ /**
484
+ * 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.
485
+ *
486
+ * @event beforeRename
487
+ */
488
+ beforeRename: EmitType<RenameEventArgs>;
489
+ /**
490
+ * This event is triggered when a file or folder is successfully renamed. It provides an opportunity to fetch details about the renamed file.
491
+ *
492
+ * @event rename
493
+ */
494
+ rename: EmitType<RenameEventArgs>;
495
+ /**
496
+ * This event is triggered when a file or folder begins to move from its current path through a copy/cut and paste action.
497
+ *
498
+ * @event beforeMove
499
+ */
500
+ beforeMove: EmitType<MoveEventArgs>;
501
+ /**
502
+ * This event is triggered when a file or folder is pasted into the destination path.
503
+ *
504
+ * @event move
505
+ */
506
+ move: EmitType<MoveEventArgs>;
507
+ /**
508
+ * 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.
509
+ *
510
+ * @event search
511
+ */
512
+ search: EmitType<SearchEventArgs>;
384
513
  /**
385
514
  * Triggers when the file/folder dragging is started.
386
515
  *
387
- * @event
516
+ * @event fileDragStart
388
517
  */
389
518
  fileDragStart: EmitType<FileDragEventArgs>;
390
519
  /**
391
520
  * Triggers while dragging the file/folder.
392
521
  *
393
- * @event
522
+ * @event fileDragging
394
523
  */
395
524
  fileDragging: EmitType<FileDragEventArgs>;
396
525
  /**
397
526
  * Triggers when the file/folder is about to be dropped at the target.
398
527
  *
399
- * @event
528
+ * @event fileDragStop
400
529
  */
401
530
  fileDragStop: EmitType<FileDragEventArgs>;
402
531
  /**
403
532
  * Triggers when the file/folder is dropped.
404
533
  *
405
- * @event
534
+ * @event fileDropped
406
535
  */
407
536
  fileDropped: EmitType<FileDragEventArgs>;
408
537
  /**
409
538
  * Triggers before the file/folder is selected.
410
539
  *
411
- * @event
540
+ * @event fileSelection
412
541
  */
413
542
  fileSelection: EmitType<FileSelectionEventArgs>;
414
543
  /**
415
544
  * Triggers when the file/folder is selected/unselected.
416
545
  *
417
- * @event
546
+ * @event fileSelect
418
547
  */
419
548
  fileSelect: EmitType<FileSelectEventArgs>;
420
549
  /**
421
550
  * Triggers when the context menu item is clicked.
422
551
  *
423
- * @event
552
+ * @event menuClick
424
553
  */
425
554
  menuClick: EmitType<MenuClickEventArgs>;
426
555
  /**
427
556
  * Triggers before the context menu is opened.
428
557
  *
429
- * @event
558
+ * @event menuOpen
430
559
  */
431
560
  menuOpen: EmitType<MenuOpenEventArgs>;
561
+ /**
562
+ * Triggers before the context menu is closed.
563
+ *
564
+ * @event menuClose
565
+ */
566
+ menuClose: EmitType<MenuCloseEventArgs>;
432
567
  /**
433
568
  * Triggers when the AJAX request is failed.
434
569
  *
435
- * @event
570
+ * @event failure
436
571
  */
437
572
  failure: EmitType<FailureEventArgs>;
438
573
  /**
439
574
  * Triggers when the dialog is closed.
440
575
  *
441
- * @event
576
+ * @event popupClose
442
577
  */
443
578
  popupClose: EmitType<PopupOpenCloseEventArgs>;
444
579
  /**
445
580
  * Triggers when the dialog is opened.
446
581
  *
447
- * @event
582
+ * @event popupOpen
448
583
  */
449
584
  popupOpen: EmitType<PopupOpenCloseEventArgs>;
450
585
  /**
451
586
  * Triggers when the AJAX request is success.
452
- * @event
587
+ *
588
+ * @event success
453
589
  */
454
590
  success: EmitType<SuccessEventArgs>;
455
591
  /**
456
592
  * Triggers when the toolbar item is clicked.
457
593
  *
458
- * @event
594
+ * @event toolbarClick
459
595
  */
460
596
  toolbarClick: EmitType<ToolbarClickEventArgs>;
461
597
  /**
462
598
  * Triggers before creating the toolbar.
463
599
  *
464
- * @event
600
+ * @event toolbarCreate
465
601
  */
466
602
  toolbarCreate: EmitType<ToolbarCreateEventArgs>;
467
603
  /**
468
604
  * Triggers before rendering each file item in upload dialog box.
469
605
  *
470
- * @event
606
+ * @event uploadListCreate
471
607
  */
472
608
  uploadListCreate: EmitType<UploadListCreateArgs>;
473
609
  constructor(options?: FileManagerModel, element?: string | HTMLElement);
@@ -538,8 +674,14 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
538
674
  private onDetailsInit;
539
675
  private resizeHandler;
540
676
  private keyActionHandler;
677
+ private wireSelectOnDragEvent;
541
678
  private wireEvents;
542
679
  private unWireEvents;
680
+ private onDragStart;
681
+ private onDrag;
682
+ private onDragStop;
683
+ private selectItems;
684
+ private onLayoutChange;
543
685
  private setPath;
544
686
  /**
545
687
  * Called internally if any of the property value changed.
@@ -666,6 +808,12 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
666
808
  * @returns {void}
667
809
  */
668
810
  selectAll(): void;
811
+ /**
812
+ * Specifies the method that must be invoked to traverse the path backwards in the file manager.
813
+ *
814
+ * @returns {void}
815
+ */
816
+ traverseBackward(): void;
669
817
  /**
670
818
  * Deselects the currently selected folders and files in current path.
671
819
  *
@@ -692,6 +840,12 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
692
840
  * @returns {void}
693
841
  */
694
842
  uploadFiles(): void;
843
+ /**
844
+ * Specifies the method which must be invoked to programmatically close the dialog popup in the file manager.
845
+ *
846
+ * @returns {void}
847
+ */
848
+ closeDialog(): void;
695
849
  /**
696
850
  * Specifies the direction of FileManager
697
851
  *