@syncfusion/ej2-filemanager 21.2.3 → 22.1.34

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 (73) hide show
  1. package/.eslintrc.json +1 -0
  2. package/CHANGELOG.md +18 -0
  3. package/dist/ej2-filemanager.min.js +2 -2
  4. package/dist/ej2-filemanager.umd.min.js +2 -2
  5. package/dist/ej2-filemanager.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-filemanager.es2015.js +58 -22
  7. package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
  8. package/dist/es6/ej2-filemanager.es5.js +57 -22
  9. package/dist/es6/ej2-filemanager.es5.js.map +1 -1
  10. package/dist/global/ej2-filemanager.min.js +2 -2
  11. package/dist/global/ej2-filemanager.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/package.json +19 -16
  14. package/src/file-manager/base/file-manager-model.d.ts +7 -0
  15. package/src/file-manager/base/file-manager.d.ts +6 -0
  16. package/src/file-manager/base/file-manager.js +3 -0
  17. package/src/file-manager/base/interface.d.ts +49 -134
  18. package/src/file-manager/common/operations.js +16 -2
  19. package/src/file-manager/common/utility.d.ts +2 -2
  20. package/src/file-manager/common/utility.js +8 -3
  21. package/src/file-manager/layout/details-view.js +14 -10
  22. package/src/file-manager/layout/large-icons-view.js +2 -2
  23. package/src/file-manager/layout/navigation-pane.js +1 -1
  24. package/src/file-manager/models/column-model.d.ts +4 -2
  25. package/src/file-manager/models/column.d.ts +4 -2
  26. package/src/file-manager/models/details-view-settings-model.d.ts +1 -1
  27. package/src/file-manager/models/details-view-settings.js +9 -3
  28. package/src/file-manager/models/search-settings.d.ts +6 -13
  29. package/src/file-manager/pop-up/context-menu.js +5 -3
  30. package/src/file-manager/pop-up/dialog.js +1 -0
  31. package/styles/bootstrap-dark.css +5 -1
  32. package/styles/bootstrap.css +5 -1
  33. package/styles/bootstrap4.css +5 -1
  34. package/styles/bootstrap5-dark.css +5 -1
  35. package/styles/bootstrap5.css +5 -1
  36. package/styles/fabric-dark.css +5 -1
  37. package/styles/fabric.css +5 -1
  38. package/styles/file-manager/_layout.scss +143 -43
  39. package/styles/file-manager/_material3-dark-definition.scss +1 -0
  40. package/styles/file-manager/_material3-definition.scss +260 -0
  41. package/styles/file-manager/_theme.scss +27 -24
  42. package/styles/file-manager/bootstrap-dark.css +5 -1
  43. package/styles/file-manager/bootstrap.css +5 -1
  44. package/styles/file-manager/bootstrap4.css +5 -1
  45. package/styles/file-manager/bootstrap5-dark.css +5 -1
  46. package/styles/file-manager/bootstrap5.css +5 -1
  47. package/styles/file-manager/fabric-dark.css +5 -1
  48. package/styles/file-manager/fabric.css +5 -1
  49. package/styles/file-manager/fluent-dark.css +5 -1
  50. package/styles/file-manager/fluent.css +5 -1
  51. package/styles/file-manager/highcontrast-light.css +5 -1
  52. package/styles/file-manager/highcontrast.css +5 -1
  53. package/styles/file-manager/icons/_material3-dark.scss +1 -0
  54. package/styles/file-manager/material-dark.css +5 -1
  55. package/styles/file-manager/material.css +5 -1
  56. package/styles/file-manager/material3-dark.css +1621 -0
  57. package/styles/file-manager/material3-dark.scss +17 -0
  58. package/styles/file-manager/material3.css +1677 -0
  59. package/styles/file-manager/material3.scss +17 -0
  60. package/styles/file-manager/tailwind-dark.css +5 -1
  61. package/styles/file-manager/tailwind.css +5 -1
  62. package/styles/fluent-dark.css +5 -1
  63. package/styles/fluent.css +5 -1
  64. package/styles/highcontrast-light.css +5 -1
  65. package/styles/highcontrast.css +5 -1
  66. package/styles/material-dark.css +5 -1
  67. package/styles/material.css +5 -1
  68. package/styles/material3-dark.css +1621 -0
  69. package/styles/material3-dark.scss +3 -0
  70. package/styles/material3.css +1677 -0
  71. package/styles/material3.scss +3 -0
  72. package/styles/tailwind-dark.css +5 -1
  73. package/styles/tailwind.css +5 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 21.2.3
