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

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 (172) hide show
  1. package/CHANGELOG.md +412 -410
  2. package/README.md +69 -69
  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 +57 -54
  7. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  8. package/dist/es6/ej2-filemanager.es5.js +174 -171
  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/dist/ts/file-manager/actions/breadcrumb-bar.ts +427 -0
  14. package/dist/ts/file-manager/actions/toolbar.ts +498 -0
  15. package/dist/ts/file-manager/base/classes.ts +225 -0
  16. package/dist/ts/file-manager/base/constant.ts +137 -0
  17. package/dist/ts/file-manager/base/file-manager.ts +1659 -0
  18. package/dist/ts/file-manager/base/interface.ts +652 -0
  19. package/dist/ts/file-manager/common/operations.ts +614 -0
  20. package/dist/ts/file-manager/common/utility.ts +1503 -0
  21. package/dist/ts/file-manager/layout/details-view.ts +1837 -0
  22. package/dist/ts/file-manager/layout/large-icons-view.ts +1587 -0
  23. package/dist/ts/file-manager/layout/navigation-pane.ts +879 -0
  24. package/dist/ts/file-manager/models/ajax-settings.ts +39 -0
  25. package/dist/ts/file-manager/models/column.ts +197 -0
  26. package/dist/ts/file-manager/models/contextMenu-settings.ts +44 -0
  27. package/dist/ts/file-manager/models/default-locale.ts +102 -0
  28. package/dist/ts/file-manager/models/details-view-settings.ts +48 -0
  29. package/dist/ts/file-manager/models/navigation-pane-settings.ts +42 -0
  30. package/dist/ts/file-manager/models/search-settings.ts +48 -0
  31. package/dist/ts/file-manager/models/toolbar-settings.ts +25 -0
  32. package/dist/ts/file-manager/models/upload-settings.ts +51 -0
  33. package/dist/ts/file-manager/pop-up/context-menu.ts +614 -0
  34. package/dist/ts/file-manager/pop-up/dialog.ts +996 -0
  35. package/helpers/e2e/filemanagerHelper.js +183 -166
  36. package/license +9 -9
  37. package/package.json +72 -72
  38. package/src/file-manager/base/file-manager-model.d.ts +329 -329
  39. package/src/file-manager/base/file-manager.js +19 -19
  40. package/src/file-manager/models/ajax-settings-model.d.ts +21 -21
  41. package/src/file-manager/models/ajax-settings.js +19 -19
  42. package/src/file-manager/models/column-model.d.ts +98 -98
  43. package/src/file-manager/models/column.js +19 -19
  44. package/src/file-manager/models/contextMenu-settings-model.d.ts +21 -21
  45. package/src/file-manager/models/contextMenu-settings.js +19 -19
  46. package/src/file-manager/models/details-view-settings-model.d.ts +19 -19
  47. package/src/file-manager/models/details-view-settings.js +19 -19
  48. package/src/file-manager/models/navigation-pane-settings-model.d.ts +25 -25
  49. package/src/file-manager/models/navigation-pane-settings.js +19 -19
  50. package/src/file-manager/models/search-settings-model.d.ts +26 -26
  51. package/src/file-manager/models/search-settings.js +19 -19
  52. package/src/file-manager/models/toolbar-settings-model.d.ts +11 -11
  53. package/src/file-manager/models/toolbar-settings.js +19 -19
  54. package/src/file-manager/models/upload-settings-model.d.ts +31 -31
  55. package/src/file-manager/models/upload-settings.js +19 -19
  56. package/src/file-manager/pop-up/context-menu.js +3 -0
  57. package/styles/compatibility/bootstrap.css +1 -0
  58. package/styles/compatibility/bootstrap.scss +12 -0
  59. package/styles/compatibility/bootstrap4.css +1 -0
  60. package/styles/compatibility/bootstrap4.scss +12 -0
  61. package/styles/compatibility/fabric.css +1 -0
  62. package/styles/compatibility/fabric.scss +12 -0
  63. package/styles/compatibility/highcontrast.css +1 -0
  64. package/styles/compatibility/highcontrast.scss +12 -0
  65. package/styles/compatibility/material.css +1 -0
  66. package/styles/compatibility/material.scss +12 -0
  67. package/styles/file-manager/_all.scss +2 -2
  68. package/styles/file-manager/_bds-definition.scss +236 -0
  69. package/styles/file-manager/_bigger.scss +759 -0
  70. package/styles/file-manager/_bootstrap-dark-definition.scss +244 -240
  71. package/styles/file-manager/_bootstrap-definition.scss +245 -241
  72. package/styles/file-manager/_bootstrap4-definition.scss +246 -242
  73. package/styles/file-manager/_bootstrap5-definition.scss +242 -237
  74. package/styles/file-manager/_bootstrap5.3-definition.scss +242 -0
  75. package/styles/file-manager/_fabric-dark-definition.scss +242 -238
  76. package/styles/file-manager/_fabric-definition.scss +244 -240
  77. package/styles/file-manager/_fluent-definition.scss +249 -246
  78. package/styles/file-manager/_fluent2-definition.scss +255 -0
  79. package/styles/file-manager/_fusionnew-definition.scss +241 -0
  80. package/styles/file-manager/_highcontrast-definition.scss +244 -240
  81. package/styles/file-manager/_highcontrast-light-definition.scss +244 -240
  82. package/styles/file-manager/_layout.scss +1252 -1815
  83. package/styles/file-manager/_material-dark-definition.scss +245 -240
  84. package/styles/file-manager/_material-definition.scss +245 -240
  85. package/styles/file-manager/_material3-definition.scss +235 -0
  86. package/styles/file-manager/_tailwind-definition.scss +236 -232
  87. package/styles/file-manager/_theme.scss +418 -397
  88. package/styles/file-manager/icons/_bds.scss +235 -0
  89. package/styles/file-manager/icons/_bootstrap-dark.scss +235 -235
  90. package/styles/file-manager/icons/_bootstrap.scss +235 -236
  91. package/styles/file-manager/icons/_bootstrap4.scss +235 -236
  92. package/styles/file-manager/icons/_bootstrap5.3.scss +235 -0
  93. package/styles/file-manager/icons/_bootstrap5.scss +235 -235
  94. package/styles/file-manager/icons/_fabric-dark.scss +229 -230
  95. package/styles/file-manager/icons/_fabric.scss +229 -230
  96. package/styles/file-manager/icons/_fluent.scss +235 -235
  97. package/styles/file-manager/icons/_fluent2.scss +235 -0
  98. package/styles/file-manager/icons/_fusionnew.scss +235 -0
  99. package/styles/file-manager/icons/_highcontrast-light.scss +235 -235
  100. package/styles/file-manager/icons/_highcontrast.scss +229 -229
  101. package/styles/file-manager/icons/_material-dark.scss +235 -235
  102. package/styles/file-manager/icons/_material.scss +235 -235
  103. package/styles/file-manager/icons/_material3.scss +235 -0
  104. package/styles/file-manager/icons/_tailwind.scss +235 -235
  105. package/.eslintrc.json +0 -244
  106. package/styles/bootstrap-dark.css +0 -1920
  107. package/styles/bootstrap-dark.scss +0 -1
  108. package/styles/bootstrap.css +0 -1899
  109. package/styles/bootstrap.scss +0 -1
  110. package/styles/bootstrap4.css +0 -1935
  111. package/styles/bootstrap4.scss +0 -1
  112. package/styles/bootstrap5-dark.css +0 -1982
  113. package/styles/bootstrap5-dark.scss +0 -1
  114. package/styles/bootstrap5.css +0 -1982
  115. package/styles/bootstrap5.scss +0 -1
  116. package/styles/fabric-dark.css +0 -1891
  117. package/styles/fabric-dark.scss +0 -1
  118. package/styles/fabric.css +0 -1891
  119. package/styles/fabric.scss +0 -1
  120. package/styles/file-manager/_bootstrap5-dark-definition.scss +0 -1
  121. package/styles/file-manager/_fluent-dark-definition.scss +0 -1
  122. package/styles/file-manager/_tailwind-dark-definition.scss +0 -1
  123. package/styles/file-manager/bootstrap-dark.css +0 -1920
  124. package/styles/file-manager/bootstrap-dark.scss +0 -16
  125. package/styles/file-manager/bootstrap.css +0 -1899
  126. package/styles/file-manager/bootstrap.scss +0 -16
  127. package/styles/file-manager/bootstrap4.css +0 -1935
  128. package/styles/file-manager/bootstrap4.scss +0 -16
  129. package/styles/file-manager/bootstrap5-dark.css +0 -1982
  130. package/styles/file-manager/bootstrap5-dark.scss +0 -16
  131. package/styles/file-manager/bootstrap5.css +0 -1982
  132. package/styles/file-manager/bootstrap5.scss +0 -16
  133. package/styles/file-manager/fabric-dark.css +0 -1891
  134. package/styles/file-manager/fabric-dark.scss +0 -16
  135. package/styles/file-manager/fabric.css +0 -1891
  136. package/styles/file-manager/fabric.scss +0 -16
  137. package/styles/file-manager/fluent-dark.css +0 -1901
  138. package/styles/file-manager/fluent-dark.scss +0 -16
  139. package/styles/file-manager/fluent.css +0 -1900
  140. package/styles/file-manager/fluent.scss +0 -16
  141. package/styles/file-manager/highcontrast-light.css +0 -1897
  142. package/styles/file-manager/highcontrast-light.scss +0 -16
  143. package/styles/file-manager/highcontrast.css +0 -1897
  144. package/styles/file-manager/highcontrast.scss +0 -16
  145. package/styles/file-manager/icons/_bootstrap5-dark.scss +0 -1
  146. package/styles/file-manager/icons/_fluent-dark.scss +0 -1
  147. package/styles/file-manager/icons/_tailwind-dark.scss +0 -1
  148. package/styles/file-manager/material-dark.css +0 -1945
  149. package/styles/file-manager/material-dark.scss +0 -16
  150. package/styles/file-manager/material.css +0 -1932
  151. package/styles/file-manager/material.scss +0 -16
  152. package/styles/file-manager/tailwind-dark.css +0 -1969
  153. package/styles/file-manager/tailwind-dark.scss +0 -16
  154. package/styles/file-manager/tailwind.css +0 -1969
  155. package/styles/file-manager/tailwind.scss +0 -16
  156. package/styles/fluent-dark.css +0 -1901
  157. package/styles/fluent-dark.scss +0 -1
  158. package/styles/fluent.css +0 -1900
  159. package/styles/fluent.scss +0 -1
  160. package/styles/highcontrast-light.css +0 -1897
  161. package/styles/highcontrast-light.scss +0 -1
  162. package/styles/highcontrast.css +0 -1897
  163. package/styles/highcontrast.scss +0 -1
  164. package/styles/material-dark.css +0 -1945
  165. package/styles/material-dark.scss +0 -1
  166. package/styles/material.css +0 -1932
  167. package/styles/material.scss +0 -1
  168. package/styles/tailwind-dark.css +0 -1969
  169. package/styles/tailwind-dark.scss +0 -1
  170. package/styles/tailwind.css +0 -1969
  171. package/styles/tailwind.scss +0 -1
  172. package/tslint.json +0 -111
