@syncfusion/ej2-filemanager 20.1.52-10459 → 20.1.52-10460
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 +3 -20
- package/CHANGELOG.md +410 -0
- package/README.md +43 -54
- package/dist/ej2-filemanager.umd.min.js +10 -1
- package/dist/ej2-filemanager.umd.min.js.map +1 -1
- package/dist/es6/ej2-filemanager.es2015.js +659 -2353
- package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
- package/dist/es6/ej2-filemanager.es5.js +708 -2421
- package/dist/es6/ej2-filemanager.es5.js.map +1 -1
- package/dist/global/ej2-filemanager.min.js +10 -1
- package/dist/global/ej2-filemanager.min.js.map +1 -1
- package/dist/global/index.d.ts +9 -0
- package/helpers/e2e/filemanagerHelper.js +166 -183
- package/package.json +71 -71
- package/src/file-manager/actions/breadcrumb-bar.js +5 -1
- package/src/file-manager/actions/index.d.ts +0 -1
- package/src/file-manager/actions/index.js +0 -1
- package/src/file-manager/actions/toolbar.d.ts +0 -1
- package/src/file-manager/actions/toolbar.js +17 -129
- package/src/file-manager/base/file-manager-model.d.ts +28 -154
- package/src/file-manager/base/file-manager.d.ts +27 -176
- package/src/file-manager/base/file-manager.js +28 -244
- package/src/file-manager/base/interface.d.ts +3 -329
- package/src/file-manager/base/interface.js +1 -0
- package/src/file-manager/common/operations.d.ts +0 -7
- package/src/file-manager/common/operations.js +185 -830
- package/src/file-manager/common/utility.d.ts +3 -46
- package/src/file-manager/common/utility.js +73 -249
- package/src/file-manager/index.d.ts +0 -1
- package/src/file-manager/index.js +0 -1
- package/src/file-manager/layout/details-view.d.ts +0 -10
- package/src/file-manager/layout/details-view.js +94 -203
- package/src/file-manager/layout/large-icons-view.d.ts +2 -4
- package/src/file-manager/layout/large-icons-view.js +72 -121
- package/src/file-manager/layout/navigation-pane.d.ts +0 -2
- package/src/file-manager/layout/navigation-pane.js +73 -97
- package/src/file-manager/models/column-model.d.ts +5 -23
- package/src/file-manager/models/column.d.ts +2 -21
- package/src/file-manager/models/column.js +0 -6
- package/src/file-manager/models/default-locale.js +1 -0
- package/src/file-manager/models/details-view-settings-model.d.ts +1 -1
- package/src/file-manager/models/details-view-settings.js +3 -8
- package/src/file-manager/models/search-settings.d.ts +0 -5
- package/src/file-manager/models/toolbar-settings-model.d.ts +2 -177
- package/src/file-manager/models/toolbar-settings.d.ts +2 -157
- package/src/file-manager/models/toolbar-settings.js +2 -64
- package/src/file-manager/models/upload-settings-model.d.ts +0 -13
- package/src/file-manager/models/upload-settings.d.ts +0 -12
- package/src/file-manager/models/upload-settings.js +0 -3
- package/src/file-manager/pop-up/context-menu.d.ts +1 -2
- package/src/file-manager/pop-up/context-menu.js +36 -111
- package/src/file-manager/pop-up/dialog.d.ts +2 -1
- package/src/file-manager/pop-up/dialog.js +40 -19
- package/src/global.js +1 -1
- package/styles/bootstrap-dark.css +665 -371
- package/styles/bootstrap-dark.scss +1 -17
- package/styles/bootstrap.css +644 -353
- package/styles/bootstrap.scss +1 -17
- package/styles/bootstrap4.css +680 -381
- package/styles/bootstrap4.scss +1 -17
- package/styles/bootstrap5-dark.css +694 -376
- package/styles/bootstrap5-dark.scss +1 -17
- package/styles/bootstrap5.css +695 -377
- package/styles/bootstrap5.scss +1 -17
- package/styles/fabric-dark.css +642 -358
- package/styles/fabric-dark.scss +1 -17
- package/styles/fabric.css +641 -357
- package/styles/fabric.scss +1 -17
- package/styles/file-manager/_all.scss +1 -1
- package/styles/file-manager/_bootstrap-dark-definition.scss +2 -6
- package/styles/file-manager/_bootstrap-definition.scss +2 -6
- package/styles/file-manager/_bootstrap4-definition.scss +2 -6
- package/styles/file-manager/_bootstrap5-definition.scss +15 -20
- package/styles/file-manager/_fabric-dark-definition.scss +2 -6
- package/styles/file-manager/_fabric-definition.scss +2 -6
- package/styles/file-manager/_fluent-definition.scss +15 -18
- package/styles/file-manager/_highcontrast-definition.scss +2 -6
- package/styles/file-manager/_highcontrast-light-definition.scss +2 -6
- package/styles/file-manager/_layout.scss +932 -369
- package/styles/file-manager/_material-dark-definition.scss +2 -7
- package/styles/file-manager/_material-definition.scss +2 -7
- package/styles/file-manager/_tailwind-definition.scss +16 -20
- package/styles/file-manager/_theme.scss +102 -123
- package/styles/file-manager/bootstrap-dark.css +665 -371
- package/styles/file-manager/bootstrap-dark.scss +1 -2
- package/styles/file-manager/bootstrap.css +644 -353
- package/styles/file-manager/bootstrap.scss +1 -2
- package/styles/file-manager/bootstrap4.css +680 -381
- package/styles/file-manager/bootstrap4.scss +1 -2
- package/styles/file-manager/bootstrap5-dark.css +694 -376
- package/styles/file-manager/bootstrap5-dark.scss +1 -2
- package/styles/file-manager/bootstrap5.css +695 -377
- package/styles/file-manager/bootstrap5.scss +1 -2
- package/styles/file-manager/fabric-dark.css +642 -358
- package/styles/file-manager/fabric-dark.scss +1 -2
- package/styles/file-manager/fabric.css +641 -357
- package/styles/file-manager/fabric.scss +1 -2
- package/styles/file-manager/fluent-dark.css +641 -356
- package/styles/file-manager/fluent-dark.scss +1 -2
- package/styles/file-manager/fluent.css +640 -355
- package/styles/file-manager/fluent.scss +1 -2
- package/styles/file-manager/highcontrast-light.css +644 -354
- package/styles/file-manager/highcontrast-light.scss +1 -2
- package/styles/file-manager/highcontrast.css +647 -377
- package/styles/file-manager/highcontrast.scss +1 -2
- package/styles/file-manager/icons/_bootstrap.scss +1 -0
- package/styles/file-manager/icons/_bootstrap4.scss +1 -0
- package/styles/file-manager/icons/_fabric-dark.scss +1 -0
- package/styles/file-manager/icons/_fabric.scss +1 -0
- package/styles/file-manager/material-dark.css +671 -392
- package/styles/file-manager/material-dark.scss +1 -2
- package/styles/file-manager/material.css +654 -391
- package/styles/file-manager/material.scss +1 -2
- package/styles/file-manager/tailwind-dark.css +667 -350
- package/styles/file-manager/tailwind-dark.scss +1 -2
- package/styles/file-manager/tailwind.css +667 -350
- package/styles/file-manager/tailwind.scss +1 -2
- package/styles/fluent-dark.css +641 -356
- package/styles/fluent-dark.scss +1 -17
- package/styles/fluent.css +640 -355
- package/styles/fluent.scss +1 -17
- package/styles/highcontrast-light.css +644 -354
- package/styles/highcontrast-light.scss +1 -17
- package/styles/highcontrast.css +647 -377
- package/styles/highcontrast.scss +1 -17
- package/styles/material-dark.css +671 -392
- package/styles/material-dark.scss +1 -17
- package/styles/material.css +654 -391
- package/styles/material.scss +1 -17
- package/styles/tailwind-dark.css +667 -350
- package/styles/tailwind-dark.scss +1 -17
- package/styles/tailwind.css +667 -350
- package/styles/tailwind.scss +1 -17
- package/dist/ej2-filemanager.min.js +0 -1
- package/src/file-manager/actions/virtualization.d.ts +0 -93
- package/src/file-manager/actions/virtualization.js +0 -279
- package/styles/bootstrap-dark-lite.css +0 -1058
- package/styles/bootstrap-dark-lite.scss +0 -16
- package/styles/bootstrap-lite.css +0 -1040
- package/styles/bootstrap-lite.scss +0 -16
- package/styles/bootstrap4-lite.css +0 -1068
- package/styles/bootstrap4-lite.scss +0 -16
- package/styles/bootstrap5-dark-lite.css +0 -1078
- package/styles/bootstrap5-dark-lite.scss +0 -16
- package/styles/bootstrap5-lite.css +0 -1078
- package/styles/bootstrap5-lite.scss +0 -16
- package/styles/bootstrap5.3-lite.css +0 -1035
- package/styles/bootstrap5.3-lite.scss +0 -16
- package/styles/bootstrap5.3.css +0 -1603
- package/styles/bootstrap5.3.scss +0 -17
- package/styles/fabric-dark-lite.css +0 -1039
- package/styles/fabric-dark-lite.scss +0 -16
- package/styles/fabric-lite.css +0 -1039
- package/styles/fabric-lite.scss +0 -16
- package/styles/file-manager/_bds-definition.scss +0 -236
- package/styles/file-manager/_bigger.scss +0 -758
- package/styles/file-manager/_bootstrap5.3-definition.scss +0 -242
- package/styles/file-manager/_fluent2-definition.scss +0 -255
- package/styles/file-manager/_fusionnew-definition.scss +0 -241
- package/styles/file-manager/_material3-dark-definition.scss +0 -1
- package/styles/file-manager/_material3-definition.scss +0 -235
- package/styles/file-manager/bootstrap5.3.css +0 -1603
- package/styles/file-manager/bootstrap5.3.scss +0 -17
- package/styles/file-manager/fluent2.css +0 -1886
- package/styles/file-manager/fluent2.scss +0 -17
- package/styles/file-manager/icons/_bds.scss +0 -235
- package/styles/file-manager/icons/_bootstrap5.3.scss +0 -235
- package/styles/file-manager/icons/_fluent2.scss +0 -235
- package/styles/file-manager/icons/_fusionnew.scss +0 -235
- package/styles/file-manager/icons/_material3-dark.scss +0 -1
- package/styles/file-manager/icons/_material3.scss +0 -235
- package/styles/file-manager/material3-dark.css +0 -1633
- package/styles/file-manager/material3-dark.scss +0 -18
- package/styles/file-manager/material3.css +0 -1635
- package/styles/file-manager/material3.scss +0 -18
- package/styles/fluent-dark-lite.css +0 -1037
- package/styles/fluent-dark-lite.scss +0 -16
- package/styles/fluent-lite.css +0 -1036
- package/styles/fluent-lite.scss +0 -16
- package/styles/fluent2-lite.css +0 -1272
- package/styles/fluent2-lite.scss +0 -16
- package/styles/fluent2.css +0 -1886
- package/styles/fluent2.scss +0 -17
- package/styles/highcontrast-light-lite.css +0 -1039
- package/styles/highcontrast-light-lite.scss +0 -16
- package/styles/highcontrast-lite.css +0 -1059
- package/styles/highcontrast-lite.scss +0 -16
- package/styles/material-dark-lite.css +0 -1092
- package/styles/material-dark-lite.scss +0 -16
- package/styles/material-lite.css +0 -1097
- package/styles/material-lite.scss +0 -16
- package/styles/material3-dark-lite.css +0 -1090
- package/styles/material3-dark-lite.scss +0 -16
- package/styles/material3-dark.css +0 -1633
- package/styles/material3-dark.scss +0 -19
- package/styles/material3-lite.css +0 -1092
- package/styles/material3-lite.scss +0 -16
- package/styles/material3.css +0 -1635
- package/styles/material3.scss +0 -19
- package/styles/tailwind-dark-lite.css +0 -1060
- package/styles/tailwind-dark-lite.scss +0 -16
- package/styles/tailwind-lite.css +0 -1060
- package/styles/tailwind-lite.scss +0 -16
@@ -1,47 +1,10 @@
|
|
1
1
|
import * as CLS from '../base/classes';
|
2
2
|
import * as events from '../base/constant';
|
3
|
-
import { read, paste, Search, filter, Download, Delete
|
4
|
-
import { getValue, setValue, isNullOrUndefined as isNOU, matches, select, createElement
|
3
|
+
import { read, paste, Search, filter, Download, Delete } from '../common/operations';
|
4
|
+
import { getValue, setValue, isNullOrUndefined as isNOU, matches, select, createElement } from '@syncfusion/ej2-base';
|
5
5
|
import { closest, detach } from '@syncfusion/ej2-base';
|
6
6
|
import { DataManager, Query } from '@syncfusion/ej2-data';
|
7
7
|
import { createDialog } from '../pop-up/dialog';
|
8
|
-
/**
|
9
|
-
* Utility function to compare two strings in a way similar to Windows Explorer.
|
10
|
-
* Files and folders are sorted separately, with folders coming before files.
|
11
|
-
*
|
12
|
-
* @param {string} reference - The first string to compare. This could be a file or folder name.
|
13
|
-
* @param {string} comparer - The second string to compare. This could be a file or folder name.
|
14
|
-
* @returns {number} - A negative number if `reference` should come before `comparer`, a positive number if `comparer` should come before `reference`, and 0 if they are considered equal.
|
15
|
-
*/
|
16
|
-
export function sortComparer(reference, comparer) {
|
17
|
-
// Check if reference and comparer are files or folders
|
18
|
-
var referenceIsFile = /\.\S+/.test(reference);
|
19
|
-
var comparerIsFile = /\.\S+/.test(comparer);
|
20
|
-
// If one is a file and the other is a folder, the folder should come first
|
21
|
-
if (referenceIsFile && !comparerIsFile) {
|
22
|
-
return 1;
|
23
|
-
}
|
24
|
-
if (!referenceIsFile && comparerIsFile) {
|
25
|
-
return -1;
|
26
|
-
}
|
27
|
-
var referenceParts = [];
|
28
|
-
var comparerParts = [];
|
29
|
-
(reference + '').replace(/(\d+)|(\D+)/g, function (_, $1, $2) { referenceParts.push([$1 || Infinity, $2 || '']); return ''; });
|
30
|
-
(comparer + '').replace(/(\d+)|(\D+)/g, function (_, $1, $2) { comparerParts.push([$1 || Infinity, $2 || '']); return ''; });
|
31
|
-
// Compare each part of reference and comparer
|
32
|
-
while (referenceParts.length && comparerParts.length) {
|
33
|
-
var referencePart = referenceParts.shift();
|
34
|
-
var comparerPart = comparerParts.shift();
|
35
|
-
if (referencePart && comparerPart) {
|
36
|
-
var comparisonResult = referencePart[0] - comparerPart[0] ||
|
37
|
-
referencePart[1].localeCompare(comparerPart[1]);
|
38
|
-
if (comparisonResult) {
|
39
|
-
return comparisonResult;
|
40
|
-
}
|
41
|
-
}
|
42
|
-
}
|
43
|
-
return referenceParts.length - comparerParts.length;
|
44
|
-
}
|
45
8
|
/**
|
46
9
|
* Utility file for common actions
|
47
10
|
*
|
@@ -51,6 +14,7 @@ export function sortComparer(reference, comparer) {
|
|
51
14
|
* @returns {void}
|
52
15
|
* @private
|
53
16
|
*/
|
17
|
+
// eslint-disable-next-line
|
54
18
|
export function updatePath(node, data, instance) {
|
55
19
|
var text = getValue('name', data);
|
56
20
|
var id = node.getAttribute('data-id');
|
@@ -70,8 +34,8 @@ export function updatePath(node, data, instance) {
|
|
70
34
|
*/
|
71
35
|
export function getPath(element, text, hasId) {
|
72
36
|
var matched = getParents(element, text, false, hasId);
|
73
|
-
var path = '/';
|
74
|
-
var len = matched.length - (2);
|
37
|
+
var path = hasId ? '' : '/';
|
38
|
+
var len = matched.length - (hasId ? 1 : 2);
|
75
39
|
for (var i = len; i >= 0; i--) {
|
76
40
|
path += matched[i] + '/';
|
77
41
|
}
|
@@ -143,10 +107,11 @@ export function getParents(element, text, isId, hasId) {
|
|
143
107
|
*/
|
144
108
|
export function generatePath(parent) {
|
145
109
|
var key = parent.hasId ? 'id' : 'name';
|
146
|
-
var newPath = '/';
|
147
|
-
var i = 1;
|
110
|
+
var newPath = parent.hasId ? '' : '/';
|
111
|
+
var i = parent.hasId ? 0 : 1;
|
148
112
|
for (i; i < parent.pathId.length; i++) {
|
149
|
-
|
113
|
+
// eslint-disable-next-line
|
114
|
+
var data = getValue(parent.pathId[i], parent.feParent);
|
150
115
|
newPath += getValue(key, data) + '/';
|
151
116
|
}
|
152
117
|
parent.setProperties({ path: newPath }, true);
|
@@ -284,22 +249,6 @@ export function searchWordHandler(parent, value, isLayoutChange) {
|
|
284
249
|
if (value.length === 0 && !parent.isFiltered) {
|
285
250
|
parent.notify(events.pathColumn, { args: parent });
|
286
251
|
}
|
287
|
-
if (isFileSystemData(parent)) {
|
288
|
-
if (value === '') {
|
289
|
-
parent.itemData = parent.fileSystemData;
|
290
|
-
read(parent, events.layoutChange, parent.path);
|
291
|
-
}
|
292
|
-
else {
|
293
|
-
parent.searchSettings.filterType = isNOU(parent.searchSettings.filterType) ? 'contains' : parent.searchSettings.filterType;
|
294
|
-
var filteredData = parent.fileSystemData.filter(function (obj) { return obj.parentId !== null; });
|
295
|
-
var data = new DataManager(filteredData).
|
296
|
-
executeLocal(new Query().where('name', parent.searchSettings.filterType, value, parent.searchSettings.ignoreCase));
|
297
|
-
var searchValue = parent.searchSettings.ignoreCase ? value.toLowerCase() : value;
|
298
|
-
parent.itemData = data;
|
299
|
-
Search(parent, isLayoutChange ? events.layoutChange : events.search, parent.path, searchValue, parent.showHiddenItems, !parent.searchSettings.ignoreCase);
|
300
|
-
}
|
301
|
-
return;
|
302
|
-
}
|
303
252
|
if (parent.searchSettings.filterType === 'startsWith') {
|
304
253
|
searchWord = value + '*';
|
305
254
|
}
|
@@ -319,7 +268,7 @@ export function searchWordHandler(parent, value, isLayoutChange) {
|
|
319
268
|
else {
|
320
269
|
if (!parent.isFiltered) {
|
321
270
|
if (parent.isSortByClicked) {
|
322
|
-
parent.notify(events.layoutChange, { files:
|
271
|
+
parent.notify(events.layoutChange, { files: parent.largeiconsviewModule.items });
|
323
272
|
parent.isSortByClicked = false;
|
324
273
|
}
|
325
274
|
else {
|
@@ -340,7 +289,6 @@ export function searchWordHandler(parent, value, isLayoutChange) {
|
|
340
289
|
* @private
|
341
290
|
*/
|
342
291
|
export function updateLayout(parent, view) {
|
343
|
-
parent.oldView = parent.view;
|
344
292
|
parent.setProperties({ view: view }, true);
|
345
293
|
if (parent.breadcrumbbarModule.searchObj.element.value !== '' || parent.isFiltered) {
|
346
294
|
parent.layoutSelectedItems = parent.selectedItems;
|
@@ -417,6 +365,7 @@ export function openAction(parent) {
|
|
417
365
|
* @returns {Object} - returns the path data.
|
418
366
|
* @private
|
419
367
|
*/
|
368
|
+
// eslint-disable-next-line
|
420
369
|
export function getPathObject(parent) {
|
421
370
|
return getValue(parent.pathId[parent.pathId.length - 1], parent.feParent);
|
422
371
|
}
|
@@ -458,6 +407,7 @@ export function cutFiles(parent) {
|
|
458
407
|
* @returns {string} - returns the file type.
|
459
408
|
* @private
|
460
409
|
*/
|
410
|
+
// eslint-disable-next-line
|
461
411
|
export function fileType(file) {
|
462
412
|
var isFile = getValue('isFile', file);
|
463
413
|
if (!isFile) {
|
@@ -500,29 +450,21 @@ export function fileType(file) {
|
|
500
450
|
* @returns {string} - returns the image url.
|
501
451
|
* @private
|
502
452
|
*/
|
453
|
+
// eslint-disable-next-line
|
503
454
|
export function getImageUrl(parent, item) {
|
504
|
-
var imgUrl = isFileSystemData(parent) ? getValue('imageUrl', item) : '';
|
505
|
-
if (isFileSystemData(parent)) {
|
506
|
-
var eventArgs_1 = {
|
507
|
-
fileDetails: [item],
|
508
|
-
imageUrl: imgUrl
|
509
|
-
};
|
510
|
-
parent.trigger('beforeImageLoad', eventArgs_1);
|
511
|
-
return eventArgs_1.imageUrl;
|
512
|
-
}
|
513
455
|
var baseUrl = parent.ajaxSettings.getImageUrl ? parent.ajaxSettings.getImageUrl : parent.ajaxSettings.url;
|
514
|
-
var
|
456
|
+
var imgUrl;
|
515
457
|
var fileName = encodeURIComponent(getValue('name', item));
|
516
458
|
var fPath = getValue('filterPath', item);
|
517
459
|
if (parent.hasId) {
|
518
460
|
var imgId = getValue('id', item);
|
519
|
-
imgUrl = baseUrl +
|
461
|
+
imgUrl = baseUrl + '?path=' + parent.path + '&id=' + imgId;
|
520
462
|
}
|
521
463
|
else if (!isNOU(fPath)) {
|
522
|
-
imgUrl = baseUrl +
|
464
|
+
imgUrl = baseUrl + '?path=' + fPath.replace(/\\/g, '/') + fileName;
|
523
465
|
}
|
524
466
|
else {
|
525
|
-
imgUrl = baseUrl +
|
467
|
+
imgUrl = baseUrl + '?path=' + parent.path + fileName;
|
526
468
|
}
|
527
469
|
imgUrl = imgUrl + '&time=' + (new Date().getTime()).toString();
|
528
470
|
var eventArgs = {
|
@@ -542,6 +484,7 @@ export function getImageUrl(parent, item) {
|
|
542
484
|
* @returns {string} - returns the image url.
|
543
485
|
* @private
|
544
486
|
*/
|
487
|
+
// eslint-disable-next-line
|
545
488
|
export function getFullPath(parent, data, path) {
|
546
489
|
var filePath = getValue(parent.hasId ? 'id' : 'name', data) + '/';
|
547
490
|
var fPath = getValue(parent.hasId ? 'filterId' : 'filterPath', data);
|
@@ -560,6 +503,7 @@ export function getFullPath(parent, data, path) {
|
|
560
503
|
* @returns {string} - returns the name.
|
561
504
|
* @private
|
562
505
|
*/
|
506
|
+
// eslint-disable-next-line
|
563
507
|
export function getName(parent, data) {
|
564
508
|
var name = getValue('name', data);
|
565
509
|
var fPath = getValue('filterPath', data);
|
@@ -577,17 +521,19 @@ export function getName(parent, data) {
|
|
577
521
|
* @returns {Object[]} - returns the sorted data.
|
578
522
|
* @private
|
579
523
|
*/
|
524
|
+
// eslint-disable-next-line
|
580
525
|
export function getSortedData(parent, items) {
|
581
526
|
if (items.length === 0) {
|
582
527
|
return items;
|
583
528
|
}
|
584
529
|
var query;
|
585
|
-
if (parent.sortOrder !== 'None'
|
530
|
+
if (parent.sortOrder !== 'None') {
|
586
531
|
query = new Query().sortBy(parent.sortBy, parent.sortOrder.toLowerCase(), true).group('isFile');
|
587
532
|
}
|
588
533
|
else {
|
589
534
|
query = new Query().group('isFile');
|
590
535
|
}
|
536
|
+
// eslint-disable-next-line
|
591
537
|
var lists = new DataManager(items).executeLocal(query);
|
592
538
|
return getValue('records', lists);
|
593
539
|
}
|
@@ -600,9 +546,12 @@ export function getSortedData(parent, items) {
|
|
600
546
|
* @returns {Object} - returns the sorted data.
|
601
547
|
* @private
|
602
548
|
*/
|
549
|
+
// eslint-disable-next-line
|
603
550
|
export function getObject(parent, key, value) {
|
551
|
+
// eslint-disable-next-line
|
604
552
|
var currFiles = getValue(parent.pathId[parent.pathId.length - 1], parent.feFiles);
|
605
553
|
var query = new Query().where(key, 'equal', value);
|
554
|
+
// eslint-disable-next-line
|
606
555
|
var lists = new DataManager(currFiles).executeLocal(query);
|
607
556
|
return lists[0];
|
608
557
|
}
|
@@ -667,6 +616,7 @@ export function createEmptyElement(parent, element, args) {
|
|
667
616
|
* @returns {Object[]} - returns the sorted data.
|
668
617
|
* @private
|
669
618
|
*/
|
619
|
+
// eslint-disable-next-line
|
670
620
|
export function getDirectories(files) {
|
671
621
|
return new DataManager(files).executeLocal(new Query().where(events.isFile, 'equal', false, false));
|
672
622
|
}
|
@@ -679,6 +629,7 @@ export function getDirectories(files) {
|
|
679
629
|
* @private
|
680
630
|
*/
|
681
631
|
export function setNodeId(result, rootId) {
|
632
|
+
// eslint-disable-next-line
|
682
633
|
var dirs = getDirectories(result.files);
|
683
634
|
for (var i = 0, len = dirs.length; i < len; i++) {
|
684
635
|
setValue('_fm_id', rootId + '_' + i, dirs[i]);
|
@@ -688,20 +639,14 @@ export function setNodeId(result, rootId) {
|
|
688
639
|
* set the date object
|
689
640
|
*
|
690
641
|
* @param {Object[]} args - specifies the file object.
|
691
|
-
* @param {Internationalization} localeString - The internationalization object for formatting dates.
|
692
|
-
* @param {string} dateFormat - The date format string.
|
693
642
|
* @returns {void}
|
694
643
|
* @private
|
695
644
|
*/
|
696
|
-
|
645
|
+
// eslint-disable-next-line
|
646
|
+
export function setDateObject(args) {
|
697
647
|
for (var i = 0; i < args.length; i++) {
|
698
|
-
|
699
|
-
|
700
|
-
if (isNOU(dateFormat)) {
|
701
|
-
dateFormat = 'MM/dd/yyyy';
|
702
|
-
}
|
703
|
-
setValue('_fm_created', localeString.formatDate(createdDate, { format: dateFormat }), args[i]);
|
704
|
-
setValue('_fm_modified', localeString.formatDate(modifiedDate, { format: dateFormat }), args[i]);
|
648
|
+
setValue('_fm_created', new Date(getValue('dateCreated', args[i])), args[i]);
|
649
|
+
setValue('_fm_modified', new Date(getValue('dateModified', args[i])), args[i]);
|
705
650
|
}
|
706
651
|
}
|
707
652
|
/**
|
@@ -747,7 +692,7 @@ export function sortbyClickHandler(parent, args) {
|
|
747
692
|
tick = false;
|
748
693
|
}
|
749
694
|
if (!tick) {
|
750
|
-
parent.sortBy = getSortField(args.item.id
|
695
|
+
parent.sortBy = getSortField(args.item.id);
|
751
696
|
}
|
752
697
|
else {
|
753
698
|
parent.sortOrder = getSortField(args.item.id);
|
@@ -759,7 +704,6 @@ export function sortbyClickHandler(parent, args) {
|
|
759
704
|
}
|
760
705
|
else {
|
761
706
|
parent.notify(events.sortColumn, { module: 'detailsview' });
|
762
|
-
parent.isSortByClicked = false;
|
763
707
|
}
|
764
708
|
}
|
765
709
|
if (parent.view === 'LargeIcons') {
|
@@ -771,28 +715,15 @@ export function sortbyClickHandler(parent, args) {
|
|
771
715
|
* Gets the sorted fields
|
772
716
|
*
|
773
717
|
* @param {string} id - specifies the id.
|
774
|
-
* @param {IFileManager} [parent] - optional parameter representing the parent IFileManager.
|
775
718
|
* @returns {string} - returns the sorted fields
|
776
719
|
* @private
|
777
720
|
*/
|
778
|
-
export function getSortField(id
|
721
|
+
export function getSortField(id) {
|
779
722
|
var text = id.substring(id.lastIndexOf('_') + 1);
|
780
723
|
var field = text;
|
781
|
-
var column;
|
782
|
-
if (parent) {
|
783
|
-
column = parent.detailsViewSettings.columns;
|
784
|
-
}
|
785
724
|
switch (text) {
|
786
725
|
case 'date':
|
787
|
-
|
788
|
-
if (column[i].field === 'dateModified' || column[i].field === 'dateCreated') {
|
789
|
-
field = column[i].field;
|
790
|
-
break;
|
791
|
-
}
|
792
|
-
else {
|
793
|
-
field = '_fm_modified';
|
794
|
-
}
|
795
|
-
}
|
726
|
+
field = '_fm_modified';
|
796
727
|
break;
|
797
728
|
case 'ascending':
|
798
729
|
field = 'Ascending';
|
@@ -817,22 +748,19 @@ export function getSortField(id, parent) {
|
|
817
748
|
export function setNextPath(parent, path) {
|
818
749
|
var currfolders = path.split('/');
|
819
750
|
var folders = parent.originalPath.split('/');
|
751
|
+
// eslint-disable-next-line
|
820
752
|
var root = getValue(parent.pathId[0], parent.feParent);
|
821
753
|
var key = isNOU(getValue('id', root)) ? 'name' : 'id';
|
822
754
|
for (var i = currfolders.length - 1, len = folders.length - 1; i < len; i++) {
|
823
755
|
var eventName = (folders[i + 1] === '') ? events.finalizeEnd : events.initialEnd;
|
824
756
|
var newPath = (folders[i] === '') ? '/' : (parent.path + folders[i] + '/');
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
}
|
833
|
-
else {
|
834
|
-
parent.originalPath = newPath;
|
835
|
-
}
|
757
|
+
// eslint-disable-next-line
|
758
|
+
var data = getObject(parent, key, folders[i]);
|
759
|
+
var id = getValue('_fm_id', data);
|
760
|
+
parent.setProperties({ path: newPath }, true);
|
761
|
+
parent.pathId.push(id);
|
762
|
+
parent.itemData = [data];
|
763
|
+
parent.pathNames.push(getValue('name', data));
|
836
764
|
read(parent, eventName, parent.path);
|
837
765
|
break;
|
838
766
|
}
|
@@ -845,28 +773,10 @@ export function setNextPath(parent, path) {
|
|
845
773
|
* @returns {void}
|
846
774
|
* @private
|
847
775
|
*/
|
776
|
+
// eslint-disable-next-line
|
848
777
|
export function openSearchFolder(parent, data) {
|
778
|
+
parent.notify(events.clearPathInit, { selectedNode: parent.pathId[parent.pathId.length - 1] });
|
849
779
|
parent.originalPath = getFullPath(parent, data, parent.path);
|
850
|
-
var root = getValue(parent.pathId[0], parent.feParent);
|
851
|
-
var isRoot = getValue('_fm_id', parent.itemData[0]) === 'fe_tree';
|
852
|
-
var key = isNOU(getValue('id', root)) ? 'name' : 'id';
|
853
|
-
var searchData = getObject(parent, key, isFileSystemData(parent) ? getValue('id', data) : getValue('name', data));
|
854
|
-
if (isNullOrUndefined(searchData)) {
|
855
|
-
if (!isRoot) {
|
856
|
-
parent.notify(events.clearPathInit, { selectedNode: parent.pathId[parent.pathId.length - 1] });
|
857
|
-
}
|
858
|
-
else {
|
859
|
-
setNextPath(parent, parent.path);
|
860
|
-
return;
|
861
|
-
}
|
862
|
-
}
|
863
|
-
else {
|
864
|
-
var id = getValue('_fm_id', searchData);
|
865
|
-
parent.setProperties({ path: parent.originalPath }, true);
|
866
|
-
parent.pathId.push(id);
|
867
|
-
parent.itemData = [searchData];
|
868
|
-
parent.pathNames.push(getValue('name', searchData));
|
869
|
-
}
|
870
780
|
read(parent, (parent.path !== parent.originalPath) ? events.initialEnd : events.finalizeEnd, parent.path);
|
871
781
|
}
|
872
782
|
/**
|
@@ -880,9 +790,7 @@ export function pasteHandler(parent) {
|
|
880
790
|
parent.isDragDrop = false;
|
881
791
|
if (parent.selectedNodes.length !== 0 && parent.enablePaste) {
|
882
792
|
var path = (parent.folderPath === '') ? parent.path : parent.folderPath;
|
883
|
-
|
884
|
-
parent.targetPath = getValue('filterPath', parent.actionRecords[0]).replace(/\\/g, '/');
|
885
|
-
}
|
793
|
+
// eslint-disable-next-line
|
886
794
|
var subFolder = validateSubFolder(parent, parent.actionRecords, path, parent.path);
|
887
795
|
if (!subFolder) {
|
888
796
|
if ((parent.fileAction === 'move' && parent.targetPath !== path) || parent.fileAction === 'copy') {
|
@@ -893,15 +801,6 @@ export function pasteHandler(parent) {
|
|
893
801
|
parent.enablePaste = false;
|
894
802
|
parent.notify(events.hidePaste, {});
|
895
803
|
removeBlur(parent);
|
896
|
-
var result = {
|
897
|
-
files: null,
|
898
|
-
error: {
|
899
|
-
code: '402',
|
900
|
-
message: getLocaleText(parent, 'Same-Folder-Error'),
|
901
|
-
fileExists: null
|
902
|
-
}
|
903
|
-
};
|
904
|
-
createDialog(parent, 'Error', result);
|
905
804
|
}
|
906
805
|
}
|
907
806
|
}
|
@@ -916,6 +815,7 @@ export function pasteHandler(parent) {
|
|
916
815
|
* @returns {boolean} - returns the validated sub folder.
|
917
816
|
* @private
|
918
817
|
*/
|
818
|
+
// eslint-disable-next-line
|
919
819
|
export function validateSubFolder(parent, data, dropPath, dragPath) {
|
920
820
|
var subFolder = false;
|
921
821
|
for (var i = 0; i < data.length; i++) {
|
@@ -936,8 +836,7 @@ export function validateSubFolder(parent, data, dropPath, dragPath) {
|
|
936
836
|
}
|
937
837
|
}
|
938
838
|
else {
|
939
|
-
var
|
940
|
-
var srcData = isFileSystemData(parent) ? name_1 : parent.dragNodes[i];
|
839
|
+
var srcData = parent.dragNodes[i];
|
941
840
|
var len = 0;
|
942
841
|
if (srcData) {
|
943
842
|
len = srcData.lastIndexOf('/');
|
@@ -1008,15 +907,15 @@ export function getParentPath(oldPath) {
|
|
1008
907
|
*/
|
1009
908
|
export function getDirectoryPath(parent, args) {
|
1010
909
|
var filePath = getValue(parent.hasId ? 'id' : 'name', args.cwd) + '/';
|
1011
|
-
var fPath = getValue(parent.hasId
|
910
|
+
var fPath = getValue(parent.hasId ? 'filterId' : 'filterPath', args.cwd);
|
1012
911
|
if (!isNOU(fPath)) {
|
1013
912
|
if (fPath === '') {
|
1014
|
-
return parent.hasId
|
913
|
+
return parent.hasId ? filePath : '/';
|
1015
914
|
}
|
1016
915
|
return fPath.replace(/\\/g, '/') + filePath;
|
1017
916
|
}
|
1018
917
|
else {
|
1019
|
-
return
|
918
|
+
return parent.path + filePath;
|
1020
919
|
}
|
1021
920
|
}
|
1022
921
|
/**
|
@@ -1084,11 +983,6 @@ export function readDropPath(parent) {
|
|
1084
983
|
else {
|
1085
984
|
if (parent.navigationpaneModule) {
|
1086
985
|
var node = select('[data-uid="' + pathId + '"]', parent.navigationpaneModule.treeObj.element);
|
1087
|
-
if (!node) {
|
1088
|
-
var liElement = document.querySelector('[data-id = "' + getValue('id', parent.dropData) + '"]');
|
1089
|
-
pathId = liElement.getAttribute('data-uid');
|
1090
|
-
node = select('[data-uid="' + pathId + '"]', parent.navigationpaneModule.treeObj.element);
|
1091
|
-
}
|
1092
986
|
updatePath(node, parent.dropData, parent);
|
1093
987
|
}
|
1094
988
|
read(parent, events.dropPath, parent.dropPath);
|
@@ -1102,8 +996,11 @@ export function readDropPath(parent) {
|
|
1102
996
|
* @returns {object} - returns the duplicated path.
|
1103
997
|
* @private
|
1104
998
|
*/
|
999
|
+
// eslint-disable-next-line
|
1105
1000
|
export function getDuplicateData(parent, name) {
|
1001
|
+
// eslint-disable-next-line
|
1106
1002
|
var data = null;
|
1003
|
+
// eslint-disable-next-line
|
1107
1004
|
var records = parent.isDragDrop ? parent.dragData : parent.actionRecords;
|
1108
1005
|
for (var i = 0; i < records.length; i++) {
|
1109
1006
|
if (getValue('name', records[i]) === name) {
|
@@ -1283,30 +1180,6 @@ export function removeItemClass(parent, value) {
|
|
1283
1180
|
ele[i].classList.remove(value);
|
1284
1181
|
}
|
1285
1182
|
}
|
1286
|
-
/**
|
1287
|
-
* Remove item class handler
|
1288
|
-
*
|
1289
|
-
* @param {Element} scrollParent - specifies the scrolling target.
|
1290
|
-
* @param {IFileManager} parent - specifies the parent.
|
1291
|
-
* @param {string} nodeClass - specifies the node class.
|
1292
|
-
* @param {number} screenY - specifies the vertical (Y) coordinate of the mouse cursor position relative to the entire screen.
|
1293
|
-
* @param {number} clientY - specifies the vertical (Y) coordinate of the mouse cursor position relative to the target element.
|
1294
|
-
* @returns {void}
|
1295
|
-
* @private
|
1296
|
-
*/
|
1297
|
-
export function scrollHandler(scrollParent, parent, nodeClass, screenY, clientY) {
|
1298
|
-
var position;
|
1299
|
-
var elementData = scrollParent.getBoundingClientRect();
|
1300
|
-
var node = select('.' + nodeClass, scrollParent);
|
1301
|
-
if ((screenY >= (elementData.top + scrollParent.clientHeight - 30)) && !isNullOrUndefined(node)) {
|
1302
|
-
position = (parent.targetModule === 'navigationpane' || parent.targetModule === 'detailsview') ? node.offsetHeight / 2.5 : node.offsetHeight / 4.5;
|
1303
|
-
scrollParent.scrollBy(0, position);
|
1304
|
-
}
|
1305
|
-
if (!isNullOrUndefined(node) && (clientY <= (elementData.top + 30))) {
|
1306
|
-
position = (parent.targetModule === 'navigationpane' || parent.targetModule === 'detailsview') ? node.offsetHeight / 2.5 : node.offsetHeight / 4.5;
|
1307
|
-
scrollParent.scrollBy(0, -position);
|
1308
|
-
}
|
1309
|
-
}
|
1310
1183
|
/**
|
1311
1184
|
* Dragging handler
|
1312
1185
|
*
|
@@ -1327,15 +1200,12 @@ export function draggingHandler(parent, args) {
|
|
1327
1200
|
}
|
1328
1201
|
removeBlur(parent, 'hover');
|
1329
1202
|
var node = null;
|
1330
|
-
var scrollParent;
|
1331
1203
|
if (parent.targetModule === 'navigationpane') {
|
1332
1204
|
node = closest(args.target, 'li');
|
1333
1205
|
node.classList.add(CLS.HOVER, CLS.DROP_FOLDER);
|
1334
1206
|
canDrop = true;
|
1335
1207
|
/* istanbul ignore next */
|
1336
1208
|
parent.treeExpandTimer = window.setTimeout(function () { parent.notify(events.dragging, args); }, 800);
|
1337
|
-
scrollParent = parent.navigationpaneModule.treeObj.element.parentElement;
|
1338
|
-
scrollHandler(scrollParent, parent, 'e-level-2', args.event.screenY, args.event.y);
|
1339
1209
|
}
|
1340
1210
|
else if (parent.targetModule === 'detailsview') {
|
1341
1211
|
node = closest(args.target, 'tr');
|
@@ -1346,8 +1216,6 @@ export function draggingHandler(parent, args) {
|
|
1346
1216
|
node.classList.add(CLS.DROP_FILE);
|
1347
1217
|
}
|
1348
1218
|
canDrop = true;
|
1349
|
-
scrollParent = parent.detailsviewModule.gridObj.element.querySelector('.e-content');
|
1350
|
-
scrollHandler(scrollParent, parent, 'e-row', args.event.screenY, args.event.y);
|
1351
1219
|
}
|
1352
1220
|
else if (parent.targetModule === 'largeiconsview') {
|
1353
1221
|
node = closest(args.target, 'li');
|
@@ -1355,8 +1223,6 @@ export function draggingHandler(parent, args) {
|
|
1355
1223
|
node.classList.add(CLS.HOVER, CLS.DROP_FOLDER);
|
1356
1224
|
}
|
1357
1225
|
canDrop = true;
|
1358
|
-
scrollParent = parent.largeiconsviewModule.element.firstElementChild;
|
1359
|
-
scrollHandler(scrollParent, parent, 'e-large-icon', args.event.screenY, args.event.y);
|
1360
1226
|
/* istanbul ignore next */
|
1361
1227
|
}
|
1362
1228
|
else if (parent.targetModule === 'breadcrumbbar') {
|
@@ -1375,6 +1241,7 @@ export function draggingHandler(parent, args) {
|
|
1375
1241
|
* @private
|
1376
1242
|
*/
|
1377
1243
|
// Ignored the message key value in permission object
|
1244
|
+
// eslint-disable-next-line
|
1378
1245
|
export function objectToString(data) {
|
1379
1246
|
var str = '';
|
1380
1247
|
var keys = Object.keys(data);
|
@@ -1393,6 +1260,7 @@ export function objectToString(data) {
|
|
1393
1260
|
* @returns {string} returns the item name.
|
1394
1261
|
* @private
|
1395
1262
|
*/
|
1263
|
+
// eslint-disable-next-line
|
1396
1264
|
export function getItemName(parent, data) {
|
1397
1265
|
if (parent.hasId) {
|
1398
1266
|
return getValue('id', data);
|
@@ -1407,6 +1275,7 @@ export function getItemName(parent, data) {
|
|
1407
1275
|
* @returns {void}
|
1408
1276
|
* @private
|
1409
1277
|
*/
|
1278
|
+
// eslint-disable-next-line
|
1410
1279
|
export function updateRenamingData(parent, data) {
|
1411
1280
|
parent.itemData = [data];
|
1412
1281
|
parent.currentItemText = getValue('name', data);
|
@@ -1437,6 +1306,7 @@ export function doRename(parent) {
|
|
1437
1306
|
* @private
|
1438
1307
|
*/
|
1439
1308
|
export function doDownload(parent) {
|
1309
|
+
// eslint-disable-next-line
|
1440
1310
|
var items = parent.itemData;
|
1441
1311
|
for (var i = 0; i < items.length; i++) {
|
1442
1312
|
if (!hasDownloadAccess(items[i])) {
|
@@ -1457,6 +1327,7 @@ export function doDownload(parent) {
|
|
1457
1327
|
* @returns {void}
|
1458
1328
|
* @private
|
1459
1329
|
*/
|
1330
|
+
// eslint-disable-next-line
|
1460
1331
|
export function doDeleteFiles(parent, data, newIds) {
|
1461
1332
|
for (var i = 0; i < data.length; i++) {
|
1462
1333
|
if (!hasEditAccess(data[i])) {
|
@@ -1477,6 +1348,7 @@ export function doDeleteFiles(parent, data, newIds) {
|
|
1477
1348
|
* @returns {void}
|
1478
1349
|
* @private
|
1479
1350
|
*/
|
1351
|
+
// eslint-disable-next-line
|
1480
1352
|
export function doDownloadFiles(parent, data, newIds) {
|
1481
1353
|
for (var i = 0; i < data.length; i++) {
|
1482
1354
|
if (!hasDownloadAccess(data[i])) {
|
@@ -1498,6 +1370,7 @@ export function doDownloadFiles(parent, data, newIds) {
|
|
1498
1370
|
* @returns {void}
|
1499
1371
|
* @private
|
1500
1372
|
*/
|
1373
|
+
// eslint-disable-next-line
|
1501
1374
|
export function createDeniedDialog(parent, data, action) {
|
1502
1375
|
var message = getValue('message', getValue('permission', data));
|
1503
1376
|
if (message === '') {
|
@@ -1519,6 +1392,7 @@ export function createDeniedDialog(parent, data, action) {
|
|
1519
1392
|
* @returns {string} - returns accesses classes.
|
1520
1393
|
* @private
|
1521
1394
|
*/
|
1395
|
+
// eslint-disable-next-line
|
1522
1396
|
export function getAccessClass(data) {
|
1523
1397
|
return !hasReadAccess(data) ? 'e-fe-locked e-fe-hidden' : 'e-fe-locked';
|
1524
1398
|
}
|
@@ -1529,7 +1403,9 @@ export function getAccessClass(data) {
|
|
1529
1403
|
* @returns {boolean} - returns read access.
|
1530
1404
|
* @private
|
1531
1405
|
*/
|
1406
|
+
// eslint-disable-next-line
|
1532
1407
|
export function hasReadAccess(data) {
|
1408
|
+
// eslint-disable-next-line
|
1533
1409
|
var permission = getValue('permission', data);
|
1534
1410
|
return (permission && !getValue('read', permission)) ? false : true;
|
1535
1411
|
}
|
@@ -1540,7 +1416,9 @@ export function hasReadAccess(data) {
|
|
1540
1416
|
* @returns {boolean} - returns edit access.
|
1541
1417
|
* @private
|
1542
1418
|
*/
|
1419
|
+
// eslint-disable-next-line
|
1543
1420
|
export function hasEditAccess(data) {
|
1421
|
+
// eslint-disable-next-line
|
1544
1422
|
var permission = getValue('permission', data);
|
1545
1423
|
return permission ? ((getValue('read', permission) && getValue('write', permission))) : true;
|
1546
1424
|
}
|
@@ -1551,7 +1429,9 @@ export function hasEditAccess(data) {
|
|
1551
1429
|
* @returns {boolean} - returns content access.
|
1552
1430
|
* @private
|
1553
1431
|
*/
|
1432
|
+
// eslint-disable-next-line
|
1554
1433
|
export function hasContentAccess(data) {
|
1434
|
+
// eslint-disable-next-line
|
1555
1435
|
var permission = getValue('permission', data);
|
1556
1436
|
return permission ? ((getValue('read', permission) && getValue('writeContents', permission))) : true;
|
1557
1437
|
}
|
@@ -1562,7 +1442,9 @@ export function hasContentAccess(data) {
|
|
1562
1442
|
* @returns {boolean} - returns upload access.
|
1563
1443
|
* @private
|
1564
1444
|
*/
|
1445
|
+
// eslint-disable-next-line
|
1565
1446
|
export function hasUploadAccess(data) {
|
1447
|
+
// eslint-disable-next-line
|
1566
1448
|
var permission = getValue('permission', data);
|
1567
1449
|
return permission ? ((getValue('read', permission) && getValue('upload', permission))) : true;
|
1568
1450
|
}
|
@@ -1573,7 +1455,9 @@ export function hasUploadAccess(data) {
|
|
1573
1455
|
* @returns {boolean} - returns download access.
|
1574
1456
|
* @private
|
1575
1457
|
*/
|
1458
|
+
// eslint-disable-next-line
|
1576
1459
|
export function hasDownloadAccess(data) {
|
1460
|
+
// eslint-disable-next-line
|
1577
1461
|
var permission = getValue('permission', data);
|
1578
1462
|
return permission ? ((getValue('read', permission) && getValue('download', permission))) : true;
|
1579
1463
|
}
|
@@ -1585,6 +1469,7 @@ export function hasDownloadAccess(data) {
|
|
1585
1469
|
* @private
|
1586
1470
|
*/
|
1587
1471
|
export function createNewFolder(parent) {
|
1472
|
+
// eslint-disable-next-line
|
1588
1473
|
var details = parent.itemData[0];
|
1589
1474
|
if (!hasContentAccess(details)) {
|
1590
1475
|
createDeniedDialog(parent, details, events.permissionEditContents);
|
@@ -1601,6 +1486,7 @@ export function createNewFolder(parent) {
|
|
1601
1486
|
* @private
|
1602
1487
|
*/
|
1603
1488
|
export function uploadItem(parent) {
|
1489
|
+
// eslint-disable-next-line
|
1604
1490
|
var details = parent.itemData[0];
|
1605
1491
|
if (!hasUploadAccess(details)) {
|
1606
1492
|
createDeniedDialog(parent, details, events.permissionUpload);
|
@@ -1611,65 +1497,3 @@ export function uploadItem(parent) {
|
|
1611
1497
|
uploadEle.click();
|
1612
1498
|
}
|
1613
1499
|
}
|
1614
|
-
/**
|
1615
|
-
* Close dialog popup handler
|
1616
|
-
*
|
1617
|
-
* @param {IFileManager} parent - specifies the parent.
|
1618
|
-
* @returns {void}
|
1619
|
-
* @private
|
1620
|
-
*/
|
1621
|
-
export function closePopup(parent) {
|
1622
|
-
if (!isNullOrUndefined(parent.dialogObj)) {
|
1623
|
-
parent.dialogObj.hide();
|
1624
|
-
}
|
1625
|
-
}
|
1626
|
-
/**
|
1627
|
-
* Access control handler
|
1628
|
-
*
|
1629
|
-
* @param {IFileManager} parent - specifies the parent.
|
1630
|
-
* @param {Object[]} itemData - specifies the item elements.
|
1631
|
-
* @param {string} action - specifies the action.
|
1632
|
-
* @param {boolean} isPathPermision - specifies the path permission.
|
1633
|
-
* @returns {string} returns the path.
|
1634
|
-
* @private
|
1635
|
-
*/
|
1636
|
-
export function getAccessDetails(parent, itemData, action, isPathPermision) {
|
1637
|
-
var accessMessage = '';
|
1638
|
-
for (var i = 0; i < itemData.length; i++) {
|
1639
|
-
var permission = getValue('permission', itemData[i]);
|
1640
|
-
if (permission == null) {
|
1641
|
-
permission = undefined;
|
1642
|
-
}
|
1643
|
-
if (isPathPermision) {
|
1644
|
-
if (permission && (!getValue('read', permission) || !getValue('writeContents', permission))) {
|
1645
|
-
accessMessage = getValue('message', getValue('permission', itemData[i]));
|
1646
|
-
if (accessMessage === '') {
|
1647
|
-
accessMessage = getLocaleText(parent, 'Access-Message').replace('{0}', getValue('name', itemData[i])).replace('{1}', 'writeContents');
|
1648
|
-
}
|
1649
|
-
}
|
1650
|
-
}
|
1651
|
-
else {
|
1652
|
-
var copyOrMovePermission = action === 'copy' ? getValue('copy', permission) : getValue('write', permission);
|
1653
|
-
if (permission && (!getValue('read', permission) || !copyOrMovePermission)) {
|
1654
|
-
accessMessage = getValue('message', getValue('permission', itemData[i]));
|
1655
|
-
if (accessMessage === '') {
|
1656
|
-
accessMessage = getLocaleText(parent, 'Access-Message').replace('{0}', getValue('name', itemData[i])).replace('{1}', action);
|
1657
|
-
}
|
1658
|
-
}
|
1659
|
-
}
|
1660
|
-
if (accessMessage !== '') {
|
1661
|
-
parent.responseData = {
|
1662
|
-
cwd: null,
|
1663
|
-
details: null,
|
1664
|
-
error: {
|
1665
|
-
code: '401',
|
1666
|
-
message: accessMessage,
|
1667
|
-
fileExists: null
|
1668
|
-
},
|
1669
|
-
files: null
|
1670
|
-
};
|
1671
|
-
break;
|
1672
|
-
}
|
1673
|
-
}
|
1674
|
-
return accessMessage;
|
1675
|
-
}
|