3
+ * version : 22.1.34
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-filemanager@*",
3
- "_id": "@syncfusion/ej2-filemanager@21.1.41",
3
+ "_id": "@syncfusion/ej2-filemanager@18.21.3",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-JJlmdBbW9+9GtqQp3HUI6GuhDAvbfej0r+qJlyEzoR4SdlHDBnYZPlzqe3riJgV/m6nt4AeRhy8uyL+jH84Jpw==",
5
+ "_integrity": "sha512-Hwb3KAwwFZQ0S1Qi2CTox6BClUF8xXddNcNNSwNigwQ/hWY9Ae7KEyOvZb9kFwxH6qEcozBdhGP/ZlrvPTI4Zw==",
6
6
  "_location": "/@syncfusion/ej2-filemanager",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -19,11 +19,14 @@
19
19
  "_requiredBy": [
20
20
  "/",
21
21
  "/@syncfusion/ej2",
22
+ "/@syncfusion/ej2-angular-filemanager",
22
23
  "/@syncfusion/ej2-pdfviewer",
23
- "/@syncfusion/ej2-richtexteditor"
24
+ "/@syncfusion/ej2-react-filemanager",
25
+ "/@syncfusion/ej2-richtexteditor",
26
+ "/@syncfusion/ej2-vue-filemanager"
24
27
  ],
25
- "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-filemanager/-/ej2-filemanager-21.1.41.tgz",
26
- "_shasum": "294db32c4ba33961fc58e360e9c682d8044ba0ad",
28
+ "_resolved": "https://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-filemanager/-/ej2-filemanager-18.21.3.tgz",
29
+ "_shasum": "f9e01d2b9ea1f4d63f7087e411959a2a64cbf430",
27
30
  "_spec": "@syncfusion/ej2-filemanager@*",
28
31
  "_where": "/jenkins/workspace/elease-automation_release_21.1.1/packages/included",
29
32
  "author": {
@@ -34,16 +37,16 @@
34
37
  },
35
38
  "bundleDependencies": false,
36
39
  "dependencies": {
37
- "@syncfusion/ej2-base": "~21.2.3",
38
- "@syncfusion/ej2-buttons": "~21.2.3",
39
- "@syncfusion/ej2-data": "~21.2.3",
40
- "@syncfusion/ej2-grids": "~21.2.3",
41
- "@syncfusion/ej2-inputs": "~21.2.3",
42
- "@syncfusion/ej2-layouts": "~21.2.3",
43
- "@syncfusion/ej2-lists": "~21.2.3",
44
- "@syncfusion/ej2-navigations": "~21.2.3",
45
- "@syncfusion/ej2-popups": "~21.2.3",
46
- "@syncfusion/ej2-splitbuttons": "~21.2.3"
40
+ "@syncfusion/ej2-base": "~22.1.34",
41
+ "@syncfusion/ej2-buttons": "~22.1.34",
42
+ "@syncfusion/ej2-data": "~22.1.34",
43
+ "@syncfusion/ej2-grids": "~22.1.34",
44
+ "@syncfusion/ej2-inputs": "~22.1.34",
45
+ "@syncfusion/ej2-layouts": "~22.1.34",
46
+ "@syncfusion/ej2-lists": "~22.1.34",
47
+ "@syncfusion/ej2-navigations": "~22.1.34",
48
+ "@syncfusion/ej2-popups": "~22.1.34",
49
+ "@syncfusion/ej2-splitbuttons": "~22.1.34"
47
50
  },
48
51
  "deprecated": false,
49
52
  "description": "Essential JS 2 FileManager Component",
@@ -73,6 +76,6 @@
73
76
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
74
77
  },
75
78
  "typings": "index.d.ts",
76
- "version": "21.2.3",
79
+ "version": "22.1.34",
77
80
  "sideEffects": false
78
81
  }