@@ -0,0 +1,652 @@
1
+ import { Component, EmitType, L10n } from '@syncfusion/ej2-base';
2
+ import { Dialog, ButtonPropsModel } from '@syncfusion/ej2-popups';
3
+ import { FileManagerModel } from '../base/file-manager-model';
4
+ import { ToolbarSettingsModel, AjaxSettingsModel } from '../models/index';
5
+ import { TreeView, ContextMenu, MenuItemModel, ItemModel } from '@syncfusion/ej2-navigations';
6
+ import { DetailsView } from '../layout/details-view';
7
+ import { Toolbar } from '../actions/toolbar';
8
+ import { Splitter } from '@syncfusion/ej2-layouts';
9
+ import { SearchSettingsModel } from '../models/search-settings-model';
10
+ import { ContextMenuSettingsModel } from '../models/contextMenu-settings-model';
11
+ import { LargeIconsView } from '../layout';
12
+ import { NavigationPaneSettingsModel } from '../models/navigation-pane-settings-model';
13
+ import { Uploader } from '@syncfusion/ej2-inputs';
14
+ import { BreadCrumbBar } from '../actions';
15
+ import { PositionModel } from '@syncfusion/ej2-base/src/draggable-model';
16
+
17
+ /**
18
+ * Defines the view type of the FileManager.
19
+ */
20
+ export type ViewType = 'LargeIcons' | 'Details';
21
+ /**
22
+ * Defines the files sorting order in FileManager.
23
+ */
24
+ export type SortOrder = 'Ascending' |'Descending'| 'None';
25
+
26
+ /**
27
+ * Defines the Toolbar items of the FileManager.
28
+ */
29
+ export type ToolBarItems = 'NewFolder' | 'Upload' | 'Cut' | 'Copy' | 'Paste' | 'Delete' | 'Download'
30
+ | 'Rename' | 'SortBy' | 'Refresh' | 'Selection' | 'View' | 'Details';
31
+ /**
32
+ * Defines the Context menu items for the FileManager.
33
+ */
34
+ export type MenuItems = 'NewFolder' | 'Upload' | 'Cut' | 'Copy' | 'Paste' | 'Delete' | 'Download'
35
+ | 'Rename' | 'SortBy' | 'Refresh' | 'SelectAll' | 'View' | 'Details' | 'Open';
36
+
37
+ /**
38
+ * Interfaces for File Manager Toolbar items.
39
+ */
40
+ export interface IToolBarItems {
41
+ template?: string;
42
+ tooltipText?: string;
43
+ }
44
+ /** @hidden */
45
+ export interface NotifyArgs {
46
+ module?: string;
47
+ newProp?: FileManagerModel;
48
+ oldProp?: FileManagerModel;
49
+ target?: Element;
50
+ selectedNode?: string;
51
+ }
52
+ /** @hidden */
53
+ export interface ReadArgs {
54
+ // eslint-disable-next-line
55
+ cwd?: { [key: string]: Object; };
56
+ // eslint-disable-next-line
57
+ files?: { [key: string]: Object; }[];
58
+ error?: ErrorArgs;
59
+ // eslint-disable-next-line
60
+ details?: Object;
61
+ id?: string;
62
+ }
63
+ /** @hidden */
64
+ export interface MouseArgs {
65
+ target?: Element;
66
+ }
67
+ /** @hidden */
68
+ export interface UploadArgs {
69
+ // eslint-disable-next-line
70
+ files?: { [key: string]: Object; }[];
71
+ // eslint-disable-next-line
72
+ error?: Object[];
73
+ // eslint-disable-next-line
74
+ details?: Object;
75
+ }
76
+ /** @hidden */
77
+ export interface RetryArgs {
78
+ action: string;
79
+ file: FileInfo;
80
+ }
81
+ /** @hidden */
82
+ export interface ErrorArgs {
83
+ code?: string;
84
+ message?: string;
85
+ fileExists?: string[];
86
+ }
87
+ /** @hidden */
88
+ export interface DialogOptions {
89
+ dialogName?: string;
90
+ header?: string;
91
+ content?: string;
92
+ buttons?: ButtonPropsModel[];
93
+ // eslint-disable-next-line
94
+ open?: EmitType<Object>;
95
+ // eslint-disable-next-line
96
+ close?: EmitType<Object>;
97
+ }
98
+ /** @hidden */
99
+ export interface SearchArgs {
100
+ // eslint-disable-next-line
101
+ files?: { [key: string]: Object; }[];
102
+ // eslint-disable-next-line
103
+ error?: Object[];
104
+ // eslint-disable-next-line
105
+ details?: Object;
106
+ }
107
+ /**
108
+ * Interfaces for File details.
109
+ */
110
+ export interface FileDetails {
111
+ created?: string;
112
+ isFile: boolean;
113
+ location: string;
114
+ modified: string;
115
+ name: string;
116
+ size: number;
117
+ icon: string;
118
+ multipleFiles: boolean;
119
+ // eslint-disable-next-line
120
+ permission: Object;
121
+ }
122
+ /** @hidden */
123
+ export interface DownloadArgs {
124
+ // eslint-disable-next-line
125
+ files?: { [key: string]: Object; }[];
126
+ // eslint-disable-next-line
127
+ error?: Object[];
128
+ // eslint-disable-next-line
129
+ details?: Object;
130
+ }
131
+
132
+ /**
133
+ * Interface for Drag Event arguments
134
+ */
135
+ export interface FileDragEventArgs {
136
+ /**
137
+ * Return the current items as an array of JSON object.
138
+ */
139
+ // eslint-disable-next-line
140
+ fileDetails?: Object[];
141
+ /**
142
+ * Specifies the actual event.
143
+ */
144
+ event?: MouseEvent & TouchEvent;
145
+ /**
146
+ * Specifies the current drag element.
147
+ */
148
+ element?: HTMLElement;
149
+ /**
150
+ * Specifies the current target element.
151
+ */
152
+ target?: HTMLElement;
153
+ /**
154
+ * If you want to cancel this event then, set cancel to true. Otherwise, false.
155
+ */
156
+ cancel?: boolean;
157
+ }
158
+ /**
159
+ * Interface for BeforeSend event arguments.
160
+ */
161
+ export interface BeforeSendEventArgs {
162
+ /**
163
+ * Return the name of the AJAX action will be performed.
164
+ */
165
+ action?: string;
166
+ /**
167
+ * Return the AJAX details, which are send to server.
168
+ */
169
+ // eslint-disable-next-line
170
+ ajaxSettings?: Object;
171
+ /**
172
+ * If you want to cancel this event then, set cancel to true. Otherwise, false.
173
+ */
174
+ cancel?: boolean;
175
+ }
176
+ /**
177
+ * Interface for BeforeDownload event arguments.
178
+ */
179
+ export interface BeforeDownloadEventArgs {
180
+ /**
181
+ * Specifies the data to be sent to server.
182
+ */
183
+ // eslint-disable-next-line
184
+ data?: Object;
185
+ /**
186
+ * If you want to cancel this event then, set cancel to true. Otherwise, false.
187
+ */
188
+ cancel?: boolean;
189
+ }
190
+ /**
191
+ * Interface for BeforeImageLoad event arguments.
192
+ */
193
+ export interface BeforeImageLoadEventArgs {
194
+ /**
195
+ * Return the current rendering image item as an array of JSON object.
196
+ */
197
+ // eslint-disable-next-line
198
+ fileDetails?: Object[];
199
+ /**
200
+ * Specifies the URL along with custom attributes to be sent to server.
201
+ */
202
+ imageUrl?: string;
203
+ }
204
+ /**
205
+ * Interface for Success event arguments.
206
+ */
207
+ export interface SuccessEventArgs {
208
+ /**
209
+ * Return the name of the AJAX action will be performed.
210
+ */
211
+ action?: string;
212
+ /**
213
+ * Return the AJAX details which are send to server.
214
+ */
215
+ // eslint-disable-next-line
216
+ result?: Object;
217
+ }
218
+ /**
219
+ * Interface for Failure event arguments.
220
+ */
221
+ export interface FailureEventArgs {
222
+ /**
223
+ * Return the name of the AJAX action will be performed.
224
+ */
225
+ action?: string;
226
+ /**
227
+ * Return the AJAX details, which are send to server.
228
+ */
229
+ // eslint-disable-next-line
230
+ error?: Object;
231
+ }
232
+ /**
233
+ * Interface for FileLoad event arguments.
234
+ */
235
+ export interface FileLoadEventArgs {
236
+ /**
237
+ * Return the current rendering item.
238
+ */
239
+ element?: HTMLElement;
240
+ /**
241
+ * Return the current rendering item as JSON object.
242
+ */
243
+ // eslint-disable-next-line
244
+ fileDetails?: Object;
245
+ /**
246
+ * Return the name of the rendering module in File Manager.
247
+ */
248
+ module?: string;
249
+ }
250
+ /**
251
+ * Interface for FileOpen event arguments.
252
+ */
253
+ export interface FileOpenEventArgs {
254
+ /**
255
+ * If you want to cancel this event then, set cancel to true. Otherwise, false.
256
+ */
257
+ cancel?: boolean;
258
+ /**
259
+ * Return the currently selected item as JSON object.
260
+ */
261
+ // eslint-disable-next-line
262
+ fileDetails?: Object;
263
+ /**
264
+ * Returns the name of the target module in file manager.
265
+ */
266
+ module?: string;
267
+ }
268
+ /**
269
+ * Interface for PopupOpenClose event arguments.
270
+ */
271
+ export interface PopupOpenCloseEventArgs {
272
+ /**
273
+ * Returns the current dialog component instance.
274
+ */
275
+ popupModule?: Dialog;
276
+ /**
277
+ * Returns the current dialog element.
278
+ */
279
+ element: HTMLElement;
280
+ /**
281
+ * Returns the current dialog action name.
282
+ */
283
+ popupName: string;
284
+ }
285
+ /**
286
+ * Interface for BeforePopupOpenClose event arguments.
287
+ */
288
+ export interface BeforePopupOpenCloseEventArgs {
289
+ /**
290
+ * Returns the current dialog component instance.
291
+ */
292
+ popupModule: Dialog;
293
+ /**
294
+ * Returns the current dialog action name.
295
+ */
296
+ popupName: string;
297
+ /**
298
+ * Prevents the dialog from opening when it is set to true.
299
+ */
300
+ cancel: boolean;
301
+ }
302
+ /**
303
+ * Interface for FileSelect event arguments.
304
+ */
305
+ export interface FileSelectEventArgs {
306
+ /**
307
+ * Return the name of action like select or unselect.
308
+ */
309
+ action?: string;
310
+ /**
311
+ * Return the currently selected item as JSON object.
312
+ */
313
+ // eslint-disable-next-line
314
+ fileDetails?: Object;
315
+ /**
316
+ * Defines whether event is triggered by interaction or not.
317
+ */
318
+ isInteracted?: boolean;
319
+ }
320
+ /**
321
+ * Interface for FileSelection event arguments.
322
+ */
323
+ export interface FileSelectionEventArgs {
324
+ /**
325
+ * Return the name of action like select or unselect.
326
+ */
327
+ action?: string;
328
+ /**
329
+ * Defines the cancel selected file or folder.
330
+ */
331
+ cancel?: boolean;
332
+ /**
333
+ * Return the currently selected item as JSON object.
334
+ */
335
+ // eslint-disable-next-line
336
+ fileDetails?: Object;
337
+ /**
338
+ * Defines whether event is triggered by interaction or not.
339
+ */
340
+ isInteracted?: boolean;
341
+ /**
342
+ * Specifies the actual target.
343
+ */
344
+ target?: Element;
345
+ }
346
+ /**
347
+ * Interface for ToolbarCreate event arguments.
348
+ */
349
+ export interface ToolbarCreateEventArgs {
350
+ /**
351
+ * Return an array of items that is used to configure toolbar content.
352
+ */
353
+ items: ItemModel[];
354
+ }
355
+ /**
356
+ * Interface for ToolbarClick event arguments.
357
+ */
358
+ export interface ToolbarClickEventArgs {
359
+ /**
360
+ * If you want to cancel this event then, set cancel to true. Otherwise, false.
361
+ */
362
+ cancel: boolean;
363
+ /**
364
+ * Return the currently selected folder/file items as an array of JSON object.
365
+ */
366
+ // eslint-disable-next-line
367
+ fileDetails: Object[];
368
+ /**
369
+ * Return the currently clicked toolbar item as JSON object.
370
+ */
371
+ item: ItemModel;
372
+ }
373
+ /**
374
+ * Interface for MenuClick event arguments.
375
+ */
376
+ export interface MenuClickEventArgs {
377
+ /**
378
+ * If you want to cancel this event then, set cancel to true. Otherwise, false.
379
+ */
380
+ cancel?: boolean;
381
+ /**
382
+ * Return the currently clicked context menu item.
383
+ */
384
+ element?: HTMLElement;
385
+ /**
386
+ * Return the currently selected folder/file items as an array of JSON object.
387
+ */
388
+ // eslint-disable-next-line
389
+ fileDetails?: Object[];
390
+ /**
391
+ * Return the currently clicked context menu item as JSON object.
392
+ */
393
+ item?: MenuItemModel;
394
+ }
395
+ /**
396
+ * Interface for MenuOpen event arguments.
397
+ */
398
+ export interface MenuOpenEventArgs {
399
+ /**
400
+ * If you want to cancel this event then, set cancel to true. Otherwise, false.
401
+ */
402
+ cancel?: boolean;
403
+ /**
404
+ * Returns the current context menu element.
405
+ */
406
+ element?: HTMLElement;
407
+ /**
408
+ * Returns the target folder/file item as an array of JSON object.
409
+ */
410
+ // eslint-disable-next-line
411
+ fileDetails?: Object[];
412
+ /**
413
+ * Returns the current context menu items as JSON object.
414
+ */
415
+ items?: MenuItemModel[];
416
+ /**
417
+ * Returns the instance of context menu component.
418
+ */
419
+ menuModule?: ContextMenu;
420
+ /**
421
+ * Returns whether the current context menu is sub-menu or not.
422
+ */
423
+ isSubMenu?: boolean;
424
+ /**
425
+ * Returns the target element of context menu.
426
+ */
427
+ target?: Element;
428
+ /**
429
+ * Returns the current context menu type based on current target.
430
+ */
431
+ menuType?: string;
432
+ }
433
+ /**
434
+ * Interface for UploadListCreate event arguments.
435
+ */
436
+ export interface UploadListCreateArgs {
437
+ /**
438
+ * Return the current file item element.
439
+ */
440
+ element: HTMLElement;
441
+ /**
442
+ * Return the current rendering file item data as file object.
443
+ */
444
+ fileInfo: FileInfo;
445
+ /**
446
+ * Return the index of the file item in the file list.
447
+ */
448
+ index: number;
449
+ /**
450
+ * Return whether the file is preloaded.
451
+ */
452
+ isPreload: boolean;
453
+ }
454
+ /**
455
+ * Interface for File information.
456
+ */
457
+ export interface FileInfo {
458
+ /**
459
+ * Returns the upload file name.
460
+ */
461
+ name: string;
462
+ /**
463
+ * Returns the details about upload file.
464
+ */
465
+ rawFile: string | Blob;
466
+ /**
467
+ * Returns the size of file in bytes.
468
+ */
469
+ size: number;
470
+ /**
471
+ * Returns the status of the file.
472
+ */
473
+ status: string;
474
+ /**
475
+ * Returns the MIME type of file as a string. Returns empty string if the file's type is not determined.
476
+ */
477
+ type: string;
478
+ /**
479
+ * Returns the list of validation errors (if any).
480
+ */
481
+ validationMessages: ValidationMessages;
482
+ /**
483
+ * Returns the current state of the file such as Failed, Canceled, Selected, Uploaded, or Uploading.
484
+ */
485
+ statusCode: string;
486
+ /**
487
+ * Returns where the file selected from, to upload.
488
+ */
489
+ fileSource?: string;
490
+ }
491
+ /**
492
+ * Interface for Validation messages.
493
+ */
494
+ export interface ValidationMessages {
495
+ /**
496
+ * Returns the minimum file size validation message, if selected file size is less than the specified minFileSize property.
497
+ */
498
+ minSize?: string;
499
+ /**
500
+ * Returns the maximum file size validation message, if selected file size is less than specified maxFileSize property.
501
+ */
502
+ maxSize?: string;
503
+ }
504
+
505
+ /** @hidden */
506
+ export interface IFileManager extends Component<HTMLElement> {
507
+ hasId: boolean;
508
+ pathNames: string[];
509
+ pathId: string[];
510
+ originalPath: string;
511
+ filterPath: string;
512
+ filterId: string;
513
+ expandedId: string;
514
+ // eslint-disable-next-line
515
+ itemData: Object[];
516
+ // eslint-disable-next-line
517
+ visitedData: Object;
518
+ visitedItem: Element;
519
+ // eslint-disable-next-line
520
+ feParent: Object[];
521
+ // eslint-disable-next-line
522
+ feFiles: Object[];
523
+ ajaxSettings: AjaxSettingsModel;
524
+ toolbarSettings: ToolbarSettingsModel;
525
+ dialogObj: Dialog;
526
+ viewerObj: Dialog;
527
+ extDialogObj: Dialog;
528
+ splitterObj: Splitter;
529
+ breadCrumbBarNavigation: HTMLElement;
530
+ searchSettings: SearchSettingsModel;
531
+ activeElements: Element[];
532
+ contextMenuSettings: ContextMenuSettingsModel;
533
+ contextmenuModule?: IContextMenu;
534
+ navigationPaneSettings: NavigationPaneSettingsModel;
535
+ targetPath: string;
536
+ activeModule: string;
537
+ selectedNodes: string[];
538
+ previousPath: string[];
539
+ nextPath: string[];
540
+ navigationpaneModule: ITreeView;
541
+ largeiconsviewModule: LargeIconsView;
542
+ breadcrumbbarModule: BreadCrumbBar;
543
+ toolbarSelection: boolean;
544
+ duplicateItems: string[];
545
+ // eslint-disable-next-line
546
+ duplicateRecords: Object[];
547
+ fileAction: string;
548
+ replaceItems: string[];
549
+ // eslint-disable-next-line
550
+ createdItem: { [key: string]: Object; };
551
+ // eslint-disable-next-line
552
+ renamedItem: { [key: string]: Object; };
553
+ renamedId: string;
554
+ uploadItem: string[];
555
+ fileLength: number;
556
+ detailsviewModule: DetailsView;
557
+ toolbarModule: Toolbar;
558
+ fileView: string;
559
+ isDevice: boolean;
560
+ isMobile: boolean;
561
+ isBigger: boolean;
562
+ isFile: boolean;
563
+ allowMultiSelection: boolean;
564
+ selectedItems: string[];
565
+ layoutSelectedItems: string[];
566
+ sortOrder: SortOrder;
567
+ sortBy: string;
568
+ // eslint-disable-next-line
569
+ actionRecords: Object[];
570
+ // eslint-disable-next-line
571
+ activeRecords: Object[];
572
+ pasteNodes: string[];
573
+ isCut: boolean;
574
+ // eslint-disable-next-line
575
+ filterData: Object;
576
+ isFiltered: boolean;
577
+ isSortByClicked: boolean;
578
+ isLayoutChange: boolean;
579
+ isSearchCut: boolean;
580
+ isPasteError: boolean;
581
+ isSameAction: boolean;
582
+ currentItemText: string;
583
+ renameText: string;
584
+ view: ViewType;
585
+ isPathDrag: boolean;
586
+ enablePaste: boolean;
587
+ showThumbnail: boolean;
588
+ allowDragAndDrop: boolean;
589
+ enableRtl: boolean;
590
+ rootAliasName: string;
591
+ path: string;
592
+ popupTarget: HTMLElement | string;
593
+ folderPath: string;
594
+ showFileExtension: boolean;
595
+ enablePersistence: boolean;
596
+ showHiddenItems: boolean;
597
+ persistData: boolean;
598
+ localeObj: L10n;
599
+ uploadObj: Uploader;
600
+ cssClass: string;
601
+ // eslint-disable-next-line
602
+ searchedItems: Object[];
603
+ searchWord: string;
604
+ retryFiles: FileInfo[];
605
+ retryArgs: RetryArgs[];
606
+ isApplySame: boolean;
607
+ isRetryOpened: boolean;
608
+ // eslint-disable-next-line
609
+ dragData: { [key: string]: Object; }[];
610
+ dragNodes: string[];
611
+ dragPath: string;
612
+ dropPath: string;
613
+ // eslint-disable-next-line
614
+ dropData: Object;
615
+ virtualDragElement: HTMLElement;
616
+ isDragDrop: boolean;
617
+ isSearchDrag: boolean;
618
+ targetModule: string;
619
+ treeExpandTimer: number;
620
+ dragCursorPosition: PositionModel;
621
+ isDropEnd: boolean;
622
+ dragCount: number;
623
+ // eslint-disable-next-line
624
+ droppedObjects: Object[];
625
+ uploadEventArgs: BeforeSendEventArgs;
626
+ destinationPath: string;
627
+ enableHtmlSanitizer: boolean;
628
+ refreshLayout(): void;
629
+ }
630
+
631
+ /** @hidden */
632
+ export interface ITreeView extends Component<HTMLElement> {
633
+ treeObj: TreeView;
634
+ // eslint-disable-next-line
635
+ removeNode: Function;
636
+ removeNodes: string[];
637
+ // eslint-disable-next-line
638
+ duplicateFiles: Function;
639
+ rootID: string;
640
+ activeNode: Element;
641
+ openFileOnContextMenuClick: Function
642
+ }
643
+
644
+ /** @hidden */
645
+ export interface IContextMenu extends Component<HTMLElement> {
646
+ disableItem(items: string[]): void;
647
+ getItemIndex(item: string): number;
648
+ contextMenu: ContextMenu;
649
+ // eslint-disable-next-line
650
+ contextMenuBeforeOpen: Function;
651
+ items: MenuItemModel[];
652
+ }