@syncfusion/ej2-filemanager 19.4.48 → 19.4.50-117124
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.
- package/.eslintrc.json +16 -1
- package/CHANGELOG.md +6 -20
- package/README.md +54 -43
- package/dist/ej2-filemanager.min.js +10 -0
- package/dist/ej2-filemanager.umd.min.js +2 -2
- package/dist/ej2-filemanager.umd.min.js.map +1 -1
- package/dist/es6/ej2-filemanager.es2015.js +445 -129
- package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
- package/dist/es6/ej2-filemanager.es5.js +473 -136
- package/dist/es6/ej2-filemanager.es5.js.map +1 -1
- package/dist/global/ej2-filemanager.min.js +2 -2
- package/dist/global/ej2-filemanager.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/helpers/e2e/filemanagerHelper.js +183 -166
- package/package.json +11 -12
- package/src/file-manager/actions/breadcrumb-bar.js +1 -1
- package/src/file-manager/actions/index.d.ts +1 -0
- package/src/file-manager/actions/index.js +1 -0
- package/src/file-manager/actions/toolbar.js +6 -4
- package/src/file-manager/actions/virtualization.d.ts +38 -0
- package/src/file-manager/actions/virtualization.js +179 -0
- package/src/file-manager/base/classes.d.ts +2 -0
- package/src/file-manager/base/classes.js +2 -0
- package/src/file-manager/base/file-manager-model.d.ts +24 -2
- package/src/file-manager/base/file-manager.d.ts +28 -2
- package/src/file-manager/base/file-manager.js +32 -3
- package/src/file-manager/base/interface.d.ts +5 -1
- package/src/file-manager/common/operations.js +2 -0
- package/src/file-manager/common/utility.js +21 -5
- package/src/file-manager/layout/details-view.d.ts +2 -0
- package/src/file-manager/layout/details-view.js +46 -7
- package/src/file-manager/layout/large-icons-view.d.ts +2 -1
- package/src/file-manager/layout/large-icons-view.js +13 -5
- package/src/file-manager/layout/navigation-pane.js +29 -17
- package/src/file-manager/models/index.d.ts +2 -0
- package/src/file-manager/models/index.js +1 -0
- package/src/file-manager/models/navigation-pane-settings-model.d.ts +11 -0
- package/src/file-manager/models/navigation-pane-settings.d.ts +10 -0
- package/src/file-manager/models/navigation-pane-settings.js +3 -0
- package/src/file-manager/models/upload-settings-model.d.ts +13 -0
- package/src/file-manager/models/upload-settings.d.ts +12 -0
- package/src/file-manager/models/upload-settings.js +3 -0
- package/src/file-manager/models/virtualization-settings-model.d.ts +29 -0
- package/src/file-manager/models/virtualization-settings.d.ts +24 -0
- package/src/file-manager/models/virtualization-settings.js +40 -0
- package/src/file-manager/pop-up/context-menu.js +1 -1
- package/src/file-manager/pop-up/dialog.js +11 -4
- package/src/global.js +1 -1
- package/styles/bootstrap-dark.css +55 -399
- package/styles/bootstrap.css +55 -396
- package/styles/bootstrap4.css +55 -404
- package/styles/bootstrap5-dark.css +56 -408
- package/styles/bootstrap5.css +56 -408
- package/styles/fabric-dark.css +54 -392
- package/styles/fabric.css +54 -392
- package/styles/file-manager/_all.scss +1 -1
- package/styles/file-manager/_bootstrap-dark-definition.scss +1 -1
- package/styles/file-manager/_bootstrap-definition.scss +1 -1
- package/styles/file-manager/_bootstrap4-definition.scss +1 -1
- package/styles/file-manager/_bootstrap5-definition.scss +3 -3
- package/styles/file-manager/_fabric-dark-definition.scss +1 -1
- package/styles/file-manager/_fabric-definition.scss +1 -1
- package/styles/file-manager/_fluent-dark-definition.scss +1 -0
- package/styles/file-manager/_fluent-definition.scss +10 -10
- package/styles/file-manager/_fusionnew-definition.scss +237 -0
- package/styles/file-manager/_highcontrast-definition.scss +1 -1
- package/styles/file-manager/_highcontrast-light-definition.scss +1 -1
- package/styles/file-manager/_layout.scss +65 -16
- package/styles/file-manager/_material-dark-definition.scss +1 -1
- package/styles/file-manager/_material-definition.scss +1 -1
- package/styles/file-manager/_material3-definition.scss +237 -0
- package/styles/file-manager/_tailwind-definition.scss +2 -2
- package/styles/file-manager/_theme.scss +39 -10
- package/styles/file-manager/bootstrap-dark.css +55 -399
- package/styles/file-manager/bootstrap.css +55 -396
- package/styles/file-manager/bootstrap4.css +55 -404
- package/styles/file-manager/bootstrap5-dark.css +56 -408
- package/styles/file-manager/bootstrap5.css +56 -408
- package/styles/file-manager/fabric-dark.css +54 -392
- package/styles/file-manager/fabric.css +54 -392
- package/styles/file-manager/fluent-dark.css +1568 -0
- package/styles/file-manager/fluent-dark.scss +16 -0
- package/styles/file-manager/fluent.css +1567 -0
- package/styles/file-manager/fluent.scss +16 -0
- package/styles/file-manager/highcontrast-light.css +54 -394
- package/styles/file-manager/highcontrast.css +73 -393
- package/styles/file-manager/icons/_bootstrap.scss +0 -1
- package/styles/file-manager/icons/_bootstrap4.scss +0 -1
- package/styles/file-manager/icons/_fabric-dark.scss +0 -1
- package/styles/file-manager/icons/_fabric.scss +0 -1
- package/styles/file-manager/icons/_fluent-dark.scss +1 -0
- package/styles/file-manager/icons/_fluent.scss +19 -19
- package/styles/file-manager/icons/_fusionnew.scss +235 -0
- package/styles/file-manager/icons/_material3.scss +235 -0
- package/styles/file-manager/icons/_tailwind.scss +49 -49
- package/styles/file-manager/material-dark.css +55 -403
- package/styles/file-manager/material.css +55 -400
- package/styles/file-manager/tailwind-dark.css +76 -424
- package/styles/file-manager/tailwind.css +76 -424
- package/styles/fluent-dark.css +1568 -0
- package/styles/fluent-dark.scss +1 -0
- package/styles/fluent.css +1567 -0
- package/styles/fluent.scss +1 -0
- package/styles/highcontrast-light.css +54 -394
- package/styles/highcontrast.css +73 -393
- package/styles/material-dark.css +55 -403
- package/styles/material.css +55 -400
- package/styles/tailwind-dark.css +76 -424
- package/styles/tailwind.css +76 -424
@@ -117,6 +117,27 @@ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators,
|
|
117
117
|
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;
|
118
118
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
119
119
|
};
|
120
|
+
/**
|
121
|
+
* Specifies the virtualization settings of the File Manager.
|
122
|
+
*/
|
123
|
+
class VirtualizationSettings extends ChildProperty {
|
124
|
+
}
|
125
|
+
__decorate$4([
|
126
|
+
Property(false)
|
127
|
+
], VirtualizationSettings.prototype, "enable", void 0);
|
128
|
+
__decorate$4([
|
129
|
+
Property(20)
|
130
|
+
], VirtualizationSettings.prototype, "detailsViewItemsCount", void 0);
|
131
|
+
__decorate$4([
|
132
|
+
Property(40)
|
133
|
+
], VirtualizationSettings.prototype, "largeIconsViewItemsCount", void 0);
|
134
|
+
|
135
|
+
var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
136
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
137
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
138
|
+
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;
|
139
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
140
|
+
};
|
120
141
|
const fileItems = ['Open', '|', 'Cut', 'Copy', '|', 'Delete', 'Download', 'Rename', '|', 'Details'];
|
121
142
|
const folderItems = ['Open', '|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', 'Download', '|', 'Details'];
|
122
143
|
const layoutItems = [
|
@@ -127,20 +148,20 @@ const layoutItems = [
|
|
127
148
|
*/
|
128
149
|
class ContextMenuSettings extends ChildProperty {
|
129
150
|
}
|
130
|
-
__decorate$
|
151
|
+
__decorate$5([
|
131
152
|
Property(fileItems)
|
132
153
|
], ContextMenuSettings.prototype, "file", void 0);
|
133
|
-
__decorate$
|
154
|
+
__decorate$5([
|
134
155
|
Property(folderItems)
|
135
156
|
], ContextMenuSettings.prototype, "folder", void 0);
|
136
|
-
__decorate$
|
157
|
+
__decorate$5([
|
137
158
|
Property(layoutItems)
|
138
159
|
], ContextMenuSettings.prototype, "layout", void 0);
|
139
|
-
__decorate$
|
160
|
+
__decorate$5([
|
140
161
|
Property(true)
|
141
162
|
], ContextMenuSettings.prototype, "visible", void 0);
|
142
163
|
|
143
|
-
var __decorate$
|
164
|
+
var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
144
165
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
145
166
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
146
167
|
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;
|
@@ -151,17 +172,20 @@ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators,
|
|
151
172
|
*/
|
152
173
|
class NavigationPaneSettings extends ChildProperty {
|
153
174
|
}
|
154
|
-
__decorate$
|
175
|
+
__decorate$6([
|
155
176
|
Property('650px')
|
156
177
|
], NavigationPaneSettings.prototype, "maxWidth", void 0);
|
157
|
-
__decorate$
|
178
|
+
__decorate$6([
|
158
179
|
Property('240px')
|
159
180
|
], NavigationPaneSettings.prototype, "minWidth", void 0);
|
160
|
-
__decorate$
|
181
|
+
__decorate$6([
|
161
182
|
Property(true)
|
162
183
|
], NavigationPaneSettings.prototype, "visible", void 0);
|
184
|
+
__decorate$6([
|
185
|
+
Property('None')
|
186
|
+
], NavigationPaneSettings.prototype, "sortOrder", void 0);
|
163
187
|
|
164
|
-
var __decorate$
|
188
|
+
var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
165
189
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
166
190
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
167
191
|
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;
|
@@ -172,23 +196,26 @@ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators,
|
|
172
196
|
*/
|
173
197
|
class UploadSettings extends ChildProperty {
|
174
198
|
}
|
175
|
-
__decorate$
|
199
|
+
__decorate$7([
|
176
200
|
Property('')
|
177
201
|
], UploadSettings.prototype, "allowedExtensions", void 0);
|
178
|
-
__decorate$
|
202
|
+
__decorate$7([
|
179
203
|
Property(true)
|
180
204
|
], UploadSettings.prototype, "autoUpload", void 0);
|
181
|
-
__decorate$
|
205
|
+
__decorate$7([
|
182
206
|
Property(false)
|
183
207
|
], UploadSettings.prototype, "autoClose", void 0);
|
184
|
-
__decorate$
|
208
|
+
__decorate$7([
|
209
|
+
Property(false)
|
210
|
+
], UploadSettings.prototype, "directoryUpload", void 0);
|
211
|
+
__decorate$7([
|
185
212
|
Property(0)
|
186
213
|
], UploadSettings.prototype, "minFileSize", void 0);
|
187
|
-
__decorate$
|
214
|
+
__decorate$7([
|
188
215
|
Property(30000000)
|
189
216
|
], UploadSettings.prototype, "maxFileSize", void 0);
|
190
217
|
|
191
|
-
var __decorate$
|
218
|
+
var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
192
219
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
193
220
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
194
221
|
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;
|
@@ -200,52 +227,52 @@ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators,
|
|
200
227
|
/* istanbul ignore next */
|
201
228
|
class Column extends ChildProperty {
|
202
229
|
}
|
203
|
-
__decorate$
|
230
|
+
__decorate$8([
|
204
231
|
Property('')
|
205
232
|
], Column.prototype, "field", void 0);
|
206
|
-
__decorate$
|
233
|
+
__decorate$8([
|
207
234
|
Property('')
|
208
235
|
], Column.prototype, "headerText", void 0);
|
209
|
-
__decorate$
|
236
|
+
__decorate$8([
|
210
237
|
Property('')
|
211
238
|
], Column.prototype, "width", void 0);
|
212
|
-
__decorate$
|
239
|
+
__decorate$8([
|
213
240
|
Property('')
|
214
241
|
], Column.prototype, "minWidth", void 0);
|
215
|
-
__decorate$
|
242
|
+
__decorate$8([
|
216
243
|
Property('')
|
217
244
|
], Column.prototype, "maxWidth", void 0);
|
218
|
-
__decorate$
|
245
|
+
__decorate$8([
|
219
246
|
Property('Left')
|
220
247
|
], Column.prototype, "textAlign", void 0);
|
221
|
-
__decorate$
|
248
|
+
__decorate$8([
|
222
249
|
Property(null)
|
223
250
|
], Column.prototype, "headerTextAlign", void 0);
|
224
|
-
__decorate$
|
251
|
+
__decorate$8([
|
225
252
|
Property(null)
|
226
253
|
], Column.prototype, "type", void 0);
|
227
|
-
__decorate$
|
254
|
+
__decorate$8([
|
228
255
|
Property(null)
|
229
256
|
], Column.prototype, "format", void 0);
|
230
|
-
__decorate$
|
257
|
+
__decorate$8([
|
231
258
|
Property(null)
|
232
259
|
], Column.prototype, "template", void 0);
|
233
|
-
__decorate$
|
260
|
+
__decorate$8([
|
234
261
|
Property(null)
|
235
262
|
], Column.prototype, "headerTemplate", void 0);
|
236
|
-
__decorate$
|
263
|
+
__decorate$8([
|
237
264
|
Property(true)
|
238
265
|
], Column.prototype, "allowSorting", void 0);
|
239
|
-
__decorate$
|
266
|
+
__decorate$8([
|
240
267
|
Property(true)
|
241
268
|
], Column.prototype, "allowResizing", void 0);
|
242
|
-
__decorate$
|
269
|
+
__decorate$8([
|
243
270
|
Property(null)
|
244
271
|
], Column.prototype, "customAttributes", void 0);
|
245
|
-
__decorate$
|
272
|
+
__decorate$8([
|
246
273
|
Property('')
|
247
274
|
], Column.prototype, "hideAtMedia", void 0);
|
248
|
-
__decorate$
|
275
|
+
__decorate$8([
|
249
276
|
Property(null)
|
250
277
|
], Column.prototype, "customFormat", void 0);
|
251
278
|
|
@@ -404,6 +431,8 @@ const SUBMENU_ICON = 'e-caret';
|
|
404
431
|
/** @hidden */
|
405
432
|
const GRID_VIEW = 'e-content';
|
406
433
|
/** @hidden */
|
434
|
+
const GRID_CONTENT = 'e-gridcontent';
|
435
|
+
/** @hidden */
|
407
436
|
const ICON_VIEW = 'e-list-parent';
|
408
437
|
/** @hidden */
|
409
438
|
const ICON_OPEN = 'e-icons e-fe-open';
|
@@ -876,7 +905,7 @@ function searchWordHandler(parent, value, isLayoutChange) {
|
|
876
905
|
else {
|
877
906
|
if (!parent.isFiltered) {
|
878
907
|
if (parent.isSortByClicked) {
|
879
|
-
parent.notify(layoutChange, { files: parent.largeiconsviewModule.
|
908
|
+
parent.notify(layoutChange, { files: (parent.oldView === 'Details') ? parent.detailsviewModule.gridObj.dataSource : parent.largeiconsviewModule.allItems });
|
880
909
|
parent.isSortByClicked = false;
|
881
910
|
}
|
882
911
|
else {
|
@@ -897,6 +926,7 @@ function searchWordHandler(parent, value, isLayoutChange) {
|
|
897
926
|
* @private
|
898
927
|
*/
|
899
928
|
function updateLayout(parent, view) {
|
929
|
+
parent.oldView = parent.view;
|
900
930
|
parent.setProperties({ view: view }, true);
|
901
931
|
if (parent.breadcrumbbarModule.searchObj.element.value !== '' || parent.isFiltered) {
|
902
932
|
parent.layoutSelectedItems = parent.selectedItems;
|
@@ -920,7 +950,7 @@ function updateLayout(parent, view) {
|
|
920
950
|
function getTargetModule(parent, element) {
|
921
951
|
let tartgetModule = '';
|
922
952
|
if (element) {
|
923
|
-
if (closest(element, '.
|
953
|
+
if (closest(element, '.' + ROOT + '.' + CONTROL + ' .' + GRID_CONTENT)) {
|
924
954
|
tartgetModule = 'detailsview';
|
925
955
|
}
|
926
956
|
else if (closest(element, '.' + LARGE_ICONS)) {
|
@@ -1061,18 +1091,19 @@ function fileType(file) {
|
|
1061
1091
|
// eslint-disable-next-line
|
1062
1092
|
function getImageUrl(parent, item) {
|
1063
1093
|
const baseUrl = parent.ajaxSettings.getImageUrl ? parent.ajaxSettings.getImageUrl : parent.ajaxSettings.url;
|
1094
|
+
let pathUrl = (baseUrl.indexOf('?') !== -1) ? '&path=' : '?path=';
|
1064
1095
|
let imgUrl;
|
1065
1096
|
const fileName = encodeURIComponent(getValue('name', item));
|
1066
1097
|
const fPath = getValue('filterPath', item);
|
1067
1098
|
if (parent.hasId) {
|
1068
1099
|
const imgId = getValue('id', item);
|
1069
|
-
imgUrl = baseUrl +
|
1100
|
+
imgUrl = baseUrl + pathUrl + parent.path + '&id=' + imgId;
|
1070
1101
|
}
|
1071
1102
|
else if (!isNullOrUndefined(fPath)) {
|
1072
|
-
imgUrl = baseUrl +
|
1103
|
+
imgUrl = baseUrl + pathUrl + encodeURIComponent(fPath.replace(/\\/g, '/')) + fileName;
|
1073
1104
|
}
|
1074
1105
|
else {
|
1075
|
-
imgUrl = baseUrl +
|
1106
|
+
imgUrl = baseUrl + pathUrl + parent.path + fileName;
|
1076
1107
|
}
|
1077
1108
|
imgUrl = imgUrl + '&time=' + (new Date().getTime()).toString();
|
1078
1109
|
const eventArgs = {
|
@@ -1409,6 +1440,15 @@ function pasteHandler(parent) {
|
|
1409
1440
|
parent.enablePaste = false;
|
1410
1441
|
parent.notify(hidePaste, {});
|
1411
1442
|
removeBlur(parent);
|
1443
|
+
const result = {
|
1444
|
+
files: null,
|
1445
|
+
error: {
|
1446
|
+
code: '402',
|
1447
|
+
message: getLocaleText(parent, 'Same-Folder-Error'),
|
1448
|
+
fileExists: null
|
1449
|
+
}
|
1450
|
+
};
|
1451
|
+
createDialog(parent, 'Error', result);
|
1412
1452
|
}
|
1413
1453
|
}
|
1414
1454
|
}
|
@@ -1582,7 +1622,7 @@ function doPasteUpdate(parent, operation, result) {
|
|
1582
1622
|
* @private
|
1583
1623
|
*/
|
1584
1624
|
function readDropPath(parent) {
|
1585
|
-
|
1625
|
+
let pathId = getValue('_fm_id', parent.dropData);
|
1586
1626
|
parent.expandedId = pathId;
|
1587
1627
|
parent.itemData = [parent.dropData];
|
1588
1628
|
if (parent.isPathDrag) {
|
@@ -1590,7 +1630,12 @@ function readDropPath(parent) {
|
|
1590
1630
|
}
|
1591
1631
|
else {
|
1592
1632
|
if (parent.navigationpaneModule) {
|
1593
|
-
|
1633
|
+
let node = select('[data-uid="' + pathId + '"]', parent.navigationpaneModule.treeObj.element);
|
1634
|
+
if (!node) {
|
1635
|
+
let liElement = document.querySelector('[data-id = "' + getValue('id', parent.dropData) + '"]');
|
1636
|
+
pathId = liElement.getAttribute("data-uid");
|
1637
|
+
node = select('[data-uid="' + pathId + '"]', parent.navigationpaneModule.treeObj.element);
|
1638
|
+
}
|
1594
1639
|
updatePath(node, parent.dropData, parent);
|
1595
1640
|
}
|
1596
1641
|
read(parent, dropPath, parent.dropPath);
|
@@ -2417,6 +2462,8 @@ function readSuccess(parent, result, event) {
|
|
2417
2462
|
parent.notify(selectionChanged, {});
|
2418
2463
|
}
|
2419
2464
|
onFailure(parent, result, 'read');
|
2465
|
+
parent.setProperties({ path: parent.oldPath }, true);
|
2466
|
+
parent.pathNames.pop();
|
2420
2467
|
}
|
2421
2468
|
if (parent.isDragDrop && parent.isDropEnd) {
|
2422
2469
|
if (parent.droppedObjects.length !== 0) {
|
@@ -3370,11 +3417,18 @@ function getOptions(parent, text, e, details, replaceItems) {
|
|
3370
3417
|
];
|
3371
3418
|
break;
|
3372
3419
|
case 'MultipleFileDetails':
|
3420
|
+
let index;
|
3373
3421
|
options.dialogName = 'File Details';
|
3374
|
-
strArr =
|
3375
|
-
|
3376
|
-
return (index === 0) ? 'Folder' : val.substr(index).replace(' ', '');
|
3422
|
+
strArr = parent.itemData.map((val) => {
|
3423
|
+
index = val.name.indexOf('.') + 1;
|
3424
|
+
return (index === 0 && (!val.isFile)) ? 'Folder' : ((index !== 0) ? val.name.substr(index).replace(' ', '') : 'undetermined');
|
3377
3425
|
});
|
3426
|
+
if (strArr[0] == undefined) {
|
3427
|
+
strArr = details.name.split(',').map((val) => {
|
3428
|
+
index = val.indexOf('.') + 1;
|
3429
|
+
return (index === 0) ? 'Folder' : val.substr(index).replace(' ', '');
|
3430
|
+
});
|
3431
|
+
}
|
3378
3432
|
fileType$$1 = strArr.every((val, i, arr) => val === arr[0]) ?
|
3379
3433
|
((strArr[0] === 'Folder') ? 'Folder' : strArr[0].toLocaleUpperCase() + ' Type') : 'Multiple Types';
|
3380
3434
|
location = details.location;
|
@@ -3582,7 +3636,7 @@ function onSubmitValidate(parent, ele) {
|
|
3582
3636
|
onValidate(parent, ele);
|
3583
3637
|
const len = ele.value.length - 1;
|
3584
3638
|
if (ele.value !== '' && ((ele.value.lastIndexOf('.') === len) || (ele.value.lastIndexOf(' ') === len)) &&
|
3585
|
-
(parent.showFileExtension || (
|
3639
|
+
(parent.showFileExtension || (ele.value.lastIndexOf('.') === -1 || ele.value.substring(ele.value.indexOf('.') + 1).length === 0))) {
|
3586
3640
|
addInvalid(parent, ele);
|
3587
3641
|
}
|
3588
3642
|
}
|
@@ -3767,9 +3821,9 @@ class LargeIconsView {
|
|
3767
3821
|
altEnter: 'alt+enter',
|
3768
3822
|
esc: 'escape',
|
3769
3823
|
del: 'delete',
|
3770
|
-
ctrlX: 'ctrl+x',
|
3771
|
-
ctrlC: 'ctrl+c',
|
3772
|
-
ctrlV: 'ctrl+v',
|
3824
|
+
ctrlX: this.parent.isMac ? 'cmd+x' : 'ctrl+x',
|
3825
|
+
ctrlC: this.parent.isMac ? 'cmd+c' : 'ctrl+c',
|
3826
|
+
ctrlV: this.parent.isMac ? 'cmd+v' : 'ctrl+v',
|
3773
3827
|
f2: 'f2',
|
3774
3828
|
shiftdel: 'shift+delete',
|
3775
3829
|
back: 'backspace',
|
@@ -3806,7 +3860,10 @@ class LargeIconsView {
|
|
3806
3860
|
};
|
3807
3861
|
this.items = [];
|
3808
3862
|
this.items = this.renderList(args);
|
3809
|
-
this.items = getSortedData(this.parent, this.items);
|
3863
|
+
this.items = this.allItems = getSortedData(this.parent, this.items);
|
3864
|
+
// if (this.parent.virtualizationSettings.enable) {
|
3865
|
+
// this.items = this.allItems.slice(0, this.parent.virtualizationSettings.largeIconsViewItemsCount);
|
3866
|
+
// }
|
3810
3867
|
// eslint-disable-next-line
|
3811
3868
|
this.listElements = ListBase.createListFromJson(createElement, this.items, this.listObj);
|
3812
3869
|
this.itemList = Array.prototype.slice.call(selectAll('.' + LIST_ITEM, this.listElements));
|
@@ -3848,6 +3905,10 @@ class LargeIconsView {
|
|
3848
3905
|
this.getItemCount();
|
3849
3906
|
this.addEventListener();
|
3850
3907
|
this.wireEvents();
|
3908
|
+
// if (this.parent.virtualizationSettings.enable && this.allItems.length > 0) {
|
3909
|
+
// this.parent.virtualizationModule.setUlElementHeight();
|
3910
|
+
// this.parent.virtualizationModule.wireScrollEvent(false);
|
3911
|
+
// }
|
3851
3912
|
this.isRendered = true;
|
3852
3913
|
hideSpinner(this.parent.element);
|
3853
3914
|
if (this.parent.selectedItems.length) {
|
@@ -4547,6 +4608,7 @@ class LargeIconsView {
|
|
4547
4608
|
const val = this.parent.breadcrumbbarModule.searchObj.element.value;
|
4548
4609
|
if (val === '' && !this.parent.isFiltered) {
|
4549
4610
|
const id = getValue('id', details);
|
4611
|
+
this.parent.oldPath = this.parent.path;
|
4550
4612
|
const newPath = this.parent.path + (isNullOrUndefined(id) ? text : id) + '/';
|
4551
4613
|
this.parent.setProperties({ path: newPath }, true);
|
4552
4614
|
this.parent.pathNames.push(text);
|
@@ -5166,7 +5228,7 @@ class LargeIconsView {
|
|
5166
5228
|
else {
|
5167
5229
|
for (let i = 0, len = this.items.length; i < len; i++) {
|
5168
5230
|
const name = getValue('filterPath', this.items[i]) + getValue('name', this.items[i]);
|
5169
|
-
if (items.indexOf(name) !== -1) {
|
5231
|
+
if ((items.indexOf(name) !== -1) || (items.indexOf(getValue(filterName, this.items[i])) !== -1)) {
|
5170
5232
|
indexes.push(i);
|
5171
5233
|
}
|
5172
5234
|
}
|
@@ -5640,7 +5702,7 @@ class BreadCrumbBar {
|
|
5640
5702
|
}
|
5641
5703
|
}
|
5642
5704
|
onSearchTextChange(args) {
|
5643
|
-
this.searchObj.element.placeholder = (this.parent.searchSettings.placeholder != null) ? this.parent.searchSettings.placeholder : getLocaleText(this.parent, 'Search') + ' ' + args.cwd.name;
|
5705
|
+
this.searchObj.element.placeholder = (this.parent.searchSettings.placeholder != null) ? this.parent.searchSettings.placeholder : getLocaleText(this.parent, 'Search') + ' ' + getLocaleText(this.parent, args.cwd.name.toString());
|
5644
5706
|
}
|
5645
5707
|
}
|
5646
5708
|
|
@@ -5752,7 +5814,7 @@ class ContextMenu$2 {
|
|
5752
5814
|
data = this.parent.detailsviewModule.gridObj.getRowObjectFromUID(uid).data;
|
5753
5815
|
if (isNullOrUndefined(this.targetElement.getAttribute('aria-selected'))) {
|
5754
5816
|
/* istanbul ignore next */
|
5755
|
-
this.parent.detailsviewModule.gridObj.selectRows([parseInt(this.targetElement.getAttribute('
|
5817
|
+
this.parent.detailsviewModule.gridObj.selectRows([parseInt(this.targetElement.getAttribute('data-rowindex'), 10)]);
|
5756
5818
|
}
|
5757
5819
|
selected = true;
|
5758
5820
|
/* istanbul ignore next */
|
@@ -6340,7 +6402,7 @@ const defaultLocale = {
|
|
6340
6402
|
'Server-Error': 'ServerError: Invalid response from'
|
6341
6403
|
};
|
6342
6404
|
|
6343
|
-
var __decorate$
|
6405
|
+
var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
6344
6406
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
6345
6407
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
6346
6408
|
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;
|
@@ -6376,7 +6438,6 @@ let FileManager = FileManager_1 = class FileManager extends Component {
|
|
6376
6438
|
this.uploadItem = [];
|
6377
6439
|
this.deleteRecords = [];
|
6378
6440
|
this.isFile = false;
|
6379
|
-
this.sortBy = 'name';
|
6380
6441
|
this.isCut = false;
|
6381
6442
|
this.isSearchCut = false;
|
6382
6443
|
this.isSearchDrag = false;
|
@@ -6410,6 +6471,8 @@ let FileManager = FileManager_1 = class FileManager extends Component {
|
|
6410
6471
|
this.droppedObjects = [];
|
6411
6472
|
this.uploadingCount = 0;
|
6412
6473
|
this.uploadedCount = 0;
|
6474
|
+
//Specifies whether the operating system is MAC or not
|
6475
|
+
this.isMac = false;
|
6413
6476
|
FileManager_1.Inject(BreadCrumbBar, LargeIconsView, ContextMenu$2);
|
6414
6477
|
}
|
6415
6478
|
/**
|
@@ -6503,6 +6566,12 @@ let FileManager = FileManager_1 = class FileManager extends Component {
|
|
6503
6566
|
args: [this]
|
6504
6567
|
});
|
6505
6568
|
}
|
6569
|
+
if (this.virtualizationSettings.enable) {
|
6570
|
+
modules.push({
|
6571
|
+
member: 'virtualization',
|
6572
|
+
args: [this]
|
6573
|
+
});
|
6574
|
+
}
|
6506
6575
|
return modules;
|
6507
6576
|
}
|
6508
6577
|
/**
|
@@ -6517,6 +6586,7 @@ let FileManager = FileManager_1 = class FileManager extends Component {
|
|
6517
6586
|
this.allowMultiSelection ? this.selectedItems : this.selectedItems.slice(this.selectedItems.length - 1);
|
6518
6587
|
this.setProperties({ selectedItems: slItems }, true);
|
6519
6588
|
this.fileView = this.view;
|
6589
|
+
this.isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
|
6520
6590
|
this.setRtl(this.enableRtl);
|
6521
6591
|
this.addEventListeners();
|
6522
6592
|
read(this, (this.path !== this.originalPath) ? initialEnd : finalizeEnd, this.path);
|
@@ -6714,6 +6784,7 @@ let FileManager = FileManager_1 = class FileManager extends Component {
|
|
6714
6784
|
enableRtl: this.enableRtl,
|
6715
6785
|
uploading: this.onUploading.bind(this),
|
6716
6786
|
removing: this.onRemoving.bind(this),
|
6787
|
+
canceling: this.onCancel.bind(this),
|
6717
6788
|
clearing: this.onClearing.bind(this),
|
6718
6789
|
selected: this.onSelected.bind(this),
|
6719
6790
|
success: this.onUploadSuccess.bind(this),
|
@@ -6722,6 +6793,7 @@ let FileManager = FileManager_1 = class FileManager extends Component {
|
|
6722
6793
|
minFileSize: this.uploadSettings.minFileSize,
|
6723
6794
|
maxFileSize: this.uploadSettings.maxFileSize,
|
6724
6795
|
allowedExtensions: this.uploadSettings.allowedExtensions,
|
6796
|
+
directoryUpload: this.uploadSettings.directoryUpload,
|
6725
6797
|
fileListRendering: this.onFileListRender.bind(this)
|
6726
6798
|
});
|
6727
6799
|
this.uploadObj.appendTo('#' + this.element.id + UPLOAD_ID);
|
@@ -6734,6 +6806,7 @@ let FileManager = FileManager_1 = class FileManager extends Component {
|
|
6734
6806
|
this.uploadObj.minFileSize = this.uploadSettings.minFileSize;
|
6735
6807
|
this.uploadObj.maxFileSize = this.uploadSettings.maxFileSize;
|
6736
6808
|
this.uploadObj.allowedExtensions = this.uploadSettings.allowedExtensions;
|
6809
|
+
this.uploadObj.directoryUpload = this.uploadSettings.directoryUpload;
|
6737
6810
|
this.uploadObj.dataBind();
|
6738
6811
|
}
|
6739
6812
|
onBeforeOpen(args) {
|
@@ -6783,7 +6856,7 @@ let FileManager = FileManager_1 = class FileManager extends Component {
|
|
6783
6856
|
}
|
6784
6857
|
}
|
6785
6858
|
const data = JSON.stringify(getValue(this.pathId[this.pathId.length - 1], this.feParent));
|
6786
|
-
args.customFormData = [{ 'path': this.path }, { 'action': action }, { 'data': data }];
|
6859
|
+
args.customFormData = [{ 'path': this.path }, { 'action': action }, { 'data': data }, { 'filename': args.fileData.name }];
|
6787
6860
|
const uploadUrl = this.ajaxSettings.uploadUrl ? this.ajaxSettings.uploadUrl : this.ajaxSettings.url;
|
6788
6861
|
// eslint-disable-next-line
|
6789
6862
|
const ajaxSettings = {
|
@@ -6821,6 +6894,11 @@ let FileManager = FileManager_1 = class FileManager extends Component {
|
|
6821
6894
|
}
|
6822
6895
|
}
|
6823
6896
|
/* istanbul ignore next */
|
6897
|
+
onCancel(args) {
|
6898
|
+
const data = JSON.stringify(getValue(this.pathId[this.pathId.length - 1], this.feParent));
|
6899
|
+
args.customFormData = [{ 'path': this.path }, { 'action': 'remove' }, { 'data': data }];
|
6900
|
+
}
|
6901
|
+
/* istanbul ignore next */
|
6824
6902
|
onClearing() {
|
6825
6903
|
if (this.isOpened) {
|
6826
6904
|
this.uploadDialogObj.hide();
|
@@ -7090,6 +7168,13 @@ let FileManager = FileManager_1 = class FileManager extends Component {
|
|
7090
7168
|
refresh(this);
|
7091
7169
|
this.notify(sortByChange, {});
|
7092
7170
|
break;
|
7171
|
+
case 'sortBy':
|
7172
|
+
refresh(this);
|
7173
|
+
this.notify(sortByChange, {});
|
7174
|
+
if (this.view === 'Details') {
|
7175
|
+
this.notify(sortColumn, {});
|
7176
|
+
}
|
7177
|
+
break;
|
7093
7178
|
case 'popupTarget':
|
7094
7179
|
if (this.uploadDialogObj) {
|
7095
7180
|
this.uploadDialogObj.target = newProp.popupTarget;
|
@@ -7413,148 +7498,154 @@ let FileManager = FileManager_1 = class FileManager extends Component {
|
|
7413
7498
|
}
|
7414
7499
|
}
|
7415
7500
|
};
|
7416
|
-
__decorate$
|
7501
|
+
__decorate$9([
|
7417
7502
|
Complex({}, AjaxSettings)
|
7418
7503
|
], FileManager.prototype, "ajaxSettings", void 0);
|
7419
|
-
__decorate$
|
7504
|
+
__decorate$9([
|
7420
7505
|
Property(false)
|
7421
7506
|
], FileManager.prototype, "allowDragAndDrop", void 0);
|
7422
|
-
__decorate$
|
7507
|
+
__decorate$9([
|
7423
7508
|
Property(true)
|
7424
7509
|
], FileManager.prototype, "allowMultiSelection", void 0);
|
7425
|
-
__decorate$
|
7510
|
+
__decorate$9([
|
7426
7511
|
Complex({}, ContextMenuSettings)
|
7427
7512
|
], FileManager.prototype, "contextMenuSettings", void 0);
|
7428
|
-
__decorate$
|
7513
|
+
__decorate$9([
|
7429
7514
|
Property('')
|
7430
7515
|
], FileManager.prototype, "cssClass", void 0);
|
7431
|
-
__decorate$
|
7516
|
+
__decorate$9([
|
7432
7517
|
Complex({}, DetailsViewSettings)
|
7433
7518
|
], FileManager.prototype, "detailsViewSettings", void 0);
|
7434
|
-
__decorate$
|
7519
|
+
__decorate$9([
|
7520
|
+
Complex({}, VirtualizationSettings)
|
7521
|
+
], FileManager.prototype, "virtualizationSettings", void 0);
|
7522
|
+
__decorate$9([
|
7435
7523
|
Property(true)
|
7436
7524
|
], FileManager.prototype, "enableHtmlSanitizer", void 0);
|
7437
|
-
__decorate$
|
7525
|
+
__decorate$9([
|
7438
7526
|
Property(false)
|
7439
7527
|
], FileManager.prototype, "enablePersistence", void 0);
|
7440
|
-
__decorate$
|
7528
|
+
__decorate$9([
|
7441
7529
|
Property('400px')
|
7442
7530
|
], FileManager.prototype, "height", void 0);
|
7443
|
-
__decorate$
|
7531
|
+
__decorate$9([
|
7444
7532
|
Property('LargeIcons')
|
7445
7533
|
], FileManager.prototype, "view", void 0);
|
7446
|
-
__decorate$
|
7534
|
+
__decorate$9([
|
7447
7535
|
Complex({}, NavigationPaneSettings)
|
7448
7536
|
], FileManager.prototype, "navigationPaneSettings", void 0);
|
7449
|
-
__decorate$
|
7537
|
+
__decorate$9([
|
7450
7538
|
Property('/')
|
7451
7539
|
], FileManager.prototype, "path", void 0);
|
7452
|
-
__decorate$
|
7540
|
+
__decorate$9([
|
7453
7541
|
Property(null)
|
7454
7542
|
], FileManager.prototype, "popupTarget", void 0);
|
7455
|
-
__decorate$
|
7543
|
+
__decorate$9([
|
7456
7544
|
Complex({}, SearchSettings)
|
7457
7545
|
], FileManager.prototype, "searchSettings", void 0);
|
7458
|
-
__decorate$
|
7546
|
+
__decorate$9([
|
7459
7547
|
Property()
|
7460
7548
|
], FileManager.prototype, "selectedItems", void 0);
|
7461
|
-
__decorate$
|
7549
|
+
__decorate$9([
|
7462
7550
|
Property(true)
|
7463
7551
|
], FileManager.prototype, "showFileExtension", void 0);
|
7464
|
-
__decorate$
|
7552
|
+
__decorate$9([
|
7465
7553
|
Property(null)
|
7466
7554
|
], FileManager.prototype, "rootAliasName", void 0);
|
7467
|
-
__decorate$
|
7555
|
+
__decorate$9([
|
7468
7556
|
Property(false)
|
7469
7557
|
], FileManager.prototype, "showHiddenItems", void 0);
|
7470
|
-
__decorate$
|
7558
|
+
__decorate$9([
|
7471
7559
|
Property(true)
|
7472
7560
|
], FileManager.prototype, "showThumbnail", void 0);
|
7473
|
-
__decorate$
|
7561
|
+
__decorate$9([
|
7474
7562
|
Property('Ascending')
|
7475
7563
|
], FileManager.prototype, "sortOrder", void 0);
|
7476
|
-
__decorate$
|
7564
|
+
__decorate$9([
|
7565
|
+
Property('name')
|
7566
|
+
], FileManager.prototype, "sortBy", void 0);
|
7567
|
+
__decorate$9([
|
7477
7568
|
Complex({}, ToolbarSettings)
|
7478
7569
|
], FileManager.prototype, "toolbarSettings", void 0);
|
7479
|
-
__decorate$
|
7570
|
+
__decorate$9([
|
7480
7571
|
Complex({}, UploadSettings)
|
7481
7572
|
], FileManager.prototype, "uploadSettings", void 0);
|
7482
|
-
__decorate$
|
7573
|
+
__decorate$9([
|
7483
7574
|
Property('100%')
|
7484
7575
|
], FileManager.prototype, "width", void 0);
|
7485
|
-
__decorate$
|
7576
|
+
__decorate$9([
|
7486
7577
|
Event()
|
7487
7578
|
], FileManager.prototype, "fileLoad", void 0);
|
7488
|
-
__decorate$
|
7579
|
+
__decorate$9([
|
7489
7580
|
Event()
|
7490
7581
|
], FileManager.prototype, "fileOpen", void 0);
|
7491
|
-
__decorate$
|
7582
|
+
__decorate$9([
|
7492
7583
|
Event()
|
7493
7584
|
], FileManager.prototype, "beforeDownload", void 0);
|
7494
|
-
__decorate$
|
7585
|
+
__decorate$9([
|
7495
7586
|
Event()
|
7496
7587
|
], FileManager.prototype, "beforeImageLoad", void 0);
|
7497
|
-
__decorate$
|
7588
|
+
__decorate$9([
|
7498
7589
|
Event()
|
7499
7590
|
], FileManager.prototype, "beforePopupClose", void 0);
|
7500
|
-
__decorate$
|
7591
|
+
__decorate$9([
|
7501
7592
|
Event()
|
7502
7593
|
], FileManager.prototype, "beforePopupOpen", void 0);
|
7503
|
-
__decorate$
|
7594
|
+
__decorate$9([
|
7504
7595
|
Event()
|
7505
7596
|
], FileManager.prototype, "beforeSend", void 0);
|
7506
|
-
__decorate$
|
7597
|
+
__decorate$9([
|
7507
7598
|
Event()
|
7508
7599
|
], FileManager.prototype, "created", void 0);
|
7509
|
-
__decorate$
|
7600
|
+
__decorate$9([
|
7510
7601
|
Event()
|
7511
7602
|
], FileManager.prototype, "destroyed", void 0);
|
7512
|
-
__decorate$
|
7603
|
+
__decorate$9([
|
7513
7604
|
Event()
|
7514
7605
|
], FileManager.prototype, "fileDragStart", void 0);
|
7515
|
-
__decorate$
|
7606
|
+
__decorate$9([
|
7516
7607
|
Event()
|
7517
7608
|
], FileManager.prototype, "fileDragging", void 0);
|
7518
|
-
__decorate$
|
7609
|
+
__decorate$9([
|
7519
7610
|
Event()
|
7520
7611
|
], FileManager.prototype, "fileDragStop", void 0);
|
7521
|
-
__decorate$
|
7612
|
+
__decorate$9([
|
7522
7613
|
Event()
|
7523
7614
|
], FileManager.prototype, "fileDropped", void 0);
|
7524
|
-
__decorate$
|
7615
|
+
__decorate$9([
|
7525
7616
|
Event()
|
7526
7617
|
], FileManager.prototype, "fileSelection", void 0);
|
7527
|
-
__decorate$
|
7618
|
+
__decorate$9([
|
7528
7619
|
Event()
|
7529
7620
|
], FileManager.prototype, "fileSelect", void 0);
|
7530
|
-
__decorate$
|
7621
|
+
__decorate$9([
|
7531
7622
|
Event()
|
7532
7623
|
], FileManager.prototype, "menuClick", void 0);
|
7533
|
-
__decorate$
|
7624
|
+
__decorate$9([
|
7534
7625
|
Event()
|
7535
7626
|
], FileManager.prototype, "menuOpen", void 0);
|
7536
|
-
__decorate$
|
7627
|
+
__decorate$9([
|
7537
7628
|
Event()
|
7538
7629
|
], FileManager.prototype, "failure", void 0);
|
7539
|
-
__decorate$
|
7630
|
+
__decorate$9([
|
7540
7631
|
Event()
|
7541
7632
|
], FileManager.prototype, "popupClose", void 0);
|
7542
|
-
__decorate$
|
7633
|
+
__decorate$9([
|
7543
7634
|
Event()
|
7544
7635
|
], FileManager.prototype, "popupOpen", void 0);
|
7545
|
-
__decorate$
|
7636
|
+
__decorate$9([
|
7546
7637
|
Event()
|
7547
7638
|
], FileManager.prototype, "success", void 0);
|
7548
|
-
__decorate$
|
7639
|
+
__decorate$9([
|
7549
7640
|
Event()
|
7550
7641
|
], FileManager.prototype, "toolbarClick", void 0);
|
7551
|
-
__decorate$
|
7642
|
+
__decorate$9([
|
7552
7643
|
Event()
|
7553
7644
|
], FileManager.prototype, "toolbarCreate", void 0);
|
7554
|
-
__decorate$
|
7645
|
+
__decorate$9([
|
7555
7646
|
Event()
|
7556
7647
|
], FileManager.prototype, "uploadListCreate", void 0);
|
7557
|
-
FileManager = FileManager_1 = __decorate$
|
7648
|
+
FileManager = FileManager_1 = __decorate$9([
|
7558
7649
|
NotifyPropertyChanges
|
7559
7650
|
], FileManager);
|
7560
7651
|
|
@@ -7704,9 +7795,12 @@ class Toolbar$1 {
|
|
7704
7795
|
toolbarCreateHandler() {
|
7705
7796
|
if (!isNullOrUndefined(select('#' + this.getId('SortBy'), this.parent.element))) {
|
7706
7797
|
const items = [
|
7707
|
-
{ id: this.getPupupId('name'), text: getLocaleText(this.parent, 'Name'),
|
7708
|
-
|
7709
|
-
{ id: this.getPupupId('
|
7798
|
+
{ id: this.getPupupId('name'), text: getLocaleText(this.parent, 'Name'),
|
7799
|
+
iconCss: this.parent.sortBy === 'name' ? TB_OPTION_DOT : '' },
|
7800
|
+
{ id: this.getPupupId('size'), text: getLocaleText(this.parent, 'Size'),
|
7801
|
+
iconCss: this.parent.sortBy === 'size' ? TB_OPTION_DOT : '' },
|
7802
|
+
{ id: this.getPupupId('date'), text: getLocaleText(this.parent, 'DateModified'),
|
7803
|
+
iconCss: this.parent.sortBy === '_fm_modified' ? TB_OPTION_DOT : '' },
|
7710
7804
|
{ separator: true },
|
7711
7805
|
{ id: this.getPupupId('ascending'), text: getLocaleText(this.parent, 'Ascending'),
|
7712
7806
|
iconCss: this.parent.sortOrder === 'Ascending' ? TB_OPTION_TICK : '' },
|
@@ -7742,7 +7836,6 @@ class Toolbar$1 {
|
|
7742
7836
|
cssClass: getCssClass(this.parent, 'e-caret-hide ' + ROOT_POPUP),
|
7743
7837
|
items: layoutItems, select: this.layoutChange.bind(this),
|
7744
7838
|
enableRtl: this.parent.enableRtl,
|
7745
|
-
enableHtmlSanitizer: this.parent.enableHtmlSanitizer,
|
7746
7839
|
content: '<span class="e-tbar-btn-text">' + getLocaleText(this.parent, 'View') + '</span>'
|
7747
7840
|
});
|
7748
7841
|
this.layoutBtnObj.isStringTemplate = true;
|
@@ -8042,6 +8135,178 @@ class Toolbar$1 {
|
|
8042
8135
|
}
|
8043
8136
|
}
|
8044
8137
|
|
8138
|
+
class Virtualization {
|
8139
|
+
constructor(instance) {
|
8140
|
+
this.largeIconsViewItemsCount = 40;
|
8141
|
+
this.filemanagerInstance = instance;
|
8142
|
+
this.largeIconInstance = instance.largeiconsviewModule;
|
8143
|
+
}
|
8144
|
+
// Update the scroller height based on the items count.
|
8145
|
+
setUlElementHeight() {
|
8146
|
+
this.rowItemCount = this.ValidateItemCount(Object.keys(this.largeIconInstance.allItems).length);
|
8147
|
+
this.lastRowCount = (this.largeIconInstance.allItems.length - this.largeIconsViewItemsCount) % this.rowItemCount ?
|
8148
|
+
(this.largeIconInstance.allItems.length - this.largeIconsViewItemsCount) % this.rowItemCount : this.rowItemCount;
|
8149
|
+
this.topElement = this.filemanagerInstance.createElement('div');
|
8150
|
+
this.largeIconInstance.element.firstElementChild.insertBefore(this.topElement, this.largeIconInstance.element.firstElementChild.firstChild);
|
8151
|
+
this.bottomElement = this.filemanagerInstance.createElement('div');
|
8152
|
+
this.largeIconInstance.element.firstElementChild.insertBefore(this.bottomElement, null);
|
8153
|
+
const marginValue = parseInt(window.getComputedStyle(this.largeIconInstance.itemList[0]).getPropertyValue('margin-top')) +
|
8154
|
+
parseInt(window.getComputedStyle(this.largeIconInstance.itemList[0]).getPropertyValue('margin-bottom'));
|
8155
|
+
this.listItemHeight = this.largeIconInstance.itemList[0].getBoundingClientRect().height + marginValue;
|
8156
|
+
this.totalHeight = (Object.keys(this.largeIconInstance.allItems).length / this.rowItemCount) * this.listItemHeight;
|
8157
|
+
this.topElement.style.height = 0 + 'px';
|
8158
|
+
this.bottomElement.style.height = this.totalHeight + 'px';
|
8159
|
+
this.topElementHeight = 0;
|
8160
|
+
this.bottomElementHeight = this.totalHeight;
|
8161
|
+
this.listDiff = 0;
|
8162
|
+
this.renderedCount = this.largeIconsViewItemsCount;
|
8163
|
+
}
|
8164
|
+
// Calculated the maximum number of items can be rendered in each row.
|
8165
|
+
ValidateItemCount(dataSourceLength) {
|
8166
|
+
const width = parseFloat(formatUnit(this.largeIconInstance.element.firstElementChild.clientWidth));
|
8167
|
+
const marginValue = parseInt(window.getComputedStyle(this.largeIconInstance.itemList[0]).getPropertyValue('margin-right')) +
|
8168
|
+
parseInt(window.getComputedStyle(this.largeIconInstance.itemList[0]).getPropertyValue('margin-left'));
|
8169
|
+
let itemCount = Math.floor(width / (this.largeIconInstance.itemList[0].offsetWidth + marginValue));
|
8170
|
+
if (itemCount > dataSourceLength) {
|
8171
|
+
itemCount = dataSourceLength;
|
8172
|
+
}
|
8173
|
+
return itemCount;
|
8174
|
+
}
|
8175
|
+
// Bind the scroll event for large icons view ul element.
|
8176
|
+
wireScrollEvent(destroy) {
|
8177
|
+
if (!destroy) {
|
8178
|
+
EventHandler.add(this.largeIconInstance.element.firstElementChild, 'scroll', this.onVirtualUiScroll, this);
|
8179
|
+
}
|
8180
|
+
else {
|
8181
|
+
EventHandler.remove(this.largeIconInstance.element.firstElementChild, 'scroll', this.onVirtualUiScroll);
|
8182
|
+
}
|
8183
|
+
}
|
8184
|
+
// Update the top and bottom element height and update the scroll position.
|
8185
|
+
onVirtualUiScroll(e) {
|
8186
|
+
let startingHeight = 0;
|
8187
|
+
this.scrollPosition = isNullOrUndefined(this.scrollPosition) ? 0 : this.scrollPosition;
|
8188
|
+
const scroll = this.getscrollerHeight(startingHeight);
|
8189
|
+
this.topElementHeight = this.listItemHeight * Math.floor(scroll / this.listItemHeight);
|
8190
|
+
this.bottomElementHeight = this.totalHeight - this.topElementHeight;
|
8191
|
+
[this.topElementHeight, this.bottomElementHeight] = scroll <= this.totalHeight ?
|
8192
|
+
[this.topElementHeight, this.bottomElementHeight] : [this.totalHeight, 0];
|
8193
|
+
if (this.topElementHeight !== parseFloat(this.topElement.style.height)) {
|
8194
|
+
this.topElement.style.height = this.topElementHeight + 'px';
|
8195
|
+
this.bottomElement.style.height = this.bottomElementHeight + 'px';
|
8196
|
+
// checked whether the scrolling is upward/downward
|
8197
|
+
if (scroll > this.scrollPosition) {
|
8198
|
+
const listDiff = Math.round(((this.topElementHeight / this.listItemHeight) - this.listDiff));
|
8199
|
+
this.onNormalScroll(listDiff, true);
|
8200
|
+
}
|
8201
|
+
else {
|
8202
|
+
const listDiff = Math.round((this.listDiff - (this.topElementHeight / this.listItemHeight)));
|
8203
|
+
this.onNormalScroll(listDiff, false);
|
8204
|
+
}
|
8205
|
+
}
|
8206
|
+
this.listDiff = Math.round(this.topElementHeight / this.listItemHeight);
|
8207
|
+
this.scrollPosition = scroll;
|
8208
|
+
this.largeIconInstance.itemList = Array.prototype.slice.call(selectAll('.' + LIST_ITEM, this.largeIconInstance.element));
|
8209
|
+
this.largeIconInstance.items = this.largeIconInstance.allItems.slice(this.renderedCount -
|
8210
|
+
this.largeIconsViewItemsCount, this.renderedCount);
|
8211
|
+
}
|
8212
|
+
// Calculated the scroller height.
|
8213
|
+
getscrollerHeight(startingHeight) {
|
8214
|
+
return ((this.largeIconInstance.element.firstElementChild.scrollTop - startingHeight) <= 0) ? 0 :
|
8215
|
+
(this.largeIconInstance.element.firstElementChild.scrollTop - startingHeight);
|
8216
|
+
}
|
8217
|
+
// Update the UI based on the scrolled position.
|
8218
|
+
onNormalScroll(listDiff, isScrollingDown) {
|
8219
|
+
for (let i = 0; i < listDiff; i++) {
|
8220
|
+
this.updateUI(isScrollingDown);
|
8221
|
+
}
|
8222
|
+
this.updateSelection();
|
8223
|
+
}
|
8224
|
+
// Updating the items in large icons view dynamically.
|
8225
|
+
updateUI(isScrollingDown) {
|
8226
|
+
if (isScrollingDown) {
|
8227
|
+
this.items = this.largeIconInstance.allItems.slice(this.renderedCount, this.renderedCount + this.rowItemCount);
|
8228
|
+
if (this.items.length > 0) {
|
8229
|
+
this.listElements = ListBase.createListFromJson(createElement, this.items, this.largeIconInstance.listObj);
|
8230
|
+
this.itemList = Array.prototype.slice.call(selectAll('.' + LIST_ITEM, this.listElements));
|
8231
|
+
this.itemList.forEach(liEle => {
|
8232
|
+
this.largeIconInstance.element.firstElementChild.insertBefore(liEle, this.bottomElement);
|
8233
|
+
});
|
8234
|
+
this.renderedCount = (this.largeIconInstance.allItems.length >= this.renderedCount + this.rowItemCount) ?
|
8235
|
+
this.renderedCount + this.rowItemCount : this.renderedCount + this.lastRowCount;
|
8236
|
+
for (let i = 0; i < this.rowItemCount; i++) {
|
8237
|
+
detach(this.topElement.nextElementSibling);
|
8238
|
+
}
|
8239
|
+
}
|
8240
|
+
}
|
8241
|
+
else {
|
8242
|
+
let lastItemIndex;
|
8243
|
+
let isAllRendered;
|
8244
|
+
if (this.renderedCount == this.largeIconInstance.allItems.length) {
|
8245
|
+
lastItemIndex = this.renderedCount - (this.largeIconsViewItemsCount - this.rowItemCount + this.lastRowCount);
|
8246
|
+
this.renderedCount = ((this.renderedCount - this.lastRowCount) < this.largeIconsViewItemsCount) ?
|
8247
|
+
this.largeIconsViewItemsCount : (this.renderedCount - this.lastRowCount);
|
8248
|
+
isAllRendered = true;
|
8249
|
+
}
|
8250
|
+
else {
|
8251
|
+
lastItemIndex = this.renderedCount - this.largeIconsViewItemsCount;
|
8252
|
+
this.renderedCount = ((this.renderedCount - this.rowItemCount) < this.largeIconsViewItemsCount) ?
|
8253
|
+
this.largeIconsViewItemsCount : (this.renderedCount - this.rowItemCount);
|
8254
|
+
}
|
8255
|
+
let startItemIndex = (lastItemIndex - this.rowItemCount > 0) ? lastItemIndex - this.rowItemCount : 0;
|
8256
|
+
this.items = this.largeIconInstance.allItems.slice(startItemIndex, lastItemIndex);
|
8257
|
+
if (this.items.length > 0) {
|
8258
|
+
this.listElements = ListBase.createListFromJson(createElement, this.items, this.largeIconInstance.listObj);
|
8259
|
+
this.itemList = Array.prototype.slice.call(selectAll('.' + LIST_ITEM, this.listElements));
|
8260
|
+
for (let len = this.itemList.length; len > 0; len--) {
|
8261
|
+
this.largeIconInstance.element.firstElementChild.insertBefore(this.itemList[len - 1], this.topElement.nextElementSibling);
|
8262
|
+
}
|
8263
|
+
for (var i = 0; i < ((isAllRendered) ? this.lastRowCount : this.rowItemCount); i++) {
|
8264
|
+
detach(this.bottomElement.previousElementSibling);
|
8265
|
+
}
|
8266
|
+
}
|
8267
|
+
}
|
8268
|
+
}
|
8269
|
+
// Update the selected item state.
|
8270
|
+
updateSelection() {
|
8271
|
+
for (let i = 0; i < this.filemanagerInstance.selectedItems.length; i++) {
|
8272
|
+
for (let j = 0; j < this.items.length; j++) {
|
8273
|
+
if (this.filemanagerInstance.selectedItems[i] == getValue('name', this.items[j])) {
|
8274
|
+
this.updateCheckState(this.itemList[j]);
|
8275
|
+
}
|
8276
|
+
}
|
8277
|
+
}
|
8278
|
+
}
|
8279
|
+
// Update the check state for items.
|
8280
|
+
updateCheckState(liItem) {
|
8281
|
+
if (this.filemanagerInstance.allowMultiSelection) {
|
8282
|
+
addClass([liItem], [ACTIVE]);
|
8283
|
+
liItem.setAttribute('aria-selected', 'true');
|
8284
|
+
const checkEle = select('.' + FRAME, liItem);
|
8285
|
+
if (!checkEle.classList.contains(CHECK)) {
|
8286
|
+
addClass([checkEle], CHECK);
|
8287
|
+
closest(checkEle, '.' + CB_WRAP).setAttribute('aria-checked', 'true');
|
8288
|
+
}
|
8289
|
+
}
|
8290
|
+
}
|
8291
|
+
/**
|
8292
|
+
* For internal use only - Get the module name.
|
8293
|
+
*
|
8294
|
+
* @returns {string} - returns the module name.
|
8295
|
+
* @private
|
8296
|
+
*/
|
8297
|
+
getModuleName() {
|
8298
|
+
return 'virtualization';
|
8299
|
+
}
|
8300
|
+
destroy() {
|
8301
|
+
if (this.filemanagerInstance.isDestroyed) {
|
8302
|
+
return;
|
8303
|
+
}
|
8304
|
+
if (!isNullOrUndefined(this.largeIconInstance.element.firstElementChild)) {
|
8305
|
+
this.wireScrollEvent(true);
|
8306
|
+
}
|
8307
|
+
}
|
8308
|
+
}
|
8309
|
+
|
8045
8310
|
/**
|
8046
8311
|
* File Manager actions modules
|
8047
8312
|
*/
|
@@ -8056,6 +8321,7 @@ class NavigationPane {
|
|
8056
8321
|
* @param {IFileManager} parent - specifies the parent element.
|
8057
8322
|
* @hidden
|
8058
8323
|
*/
|
8324
|
+
/* istanbul ignore next */
|
8059
8325
|
constructor(parent) {
|
8060
8326
|
this.removeNodes = [];
|
8061
8327
|
this.moveNames = [];
|
@@ -8077,9 +8343,9 @@ class NavigationPane {
|
|
8077
8343
|
altEnter: 'alt+enter',
|
8078
8344
|
esc: 'escape',
|
8079
8345
|
del: 'delete',
|
8080
|
-
ctrlX: 'ctrl+x',
|
8081
|
-
ctrlC: 'ctrl+c',
|
8082
|
-
ctrlV: 'ctrl+v',
|
8346
|
+
ctrlX: this.parent.isMac ? 'cmd+x' : 'ctrl+x',
|
8347
|
+
ctrlC: this.parent.isMac ? 'cmd+c' : 'ctrl+c',
|
8348
|
+
ctrlV: this.parent.isMac ? 'cmd+v' : 'ctrl+v',
|
8083
8349
|
ctrlShiftN: 'ctrl+shift+n',
|
8084
8350
|
shiftF10: 'shift+F10',
|
8085
8351
|
f2: 'f2'
|
@@ -8110,6 +8376,7 @@ class NavigationPane {
|
|
8110
8376
|
hasChildren: 'hasChild', iconCss: '_fm_icon', htmlAttributes: '_fm_htmlAttr', tooltip: 'name'
|
8111
8377
|
},
|
8112
8378
|
enableHtmlSanitizer: this.parent.enableHtmlSanitizer,
|
8379
|
+
sortOrder: this.parent.navigationPaneSettings.sortOrder,
|
8113
8380
|
nodeSelecting: this.onNodeSelecting.bind(this),
|
8114
8381
|
nodeSelected: this.onNodeSelected.bind(this),
|
8115
8382
|
nodeExpanding: this.onNodeExpand.bind(this),
|
@@ -8230,7 +8497,7 @@ class NavigationPane {
|
|
8230
8497
|
this.parent.trigger('fileOpen', eventArgs);
|
8231
8498
|
args.cancel = eventArgs.cancel;
|
8232
8499
|
if (args.cancel) {
|
8233
|
-
this.restrictSelecting = this.isNodeClickCalled ? this.previousSelected[0]
|
8500
|
+
this.restrictSelecting = this.isNodeClickCalled ? this.previousSelected[0] !== args.node.getAttribute('data-uid') : false;
|
8234
8501
|
this.treeObj.selectedNodes = this.isNodeClickCalled ? this.previousSelected : this.treeObj.selectedNodes;
|
8235
8502
|
this.previousSelected = this.treeObj.selectedNodes;
|
8236
8503
|
if (!isNullOrUndefined(this.parent) && !isNullOrUndefined(this.parent.contextmenuModule)) {
|
@@ -8268,13 +8535,16 @@ class NavigationPane {
|
|
8268
8535
|
const nodeData = this.getTreeData(getValue('id', args.nodeData));
|
8269
8536
|
this.parent.selectedItems = [];
|
8270
8537
|
this.parent.itemData = nodeData;
|
8538
|
+
const previousPath = this.parent.path;
|
8271
8539
|
updatePath(args.node, this.parent.itemData[0], this.parent);
|
8272
|
-
this.
|
8273
|
-
|
8274
|
-
|
8540
|
+
if (previousPath !== this.parent.path) {
|
8541
|
+
this.expandNodeTarget = null;
|
8542
|
+
if (args.node.querySelector('.' + ICONS) && args.node.querySelector('.' + LIST_ITEM) === null) {
|
8543
|
+
this.expandNodeTarget = 'add';
|
8544
|
+
}
|
8545
|
+
read(this.parent, this.isPathDragged ? pasteEnd : pathChanged, this.parent.path);
|
8546
|
+
this.parent.visitedItem = args.node;
|
8275
8547
|
}
|
8276
|
-
read(this.parent, this.isPathDragged ? pasteEnd : pathChanged, this.parent.path);
|
8277
|
-
this.parent.visitedItem = args.node;
|
8278
8548
|
this.isPathDragged = this.isRenameParent = this.isRightClick = false;
|
8279
8549
|
}
|
8280
8550
|
/* istanbul ignore next */
|
@@ -8332,7 +8602,7 @@ class NavigationPane {
|
|
8332
8602
|
const currFiles = getValue(this.parent.pathId[this.parent.pathId.length - 1], this.parent.feFiles);
|
8333
8603
|
if (this.expandNodeTarget === 'add') {
|
8334
8604
|
const sNode = select('[data-uid="' + this.treeObj.selectedNodes[0] + '"]', this.treeObj.element);
|
8335
|
-
const ul = select('.' + LIST_PARENT, sNode);
|
8605
|
+
const ul = (!isNullOrUndefined(sNode)) ? select('.' + LIST_PARENT, sNode) : null;
|
8336
8606
|
if (isNullOrUndefined(ul)) {
|
8337
8607
|
this.addChild(args.files, this.treeObj.selectedNodes[0], !this.expandTree);
|
8338
8608
|
}
|
@@ -8342,6 +8612,8 @@ class NavigationPane {
|
|
8342
8612
|
if (isNullOrUndefined(currFiles)) {
|
8343
8613
|
setValue(this.parent.pathId[this.parent.pathId.length - 1], args.files, this.parent.feFiles);
|
8344
8614
|
}
|
8615
|
+
if (this.parent.uploadObj.directoryUpload)
|
8616
|
+
this.updateTree(args);
|
8345
8617
|
}
|
8346
8618
|
updateTree(args) {
|
8347
8619
|
if (this.treeObj) {
|
@@ -8497,6 +8769,9 @@ class NavigationPane {
|
|
8497
8769
|
break;
|
8498
8770
|
case 'navigationPaneSettings':
|
8499
8771
|
read(this.parent, finalizeEnd, '/');
|
8772
|
+
if (e.oldProp.navigationPaneSettings.sortOrder !== e.newProp.navigationPaneSettings.sortOrder) {
|
8773
|
+
this.treeObj.sortOrder = e.newProp.navigationPaneSettings.sortOrder;
|
8774
|
+
}
|
8500
8775
|
break;
|
8501
8776
|
}
|
8502
8777
|
}
|
@@ -8789,13 +9064,15 @@ class NavigationPane {
|
|
8789
9064
|
removeActive(this.parent);
|
8790
9065
|
break;
|
8791
9066
|
case 'del':
|
8792
|
-
this.
|
8793
|
-
|
8794
|
-
|
8795
|
-
|
8796
|
-
|
8797
|
-
|
8798
|
-
|
9067
|
+
if (this.parent.pathId[0] !== this.activeNode.getAttribute('data-uid')) {
|
9068
|
+
this.updateItemData();
|
9069
|
+
if (!hasEditAccess(this.parent.itemData[0])) {
|
9070
|
+
createDeniedDialog(this.parent, this.parent.itemData[0], permissionEdit);
|
9071
|
+
}
|
9072
|
+
else {
|
9073
|
+
this.removeNodes = [];
|
9074
|
+
createDialog(this.parent, 'Delete');
|
9075
|
+
}
|
8799
9076
|
}
|
8800
9077
|
break;
|
8801
9078
|
case 'ctrlC':
|
@@ -8896,6 +9173,9 @@ class DetailsView {
|
|
8896
9173
|
this.isNameWidth = false;
|
8897
9174
|
this.pasteOperation = false;
|
8898
9175
|
this.uploadOperation = false;
|
9176
|
+
/* istanbul ignore next */
|
9177
|
+
// eslint:disable-next-line
|
9178
|
+
this.actionDivert = false;
|
8899
9179
|
Grid.Inject(Resize, ContextMenu$1, Sort, VirtualScroll);
|
8900
9180
|
this.parent = parent;
|
8901
9181
|
this.element = select('#' + this.parent.element.id + GRID_ID, this.parent.element);
|
@@ -8927,9 +9207,9 @@ class DetailsView {
|
|
8927
9207
|
home: 'home',
|
8928
9208
|
moveUp: 'uparrow',
|
8929
9209
|
del: 'delete',
|
8930
|
-
ctrlX: 'ctrl+x',
|
8931
|
-
ctrlC: 'ctrl+c',
|
8932
|
-
ctrlV: 'ctrl+v',
|
9210
|
+
ctrlX: this.parent.isMac ? 'cmd+x' : 'ctrl+x',
|
9211
|
+
ctrlC: this.parent.isMac ? 'cmd+c' : 'ctrl+c',
|
9212
|
+
ctrlV: this.parent.isMac ? 'cmd+v' : 'ctrl+v',
|
8933
9213
|
ctrlShiftN: 'ctrl+shift+n',
|
8934
9214
|
shiftdel: 'shift+delete',
|
8935
9215
|
ctrlD: 'ctrl+d',
|
@@ -8970,6 +9250,10 @@ class DetailsView {
|
|
8970
9250
|
},
|
8971
9251
|
enableRtl: this.parent.enableRtl,
|
8972
9252
|
pageSettings: { pageSize: 20 },
|
9253
|
+
// enableVirtualization: this.parent.virtualizationSettings.enable,
|
9254
|
+
enablePersistence: this.parent.enablePersistence,
|
9255
|
+
// enableVirtualMaskRow: true,
|
9256
|
+
// pageSettings: { pageSize: this.parent.virtualizationSettings.detailsViewItemsCount },
|
8973
9257
|
sortSettings: { allowUnsort: false, columns: sortSettings },
|
8974
9258
|
columns: columns,
|
8975
9259
|
recordDoubleClick: this.DblClickEvents.bind(this),
|
@@ -9178,14 +9462,19 @@ class DetailsView {
|
|
9178
9462
|
}
|
9179
9463
|
}
|
9180
9464
|
onBeforeDataBound(args) {
|
9465
|
+
// if (!this.parent.virtualizationSettings.enable) {
|
9181
9466
|
showSpinner(this.parent.element);
|
9182
9467
|
// eslint-disable-next-line
|
9183
9468
|
const items = getSortedData(this.parent, this.gridObj.dataSource);
|
9184
9469
|
args.result = items;
|
9470
|
+
// }
|
9185
9471
|
}
|
9186
9472
|
/* istanbul ignore next */
|
9187
9473
|
onDataBound() {
|
9188
9474
|
this.createDragObj();
|
9475
|
+
// if ((this.parent.selectedItems.length !== 0 && !this.parent.virtualizationSettings.enable) ||
|
9476
|
+
// ((this.parent.selectedItems.length !== 0 && this.parent.virtualizationSettings.enable &&
|
9477
|
+
// this.element.querySelector('.e-content').scrollTop == 0))) {
|
9189
9478
|
if (this.parent.selectedItems.length !== 0) {
|
9190
9479
|
this.selectRecords(this.parent.selectedItems);
|
9191
9480
|
}
|
@@ -9453,6 +9742,7 @@ class DetailsView {
|
|
9453
9742
|
const val = this.parent.breadcrumbbarModule.searchObj.element.value;
|
9454
9743
|
if (val === '' && !this.parent.isFiltered) {
|
9455
9744
|
const id = getValue('id', data);
|
9745
|
+
this.parent.oldPath = this.parent.path;
|
9456
9746
|
const newPath = this.parent.path + (isNullOrUndefined(id) ? name : id) + '/';
|
9457
9747
|
this.parent.setProperties({ path: newPath }, true);
|
9458
9748
|
this.parent.pathNames.push(name);
|
@@ -9738,7 +10028,13 @@ class DetailsView {
|
|
9738
10028
|
if (!dragLi) {
|
9739
10029
|
return null;
|
9740
10030
|
}
|
9741
|
-
|
10031
|
+
let name;
|
10032
|
+
if (dragLi.getElementsByClassName('e-fe-text')[0]) {
|
10033
|
+
name = dragLi.getElementsByClassName('e-fe-text')[0].innerText;
|
10034
|
+
}
|
10035
|
+
else if (dragLi.getElementsByClassName("e-rowcell e-templatecell")[0].nextElementSibling) {
|
10036
|
+
name = dragLi.getElementsByClassName("e-rowcell e-templatecell")[0].nextElementSibling.innerText;
|
10037
|
+
}
|
9742
10038
|
if (dragLi && !dragLi.querySelector('.e-active')) {
|
9743
10039
|
this.selectRecords([name]);
|
9744
10040
|
}
|
@@ -9938,6 +10234,10 @@ class DetailsView {
|
|
9938
10234
|
}
|
9939
10235
|
const len = rows.length;
|
9940
10236
|
if (len > 0) {
|
10237
|
+
// if (this.parent.virtualizationSettings.enable) {
|
10238
|
+
// this.parent.currentItemText = getValue('name', args.data);
|
10239
|
+
// }
|
10240
|
+
// else if (len > 0) {
|
9941
10241
|
// eslint-disable-next-line
|
9942
10242
|
const data = this.gridObj.getRowsObject()[rows[len - 1]].data;
|
9943
10243
|
this.parent.currentItemText = getValue('name', data);
|
@@ -10081,7 +10381,7 @@ class DetailsView {
|
|
10081
10381
|
}
|
10082
10382
|
getFocusedItemIndex() {
|
10083
10383
|
return (!isNullOrUndefined(this.getFocusedItem())) ?
|
10084
|
-
parseInt(this.getFocusedItem().getAttribute('
|
10384
|
+
parseInt(this.getFocusedItem().getAttribute('data-rowindex'), 10) : null;
|
10085
10385
|
}
|
10086
10386
|
/* istanbul ignore next */
|
10087
10387
|
// eslint:disable-next-line
|
@@ -10120,14 +10420,13 @@ class DetailsView {
|
|
10120
10420
|
case 'f2':
|
10121
10421
|
case 'moveDown':
|
10122
10422
|
case 'moveUp':
|
10423
|
+
case 'ctrlD':
|
10123
10424
|
e.preventDefault();
|
10124
10425
|
break;
|
10125
10426
|
default:
|
10126
10427
|
break;
|
10127
10428
|
}
|
10128
10429
|
}
|
10129
|
-
/* istanbul ignore next */
|
10130
|
-
// eslint:disable-next-line
|
10131
10430
|
keyupHandler(e) {
|
10132
10431
|
if (!this.isRendered) {
|
10133
10432
|
return;
|
@@ -10204,8 +10503,13 @@ class DetailsView {
|
|
10204
10503
|
else if (this.gridObj.selectedRowIndex !== -1 && e.action === 'tab') {
|
10205
10504
|
return;
|
10206
10505
|
}
|
10506
|
+
else if (!this.actionDivert) {
|
10507
|
+
this.addHeaderFocus();
|
10508
|
+
this.actionDivert = true;
|
10509
|
+
}
|
10207
10510
|
else {
|
10208
10511
|
this.addFocus(0);
|
10512
|
+
this.actionDivert = false;
|
10209
10513
|
}
|
10210
10514
|
}
|
10211
10515
|
break;
|
@@ -10492,6 +10796,18 @@ class DetailsView {
|
|
10492
10796
|
addClass([itemElement], [FOCUS, FOCUSED]);
|
10493
10797
|
}
|
10494
10798
|
}
|
10799
|
+
addHeaderFocus() {
|
10800
|
+
const treeFocus = select('.e-row', this.element);
|
10801
|
+
this.gridObj.element.setAttribute('tabindex', '-1');
|
10802
|
+
const nameFocus = select('th.e-fe-grid-name', this.element);
|
10803
|
+
nameFocus.setAttribute('tabindex', '0');
|
10804
|
+
nameFocus.focus();
|
10805
|
+
addClass([nameFocus], [FOCUS, FOCUSED]);
|
10806
|
+
treeFocus.setAttribute('tabindex', '0');
|
10807
|
+
if (treeFocus.tabIndex === 0 && nameFocus.tabIndex === 0) {
|
10808
|
+
removeClass([treeFocus], [FOCUS, FOCUSED]);
|
10809
|
+
}
|
10810
|
+
}
|
10495
10811
|
getFocusedItem() {
|
10496
10812
|
return select('.' + FOCUSED, this.element);
|
10497
10813
|
}
|
@@ -10702,5 +11018,5 @@ class DetailsView {
|
|
10702
11018
|
* File Manager all modules
|
10703
11019
|
*/
|
10704
11020
|
|
10705
|
-
export { AjaxSettings, toolbarItems, ToolbarSettings, SearchSettings, columnArray, DetailsViewSettings, fileItems, folderItems, layoutItems, ContextMenuSettings, NavigationPaneSettings, UploadSettings, Column, TOOLBAR_ID, LAYOUT_ID, NAVIGATION_ID, TREE_ID, GRID_ID, LARGEICON_ID, DIALOG_ID, ALT_DIALOG_ID, IMG_DIALOG_ID, EXTN_DIALOG_ID, UPLOAD_DIALOG_ID, RETRY_DIALOG_ID, CONTEXT_MENU_ID, SORTBY_ID, VIEW_ID, SPLITTER_ID, CONTENT_ID, BREADCRUMBBAR_ID, UPLOAD_ID, RETRY_ID, SEARCH_ID, ROOT, CONTROL, CHECK_SELECT, ROOT_POPUP, MOBILE, MOB_POPUP, MULTI_SELECT, FILTER, LAYOUT, NAVIGATION, LAYOUT_CONTENT, LARGE_ICONS, TB_ITEM, LIST_ITEM, LIST_TEXT, LIST_PARENT, TB_OPTION_TICK, TB_OPTION_DOT, BLUR, ACTIVE, HOVER, FOCUS, FOCUSED, CHECK, FRAME, CB_WRAP, ROW, ROWCELL, EMPTY, EMPTY_CONTENT, EMPTY_INNER_CONTENT, CLONE, DROP_FOLDER, DROP_FILE, FOLDER, ICON_IMAGE, ICON_MUSIC, ICON_VIDEO, LARGE_ICON, LARGE_EMPTY_FOLDER, LARGE_EMPTY_FOLDER_TWO, LARGE_ICON_FOLDER, SELECTED_ITEMS, TEXT_CONTENT, GRID_HEADER, TEMPLATE_CELL, TREE_VIEW, MENU_ITEM, MENU_ICON, SUBMENU_ICON, GRID_VIEW, ICON_VIEW, ICON_OPEN, ICON_UPLOAD, ICON_CUT, ICON_COPY, ICON_PASTE, ICON_DELETE, ICON_RENAME, ICON_NEWFOLDER, ICON_DETAILS, ICON_SHORTBY, ICON_REFRESH, ICON_SELECTALL, ICON_DOWNLOAD, ICON_OPTIONS, ICON_GRID, ICON_LARGE, ICON_BREADCRUMB, ICON_CLEAR, ICON_DROP_IN, ICON_DROP_OUT, ICON_NO_DROP, ICONS, DETAILS_LABEL, ERROR_CONTENT, STATUS, BREADCRUMBS, RTL, DISPLAY_NONE, COLLAPSED, FULLROW, ICON_COLLAPSIBLE, SPLIT_BAR, HEADER_CHECK, OVERLAY, VALUE, isFile, modelChanged, initialEnd, finalizeEnd, createEnd, filterEnd, beforeDelete, pathDrag, deleteInit, deleteEnd, refreshEnd, resizeEnd, splitterResize, pathChanged, destroy, beforeRequest, upload, skipUpload, afterRequest, download, layoutRefresh, actionFailure, search, openInit, openEnd, selectionChanged, selectAllInit, clearAllInit, clearPathInit, layoutChange, sortByChange, nodeExpand, detailsInit, menuItemData, renameInit, renameEndParent, renameEnd, showPaste, hidePaste, selectedData, cutCopyInit, pasteInit, pasteEnd, cutEnd, hideLayout, updateTreeSelection, treeSelect, sortColumn, pathColumn, searchTextChange, beforeDownload, downloadInit, dropInit, dragEnd, dropPath, dragHelper, dragging, updateSelectionData, methodCall, permissionRead, permissionEdit, permissionEditContents, permissionCopy, permissionUpload, permissionDownload, FileManager, Toolbar$1 as Toolbar, BreadCrumbBar, NavigationPane, DetailsView, LargeIconsView, createDialog, createExtDialog, createImageDialog, ContextMenu$2 as ContextMenu };
|
11021
|
+
export { AjaxSettings, toolbarItems, ToolbarSettings, SearchSettings, columnArray, DetailsViewSettings, VirtualizationSettings, fileItems, folderItems, layoutItems, ContextMenuSettings, NavigationPaneSettings, UploadSettings, Column, TOOLBAR_ID, LAYOUT_ID, NAVIGATION_ID, TREE_ID, GRID_ID, LARGEICON_ID, DIALOG_ID, ALT_DIALOG_ID, IMG_DIALOG_ID, EXTN_DIALOG_ID, UPLOAD_DIALOG_ID, RETRY_DIALOG_ID, CONTEXT_MENU_ID, SORTBY_ID, VIEW_ID, SPLITTER_ID, CONTENT_ID, BREADCRUMBBAR_ID, UPLOAD_ID, RETRY_ID, SEARCH_ID, ROOT, CONTROL, CHECK_SELECT, ROOT_POPUP, MOBILE, MOB_POPUP, MULTI_SELECT, FILTER, LAYOUT, NAVIGATION, LAYOUT_CONTENT, LARGE_ICONS, TB_ITEM, LIST_ITEM, LIST_TEXT, LIST_PARENT, TB_OPTION_TICK, TB_OPTION_DOT, BLUR, ACTIVE, HOVER, FOCUS, FOCUSED, CHECK, FRAME, CB_WRAP, ROW, ROWCELL, EMPTY, EMPTY_CONTENT, EMPTY_INNER_CONTENT, CLONE, DROP_FOLDER, DROP_FILE, FOLDER, ICON_IMAGE, ICON_MUSIC, ICON_VIDEO, LARGE_ICON, LARGE_EMPTY_FOLDER, LARGE_EMPTY_FOLDER_TWO, LARGE_ICON_FOLDER, SELECTED_ITEMS, TEXT_CONTENT, GRID_HEADER, TEMPLATE_CELL, TREE_VIEW, MENU_ITEM, MENU_ICON, SUBMENU_ICON, GRID_VIEW, GRID_CONTENT, ICON_VIEW, ICON_OPEN, ICON_UPLOAD, ICON_CUT, ICON_COPY, ICON_PASTE, ICON_DELETE, ICON_RENAME, ICON_NEWFOLDER, ICON_DETAILS, ICON_SHORTBY, ICON_REFRESH, ICON_SELECTALL, ICON_DOWNLOAD, ICON_OPTIONS, ICON_GRID, ICON_LARGE, ICON_BREADCRUMB, ICON_CLEAR, ICON_DROP_IN, ICON_DROP_OUT, ICON_NO_DROP, ICONS, DETAILS_LABEL, ERROR_CONTENT, STATUS, BREADCRUMBS, RTL, DISPLAY_NONE, COLLAPSED, FULLROW, ICON_COLLAPSIBLE, SPLIT_BAR, HEADER_CHECK, OVERLAY, VALUE, isFile, modelChanged, initialEnd, finalizeEnd, createEnd, filterEnd, beforeDelete, pathDrag, deleteInit, deleteEnd, refreshEnd, resizeEnd, splitterResize, pathChanged, destroy, beforeRequest, upload, skipUpload, afterRequest, download, layoutRefresh, actionFailure, search, openInit, openEnd, selectionChanged, selectAllInit, clearAllInit, clearPathInit, layoutChange, sortByChange, nodeExpand, detailsInit, menuItemData, renameInit, renameEndParent, renameEnd, showPaste, hidePaste, selectedData, cutCopyInit, pasteInit, pasteEnd, cutEnd, hideLayout, updateTreeSelection, treeSelect, sortColumn, pathColumn, searchTextChange, beforeDownload, downloadInit, dropInit, dragEnd, dropPath, dragHelper, dragging, updateSelectionData, methodCall, permissionRead, permissionEdit, permissionEditContents, permissionCopy, permissionUpload, permissionDownload, FileManager, Toolbar$1 as Toolbar, BreadCrumbBar, Virtualization, NavigationPane, DetailsView, LargeIconsView, createDialog, createExtDialog, createImageDialog, ContextMenu$2 as ContextMenu };
|
10706
11022
|
//# sourceMappingURL=ej2-filemanager.es2015.js.map
|