@@ -32,6 +32,13 @@ export interface FileManagerModel extends ComponentModel{
32
32
  */
33
33
  allowMultiSelection?: boolean;
34
34
 
35
+ /**
36
+ * 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.
37
+ *
38
+ * @default true
39
+ */
40
+ showItemCheckBoxes?: boolean;
41
+
35
42
  /**
36
43
  * Specifies the context menu settings of the file manager.
37
44
  *
@@ -170,6 +170,12 @@ export declare class FileManager extends Component<HTMLElement> implements INoti
170
170
  * @default true
171
171
  */
172
172
  allowMultiSelection: boolean;
173
+ /**
174
+ * 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.
175
+ *
176
+ * @default true
177
+ */
178
+ showItemCheckBoxes: boolean;
173
179
  /**
174
180
  * Specifies the context menu settings of the file manager.
175
181
  *
@@ -1143,6 +1143,9 @@ var FileManager = /** @class */ (function (_super) {
1143
1143
  __decorate([
1144
1144
  Property(true)
1145
1145
  ], FileManager.prototype, "allowMultiSelection", void 0);
1146
+ __decorate([
1147
+ Property(true)
1148
+ ], FileManager.prototype, "showItemCheckBoxes", void 0);
1146
1149
  __decorate([
1147
1150
  Complex({}, ContextMenuSettings)
1148
1151
  ], FileManager.prototype, "contextMenuSettings", void 0);
@@ -16,145 +16,59 @@ import { BreadCrumbBar, Virtualization } from '../actions';
16
16
  import { PositionModel } from '@syncfusion/ej2-base/src/draggable-model';
17
17
  /**
18
18
  * Defines the view type of the FileManager.
19
+ * ```props
20
+ * LargeIcons :- Displays the files and folders as large icons.
21
+ * Details :- Displays the files and folders in a list format.
22
+ * ```
19
23
  */
20
- export declare type ViewType =
21
- /**
22
- * Displays the files and folders as large icons.
23
- */
24
- 'LargeIcons' |
25
- /**
26
- * Displays the files and folders in a list format.
27
- */
28
- 'Details';
24
+ export declare type ViewType = 'LargeIcons' | 'Details';
29
25
  /**
30
26
  * Defines the files sorting order in FileManager.
27
+ * ```props
28
+ * Ascending :- Indicates that the folders and files are sorted in the descending order.
29
+ * Descending :- Indicates that the folders and files are sorted in the ascending order.
30
+ * None :- Indicates that the folders and files are not sorted.
31
+ * ```
31
32
  */
32
- export declare type SortOrder =
33
- /**
34
- * Indicates that the folders and files are sorted in the descending order.
35
- */
36
- 'Ascending' |
37
- /**
38
- * Indicates that the folders and files are sorted in the ascending order
39
- */
40
- 'Descending' |
41
- /**
42
- * Indicates that the folders and files are not sorted.
43
- */
44
- 'None';
33
+ export declare type SortOrder = 'Ascending' | 'Descending' | 'None';
45
34
  /**
46
35
  * Defines the Toolbar items of the FileManager.
47
- */
48
- export declare type ToolBarItems =
49
- /**
50
- * Allows you to quickly create a new folder
51
- */
52
- 'NewFolder' |
53
- /**
54
- * Allows you to quickly and easily upload files from your local computer.
55
- */
56
- 'Upload' |
57
- /**
58
- * Allows you to remove a file or folder from its current location and move it to a different location.
59
- */
60
- 'Cut' |
61
- /**
62
- * Allows you to create a duplicate of a file or folder and place it in a different location.
63
- */
64
- 'Copy' |
65
- /**
66
- * Allows you to place a previously cut or copied file or folder in a new location.
67
- */
68
- 'Paste' |
69
- /**
70
- * Allows you to remove a file or folder permanently.
71
- */
72
- 'Delete' |
73
- /**
74
- * Allows you to quickly and easily download files to your local computer.
75
- */
76
- 'Download' |
77
- /**
78
- * Allows you to change the name of a file or folder.
79
- */
80
- 'Rename' |
81
- /**
82
- * Allows you to sort files and folder by different criteria such as name, date, size, etc.
83
- */
84
- 'SortBy' |
85
- /**
86
- * Allows you to refresh the current folder's content, showing the changes made on the folder.
87
- */
88
- 'Refresh' |
89
- /**
90
- * Allows you to select one or more files or folders.
91
- */
92
- 'Selection' |
93
- /**
94
- * Allows you to change the way files and folders are displayed.
95
- */
96
- 'View' |
97
- /**
98
- * Allows you to see additional information about the files and folders, such as the size and date modified.
99
- */
100
- 'Details';
101
- export declare type MenuItems =
102
- /**
103
- * Allows you to quickly create a new folder
104
- */
105
- 'NewFolder' |
106
- /**
107
- * Allows you to quickly and easily upload files from your local computer.
108
- */
109
- 'Upload' |
110
- /**
111
- * Allows you to remove a file or folder from its current location and move it to a different location.
112
- */
113
- 'Cut' |
114
- /**
115
- * Allows you to create a duplicate of a file or folder and place it in a different location.
116
- */
117
- 'Copy' |
118
- /**
119
- * Allows you to place a previously cut or copied file or folder in a new location.
120
- */
121
- 'Paste' |
122
- /**
123
- * Allows you to remove a file or folder permanently.
124
- */
125
- 'Delete' |
126
- /**
127
- * Allows you to quickly and easily download files to your local computer.
128
- */
129
- 'Download' |
130
- /**
131
- * Allows you to change the name of a file or folder.
132
- */
133
- 'Rename' |
134
- /**
135
- * Allows you to sort files and folder by different criteria such as name, date, size, etc.
136
- */
137
- 'SortBy' |
138
- /**
139
- * Allows you to refresh the current folder's content, showing the changes made on the folder.
140
- */
141
- 'Refresh' |
142
- /**
143
- * Allows you to select all the files and folders in the current folder.
144
- */
145
- 'SelectAll' |
146
- /**
147
- * Allows you to change the way files and folders are displayed.
148
- */
149
- 'View' |
150
- /**
151
- * Allows you to see additional information about the files and folders, such as the size and date modified.
152
- */
153
- 'Details' |
154
- /**
155
- * Allows you to open the selected file or folder.
156
- */
157
- 'Open';
36
+ * ```props
37
+ * NewFolder :- Allows you to quickly create a new folder.
38
+ * Upload :- Allows you to quickly and easily upload files from your local computer.
39
+ * Cut :- Allows you to remove a file or folder from its current location and move it to a different location.
40
+ * Copy :- Allows you to create a duplicate of a file or folder and place it in a different location.
41
+ * Paste :- Allows you to place a previously cut or copied file or folder in a new location.
42
+ * Delete :- Allows you to remove a file or folder permanently.
43
+ * Download :- Allows you to quickly and easily download files to your local computer.
44
+ * Rename :- Allows you to change the name of a file or folder.
45
+ * SortBy :- Allows you to sort files and folder by different criteria such as name, date, size, etc.
46
+ * Refresh :- Allows you to refresh the current folder's content, showing the changes made on the folder.
47
+ * Selection :- Allows you to select one or more files or folders.
48
+ * View :- Allows you to change the way files and folders are displayed.
49
+ * Details :- Allows you to see additional information about the files and folders, such as the size and date modified.
50
+ * ```
51
+ */
52
+ export declare type ToolBarItems = 'NewFolder' | 'Upload' | 'Cut' | 'Copy' | 'Paste' | 'Delete' | 'Download' | 'Rename' | 'SortBy' | 'Refresh' | 'Selection' | 'View' | 'Details';
53
+ /**
54
+ * ```props
55
+ * NewFolder :- Allows you to quickly create a new folder
56
+ * Upload :- Allows you to quickly and easily upload files from your local computer.
57
+ * Cut :- Allows you to remove a file or folder from its current location and move it to a different location.
58
+ * Copy :- Allows you to create a duplicate of a file or folder and place it in a different location.
59
+ * Paste :- Allows you to place a previously cut or copied file or folder in a new location.
60
+ * Delete :- Allows you to remove a file or folder permanently.
61
+ * Download :- Allows you to quickly and easily download files to your local computer.
62
+ * Rename :- Allows you to change the name of a file or folder.
63
+ * SortBy :- Allows you to sort files and folder by different criteria such as name, date, size, etc.
64
+ * Refresh :- Allows you to refresh the current folder's content, showing the changes made on the folder.
65
+ * SelectAll :- Allows you to select all the files and folders in the current folder.
66
+ * View :- Allows you to change the way files and folders are displayed.
67
+ * Details :- Allows you to see additional information about the files and folders, such as the size and date modified.
68
+ * Open :- Allows you to open the selected file or folder.
69
+ * ```
70
+ */
71
+ export declare type MenuItems = 'NewFolder' | 'Upload' | 'Cut' | 'Copy' | 'Paste' | 'Delete' | 'Download' | 'Rename' | 'SortBy' | 'Refresh' | 'SelectAll' | 'View' | 'Details' | 'Open';
158
72
  /**
159
73
  * Interfaces for File Manager Toolbar items.
160
74
  */
@@ -619,6 +533,7 @@ export interface IFileManager extends Component<HTMLElement> {
619
533
  feFiles: Object[];
620
534
  ajaxSettings: AjaxSettingsModel;
621
535
  toolbarSettings: ToolbarSettingsModel;
536
+ detailsViewSettings: DetailsViewSettingsModel;
622
537
  dialogObj: Dialog;
623
538
  viewerObj: Dialog;
624
539
  extDialogObj: Dialog;
@@ -639,7 +554,6 @@ export interface IFileManager extends Component<HTMLElement> {
639
554
  breadcrumbbarModule: BreadCrumbBar;
640
555
  virtualizationModule: Virtualization;
641
556
  toolbarSelection: boolean;
642
- detailsViewSettings: DetailsViewSettingsModel;
643
557
  duplicateItems: string[];
644
558
  duplicateRecords: Object[];
645
559
  fileAction: string;
@@ -661,6 +575,7 @@ export interface IFileManager extends Component<HTMLElement> {
661
575
  isBigger: boolean;
662
576
  isFile: boolean;
663
577
  allowMultiSelection: boolean;
578
+ showItemCheckBoxes: boolean;
664
579
  selectedItems: string[];
665
580
  layoutSelectedItems: string[];
666
581
  sortOrder: SortOrder;
@@ -1,4 +1,4 @@
1
- import { Ajax, createElement, select, extend } from '@syncfusion/ej2-base';
1
+ import { Ajax, createElement, select, extend, Internationalization } from '@syncfusion/ej2-base';
2
2
  import { isNullOrUndefined as isNOU, setValue, getValue } from '@syncfusion/ej2-base';
3
3
  import * as events from '../base/constant';
4
4
  import { createDialog, createExtDialog } from '../pop-up/dialog';
@@ -156,6 +156,19 @@ export function GetDetails(parent, names, path, operation) {
156
156
  * @returns {void}
157
157
  * @private
158
158
  */
159
+ function getDateFormat(parent) {
160
+ var columns = parent.detailsViewSettings.columns;
161
+ var dateFormat;
162
+ for (var i = 0; i < columns.length; i++) {
163
+ if (columns[i].field === '_fm_modified') {
164
+ if (!isNOU(columns[i].format)) {
165
+ dateFormat = columns[i].format.toString();
166
+ }
167
+ break;
168
+ }
169
+ }
170
+ return dateFormat;
171
+ }
159
172
  function createAjax(
160
173
  // eslint-disable-next-line
161
174
  parent, data, fn, event, operation, targetPath) {
@@ -217,8 +230,9 @@ parent, data, fn, event, operation, targetPath) {
217
230
  }
218
231
  }
219
232
  }
233
+ var intl = new Internationalization(parent.locale);
220
234
  if (!isNOU(result.files)) {
221
- setDateObject(result.files);
235
+ setDateObject(result.files, intl, getDateFormat(parent));
222
236
  for (var i = 0, len = result.files.length; i < len; i++) {
223
237
  // eslint-disable-next-line
224
238
  var item = result.files[i];
@@ -1,5 +1,5 @@
1
1
  import { IFileManager, ReadArgs, SearchArgs } from '../base/interface';
2
- import { Draggable } from '@syncfusion/ej2-base';
2
+ import { Draggable, Internationalization } from '@syncfusion/ej2-base';
3
3
  import { DragEventArgs } from '@syncfusion/ej2-base';
4
4
  import { MenuEventArgs } from '@syncfusion/ej2-navigations';
5
5
  /**
@@ -258,7 +258,7 @@ export declare function setNodeId(result: ReadArgs, rootId: string): void;
258
258
  * @returns {void}
259
259
  * @private
260
260
  */
261
- export declare function setDateObject(args: Object[]): void;
261
+ export declare function setDateObject(args: Object[], localeString: Internationalization, dateFormat: string): void;
262
262
  /**
263
263
  * get the locale text
264
264
  *
@@ -645,10 +645,15 @@ export function setNodeId(result, rootId) {
645
645
  * @private
646
646
  */
647
647
  // eslint-disable-next-line
648
- export function setDateObject(args) {
648
+ export function setDateObject(args, localeString, dateFormat) {
649
649
  for (var i = 0; i < args.length; i++) {
650
- setValue('_fm_created', new Date(getValue('dateCreated', args[i])), args[i]);
651
- setValue('_fm_modified', new Date(getValue('dateModified', args[i])), args[i]);
650
+ var createdDate = new Date(getValue('dateCreated', args[i]));
651
+ var modifiedDate = new Date(getValue('dateModified', args[i]));
652
+ if (isNOU(dateFormat)) {
653
+ dateFormat = "MM/dd/yyyy";
654
+ }
655
+ setValue('_fm_created', localeString.formatDate(createdDate, { format: dateFormat }), args[i]);
656
+ setValue('_fm_modified', localeString.formatDate(modifiedDate, { format: dateFormat }), args[i]);
652
657
  }
653
658
  }
654
659
  /**
@@ -1,7 +1,7 @@
1
1
  import { Grid, Resize, ContextMenu, Sort, VirtualScroll } from '@syncfusion/ej2-grids';
2
2
  import { select, KeyboardEvents, EventHandler, getValue, isNullOrUndefined } from '@syncfusion/ej2-base';
3
3
  import { isNullOrUndefined as isNOU, Touch, setValue, addClass, removeClass } from '@syncfusion/ej2-base';
4
- import { Internationalization, closest, Draggable } from '@syncfusion/ej2-base';
4
+ import { Internationalization, closest, Draggable, initializeCSPTemplate, extend } from '@syncfusion/ej2-base';
5
5
  import { DataManager, Query } from '@syncfusion/ej2-data';
6
6
  import { hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
7
7
  import * as events from '../base/constant';
@@ -192,13 +192,14 @@ var DetailsView = /** @class */ (function () {
192
192
  columns = [
193
193
  {
194
194
  field: 'name', headerText: getLocaleText(this.parent, 'Name'), width: 'auto', minWidth: 120, headerTextAlign: 'Left',
195
- template: '<div class="e-fe-text">${name}</div><div class="e-fe-date">${_fm_modified}</div>' +
196
- '<span class="e-fe-size">${size}</span>'
195
+ template: initializeCSPTemplate(function (data) {
196
+ return "<div class=\"e-fe-text\">" + data.name + "</div><div class=\"e-fe-date\">" + data._fm_modified + "</div>' +\n '<span class=\"e-fe-size\">" + data.size + "</span>";
197
+ })
197
198
  }
198
199
  ];
199
200
  }
200
201
  else {
201
- columns = JSON.parse(JSON.stringify(this.parent.detailsViewSettings.columns));
202
+ columns = extend([], this.parent.detailsViewSettings.columns, null, true);
202
203
  this.adjustWidth(columns, 'name');
203
204
  for (var i = 0, len = columns.length; i < len; i++) {
204
205
  columns[i].headerText = getLocaleText(this.parent, columns[i].headerText);
@@ -206,12 +207,16 @@ var DetailsView = /** @class */ (function () {
206
207
  }
207
208
  var iWidth = ((this.parent.isMobile || this.parent.isBigger) ? '54' : '46');
208
209
  var icon = {
209
- field: 'type', width: iWidth, minWidth: iWidth, template: '<span class="e-fe-icon ${_fm_iconClass}"></span>',
210
- allowResizing: false, allowSorting: true, customAttributes: { class: 'e-fe-grid-icon' },
211
- headerTemplate: '<span class="e-fe-icon e-fe-folder"></span>'
210
+ field: 'type', width: iWidth, minWidth: iWidth,
211
+ template: initializeCSPTemplate(function (data) {
212
+ return "<span class=\"e-fe-icon " + data._fm_iconClass + "\"></span>";
213
+ }), allowResizing: false, allowSorting: true, customAttributes: { class: 'e-fe-grid-icon' },
214
+ headerTemplate: initializeCSPTemplate(function () {
215
+ return "<span class=\"e-fe-icon e-fe-folder\"></span>";
216
+ }),
212
217
  };
213
218
  columns.unshift(icon);
214
- if (this.parent.allowMultiSelection) {
219
+ if (this.parent.showItemCheckBoxes) {
215
220
  var cWidth = (this.parent.isBigger ? '36' : '26');
216
221
  var cBox = {
217
222
  type: 'checkbox', width: cWidth, minWidth: cWidth, customAttributes: { class: 'e-fe-checkbox' },
@@ -291,8 +296,6 @@ var DetailsView = /** @class */ (function () {
291
296
  }
292
297
  }
293
298
  var value = intl.formatNumber((sizeValue / 1024), { format: sizeFormat });
294
- var num = Number(value.replace(/,/g, ''));
295
- value = num.toLocaleString(intl.culture);
296
299
  modifiedSize = value + ' ' + getLocaleText(this.parent, 'KB');
297
300
  }
298
301
  sizeEle.innerHTML = modifiedSize;
@@ -1356,6 +1359,7 @@ var DetailsView = /** @class */ (function () {
1356
1359
  var lastItem;
1357
1360
  switch (action) {
1358
1361
  case 'altEnter':
1362
+ this.parent.notify(events.detailsInit, {});
1359
1363
  GetDetails(this.parent, this.parent.selectedItems, this.parent.path, 'details');
1360
1364
  break;
1361
1365
  case 'esc':
@@ -279,7 +279,7 @@ var LargeIconsView = /** @class */ (function () {
279
279
  this.parent.trigger('fileLoad', eventArgs);
280
280
  };
281
281
  LargeIconsView.prototype.renderCheckbox = function (args) {
282
- if (!this.parent.allowMultiSelection) {
282
+ if (!this.parent.showItemCheckBoxes) {
283
283
  return;
284
284
  }
285
285
  var checkElement = createCheckBox(createElement, false, {
@@ -1342,7 +1342,7 @@ var LargeIconsView = /** @class */ (function () {
1342
1342
  item.focus();
1343
1343
  };
1344
1344
  LargeIconsView.prototype.checkState = function (item, toCheck) {
1345
- if (!this.parent.allowMultiSelection) {
1345
+ if (!this.parent.showItemCheckBoxes) {
1346
1346
  return;
1347
1347
  }
1348
1348
  var checkEle = select('.' + CLS.FRAME, item);
@@ -202,7 +202,7 @@ var NavigationPane = /** @class */ (function () {
202
202
  var selecEventArgs = { action: args.action, fileDetails: nodeData[0], isInteracted: args.isInteracted };
203
203
  this.parent.trigger('fileSelect', selecEventArgs);
204
204
  }
205
- if (!this.isRightClick && args.node.getAttribute('data-uid') !== this.parent.pathId[this.parent.pathId.length - 1]) {
205
+ if (!this.isRightClick) {
206
206
  var eventArgs = { cancel: false, fileDetails: nodeData[0], module: 'NavigationPane' };
207
207
  this.parent.trigger('fileOpen', eventArgs);
208
208
  args.cancel = eventArgs.cancel;
@@ -82,15 +82,17 @@ export interface ColumnModel {
82
82
  * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID.
83
83
  *
84
84
  * @default null
85
+ * @aspType string
85
86
  */
86
- template?: string;
87
+ template?: string | Function;
87
88
 
88
89
  /**
89
90
  * Defines the column template as string or HTML element ID which is used to add customized element in the column header.
90
91
  *
91
92
  * @default null
93
+ * @aspType string
92
94
  */
93
- headerTemplate?: string;
95
+ headerTemplate?: string | Function;
94
96
 
95
97
  /**
96
98
  * If `allowSorting` set to false, then it disables sorting option of a particular column.
@@ -110,14 +110,16 @@ export declare class Column extends ChildProperty<Column> {
110
110
  * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID.
111
111
  *
112
112
  * @default null
113
+ * @aspType string
113
114
  */
114
- template: string;
115
+ template: string | Function;
115
116
  /**
116
117
  * Defines the column template as string or HTML element ID which is used to add customized element in the column header.
117
118
  *
118
119
  * @default null
120
+ * @aspType string
119
121
  */
120
- headerTemplate: string;
122
+ headerTemplate: string | Function;
121
123
  /**
122
124
  * If `allowSorting` set to false, then it disables sorting option of a particular column.
123
125
  * By default all columns are sortable.
@@ -1,4 +1,4 @@
1
- import { Property, ChildProperty } from '@syncfusion/ej2-base';import { ColumnModel } from './index';
1
+ import { Property, ChildProperty, initializeCSPTemplate } from '@syncfusion/ej2-base';import { ColumnModel } from './index';
2
2
 
3
3
  /**
4
4
  * Interface for a class DetailsViewSettings
@@ -17,21 +17,27 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
17
17
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  };
20
- import { Property, ChildProperty } from '@syncfusion/ej2-base';
20
+ import { Property, ChildProperty, initializeCSPTemplate } from '@syncfusion/ej2-base';
21
21
  /**
22
22
  * Specifies the columns in the details view of the file manager.
23
23
  */
24
24
  export var columnArray = [
25
25
  {
26
26
  field: 'name', headerText: 'Name', minWidth: 120, isPrimaryKey: true,
27
- template: '<span class="e-fe-text">${name}</span>', customAttributes: { class: 'e-fe-grid-name' }
27
+ template: initializeCSPTemplate(function (data) {
28
+ return "<span class=\"e-fe-text\">" + data.name + "</span>";
29
+ }),
30
+ customAttributes: { class: 'e-fe-grid-name' }
28
31
  },
29
32
  {
30
33
  field: '_fm_modified', headerText: 'DateModified', type: 'dateTime',
31
34
  format: 'MMMM dd, yyyy HH:mm', minWidth: 120, width: '190'
32
35
  },
33
36
  {
34
- field: 'size', headerText: 'Size', minWidth: 90, width: '110', template: '<span class="e-fe-size">${size}</span>', format: 'n2'
37
+ field: 'size', headerText: 'Size', minWidth: 90, width: '110',
38
+ template: initializeCSPTemplate(function (data) {
39
+ return "<span class=\"e-fe-size\">" + data.size + "</span>";
40
+ }), format: 'n2'
35
41
  }
36
42
  ];
37
43
  /**
@@ -1,20 +1,13 @@
1
1
  import { ChildProperty } from '@syncfusion/ej2-base';
2
2
  /**
3
3
  * Specifies the filter type for Search settings of the File Manager.
4
+ * ```props
5
+ * contains :- It will only show files and folders whose names contain the entered word.
6
+ * startsWith :- It will only show files and folders whose names start with entered word.
7
+ * endsWith :- It will only show files and folders whose names end with entered word.
8
+ * ```
4
9
  */
5
- export declare type FilterType =
6
- /**
7
- * It will only show files and folders whose names contain the entered word.
8
- */
9
- 'contains' |
10
- /**
11
- * It will only show files and folders whose names start with entered word.
12
- */
13
- 'startsWith' |
14
- /**
15
- * It will only show files and folders whose names end with entered word.
16
- */
17
- 'endsWith';
10
+ export declare type FilterType = 'contains' | 'startsWith' | 'endsWith';
18
11
  /**
19
12
  * Specifies the Search settings of the File Manager.
20
13
  */
@@ -243,9 +243,11 @@ var ContextMenu = /** @class */ (function () {
243
243
  this.menuType = 'folder';
244
244
  this.contextMenu.items = this.getItemData(this.parent.contextMenuSettings.folder.map(function (item) { return item.trim(); }));
245
245
  this.contextMenu.dataBind();
246
- var selectedTreeNode = select('[data-uid="' + this.parent.navigationpaneModule.treeObj.selectedNodes[0] + '"]', this.parent.navigationpaneModule.treeObj.element);
247
- if (this.parent.pathNames[this.parent.pathNames.length - 1] === selectedTreeNode.querySelector('.e-list-text').innerHTML && this.parent.activeModule === 'navigationpane') {
248
- this.disabledItems.push('Open');
246
+ if (isTree) {
247
+ var selectedTreeNode = select('[data-uid="' + this.parent.navigationpaneModule.treeObj.selectedNodes[0] + '"]', this.parent.navigationpaneModule.treeObj.element);
248
+ if (this.parent.pathNames[this.parent.pathNames.length - 1] === selectedTreeNode.querySelector('.e-list-text').innerHTML && this.parent.activeModule === 'navigationpane') {
249
+ this.disabledItems.push('Open');
250
+ }
249
251
  }
250
252
  else if (this.parent.selectedItems.length !== 1 && this.parent.activeModule !== 'navigationpane') {
251
253
  this.disabledItems.push('Rename', 'Paste');
@@ -843,6 +843,7 @@ function onReSubmit(parent) {
843
843
  var newPath = (parent.activeModule === 'navigationpane') ? getValue('filterPath', parent.itemData[0]).replace(/\\/g, '/') : parent.path;
844
844
  parent.renamedId = getValue('id', parent.itemData[0]);
845
845
  parent.renamedId = getValue('id', parent.itemData[0]);
846
+ parent.renamedId = getValue('id', parent.itemData[0]);
846
847
  if (parent.isFile) {
847
848
  var oldExtension = (oIndex === -1) ? '' : parent.currentItemText.substr(oIndex);
848
849
  var nIndex = text.lastIndexOf('.');