@syncfusion/ej2-filemanager 25.2.6 → 26.1.40
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 -2
- package/dist/ej2-filemanager.min.js +2 -2
- 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 +931 -462
- package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
- package/dist/es6/ej2-filemanager.es5.js +975 -515
- 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/package.json +16 -16
- package/src/file-manager/actions/breadcrumb-bar.js +0 -4
- package/src/file-manager/actions/toolbar.js +1 -13
- package/src/file-manager/actions/virtualization.d.ts +28 -8
- package/src/file-manager/actions/virtualization.js +37 -13
- package/src/file-manager/base/file-manager-model.d.ts +107 -36
- package/src/file-manager/base/file-manager.d.ts +100 -25
- package/src/file-manager/base/file-manager.js +46 -20
- package/src/file-manager/base/interface.d.ts +224 -2
- package/src/file-manager/base/interface.js +0 -1
- package/src/file-manager/common/operations.d.ts +7 -0
- package/src/file-manager/common/operations.js +596 -94
- package/src/file-manager/common/utility.d.ts +22 -0
- package/src/file-manager/common/utility.js +117 -65
- package/src/file-manager/layout/details-view.d.ts +1 -1
- package/src/file-manager/layout/details-view.js +23 -68
- package/src/file-manager/layout/large-icons-view.js +24 -46
- package/src/file-manager/layout/navigation-pane.js +18 -41
- package/src/file-manager/models/column-model.d.ts +1 -3
- package/src/file-manager/models/default-locale.js +0 -1
- package/src/file-manager/models/details-view-settings.js +2 -1
- package/src/file-manager/pop-up/context-menu.js +25 -24
- package/src/file-manager/pop-up/dialog.d.ts +1 -2
- package/src/file-manager/pop-up/dialog.js +12 -35
- package/styles/bootstrap-dark.css +116 -105
- package/styles/bootstrap-dark.scss +16 -1
- package/styles/bootstrap.css +117 -106
- package/styles/bootstrap.scss +16 -1
- package/styles/bootstrap4.css +116 -105
- package/styles/bootstrap4.scss +16 -1
- package/styles/bootstrap5-dark.css +98 -98
- package/styles/bootstrap5-dark.scss +16 -1
- package/styles/bootstrap5.css +98 -98
- package/styles/bootstrap5.scss +16 -1
- package/styles/fabric-dark.css +116 -105
- package/styles/fabric-dark.scss +16 -1
- package/styles/fabric.css +116 -105
- package/styles/fabric.scss +16 -1
- package/styles/file-manager/_bds-definition.scss +1 -1
- package/styles/file-manager/_bootstrap5-definition.scss +2 -1
- package/styles/file-manager/_bootstrap5.3-definition.scss +240 -0
- package/styles/file-manager/_fluent-definition.scss +1 -1
- package/styles/file-manager/_fluent2-definition.scss +249 -0
- package/styles/file-manager/_layout.scss +260 -396
- package/styles/file-manager/_material-dark-definition.scss +1 -0
- package/styles/file-manager/_material-definition.scss +1 -0
- package/styles/file-manager/_material3-definition.scss +1 -27
- package/styles/file-manager/_tailwind-definition.scss +1 -1
- package/styles/file-manager/_theme.scss +37 -85
- package/styles/file-manager/bootstrap-dark.css +116 -105
- package/styles/file-manager/bootstrap.css +117 -106
- package/styles/file-manager/bootstrap4.css +116 -105
- package/styles/file-manager/bootstrap5-dark.css +98 -98
- package/styles/file-manager/bootstrap5.css +98 -98
- package/styles/file-manager/fabric-dark.css +116 -105
- package/styles/file-manager/fabric.css +116 -105
- package/styles/file-manager/fluent-dark.css +107 -102
- package/styles/file-manager/fluent.css +107 -102
- package/styles/file-manager/fluent2.css +2868 -0
- package/styles/file-manager/fluent2.scss +16 -0
- package/styles/file-manager/highcontrast-light.css +116 -105
- package/styles/file-manager/highcontrast.css +116 -105
- package/styles/file-manager/icons/_bootstrap5.3.scss +235 -0
- package/styles/file-manager/icons/_fluent2.scss +235 -0
- package/styles/file-manager/material-dark.css +140 -108
- package/styles/file-manager/material.css +156 -112
- package/styles/file-manager/material3-dark.css +134 -109
- package/styles/file-manager/material3.css +134 -109
- package/styles/file-manager/tailwind-dark.css +93 -95
- package/styles/file-manager/tailwind.css +93 -95
- package/styles/fluent-dark.css +107 -102
- package/styles/fluent-dark.scss +16 -1
- package/styles/fluent.css +107 -102
- package/styles/fluent.scss +16 -1
- package/styles/fluent2.css +2868 -0
- package/styles/fluent2.scss +16 -0
- package/styles/highcontrast-light.css +116 -105
- package/styles/highcontrast-light.scss +16 -1
- package/styles/highcontrast.css +116 -105
- package/styles/highcontrast.scss +16 -1
- package/styles/material-dark.css +140 -108
- package/styles/material-dark.scss +16 -1
- package/styles/material.css +156 -112
- package/styles/material.scss +16 -1
- package/styles/material3-dark.css +134 -109
- package/styles/material3-dark.scss +16 -1
- package/styles/material3.css +134 -109
- package/styles/material3.scss +16 -1
- package/styles/tailwind-dark.css +93 -95
- package/styles/tailwind-dark.scss +16 -1
- package/styles/tailwind.css +93 -95
- package/styles/tailwind.scss +16 -1
- package/CHANGELOG.md +0 -475
@@ -63,12 +63,13 @@ var ContextMenu = /** @class */ (function () {
|
|
63
63
|
};
|
64
64
|
ContextMenu.prototype.onBeforeClose = function () {
|
65
65
|
this.menuTarget = null;
|
66
|
-
if (!this.isMenuItemClicked && this.parent.pathId.length > 1 && this.parent.activeModule
|
66
|
+
if (!this.isMenuItemClicked && this.parent.pathId.length > 1 && this.parent.activeModule === 'navigationpane') {
|
67
67
|
this.parent.pathId.pop();
|
68
68
|
var parentKey = [];
|
69
69
|
var itemKeys = Object.keys(this.parent.feParent);
|
70
70
|
for (var _i = 0, itemKeys_1 = itemKeys; _i < itemKeys_1.length; _i++) {
|
71
71
|
var item = itemKeys_1[_i];
|
72
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
72
73
|
var itemData = getValue(item, this.parent.feParent);
|
73
74
|
if (this.parent.pathNames.indexOf(itemData.name) !== -1) {
|
74
75
|
parentKey.push(itemData._fm_id);
|
@@ -84,7 +85,6 @@ var ContextMenu = /** @class */ (function () {
|
|
84
85
|
var _this = this;
|
85
86
|
var selected = false;
|
86
87
|
var uid;
|
87
|
-
// eslint-disable-next-line
|
88
88
|
var data;
|
89
89
|
var treeFolder = false;
|
90
90
|
var target = args.event.target;
|
@@ -96,7 +96,7 @@ var ContextMenu = /** @class */ (function () {
|
|
96
96
|
}
|
97
97
|
this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr.e-row') : target;
|
98
98
|
if (this.parent.enableVirtualization && (target.classList.contains('e-virtual-bottom') || target.classList.contains('e-virtualtable'))) {
|
99
|
-
target = target.parentElement.closest(
|
99
|
+
target = target.parentElement.closest('div');
|
100
100
|
}
|
101
101
|
var view = this.getTargetView(target);
|
102
102
|
this.updateActiveModule();
|
@@ -105,7 +105,6 @@ var ContextMenu = /** @class */ (function () {
|
|
105
105
|
(closest(target, '#' + this.parent.element.id + CLS.BREADCRUMBBAR_ID)) ||
|
106
106
|
(closest(target, '#' + this.parent.element.id + CLS.TOOLBAR_ID))) {
|
107
107
|
args.cancel = true;
|
108
|
-
// eslint:disable-next-line
|
109
108
|
}
|
110
109
|
else if (!(this.parent.view === 'LargeIcons') && this.targetElement &&
|
111
110
|
this.targetElement.classList.contains('e-emptyrow')) {
|
@@ -114,24 +113,20 @@ var ContextMenu = /** @class */ (function () {
|
|
114
113
|
}
|
115
114
|
else if (closest(target, '.' + CLS.EMPTY)) {
|
116
115
|
this.setLayoutItem(target);
|
117
|
-
// eslint:disable-next-line
|
118
116
|
}
|
119
117
|
else if (!target.classList.contains(CLS.MENU_ITEM) &&
|
120
118
|
!target.classList.contains(CLS.MENU_ICON) && !target.classList.contains(CLS.SUBMENU_ICON)) {
|
121
119
|
/* istanbul ignore next */
|
122
|
-
// eslint:disable-next-line
|
123
120
|
if (this.parent.view === 'LargeIcons' && !isNOU(closest(target, 'li')) && !closest(target, '#' + this.parent.element.id + CLS.TREE_ID)) {
|
124
121
|
var eveArgs = { ctrlKey: true, shiftKey: true };
|
125
122
|
if (!closest(target, 'li').classList.contains('e-active')) {
|
126
123
|
this.parent.largeiconsviewModule.doSelection(target, eveArgs);
|
127
124
|
}
|
128
|
-
// eslint-disable-next-line
|
129
125
|
data = this.parent.visitedData;
|
130
126
|
selected = true;
|
131
127
|
}
|
132
128
|
else if (!isNOU(closest(target, 'tr.e-row'))) {
|
133
129
|
uid = this.targetElement.getAttribute('data-uid');
|
134
|
-
// eslint-disable-next-line
|
135
130
|
data = this.parent.detailsviewModule.gridObj.getRowObjectFromUID(uid).data;
|
136
131
|
if (isNOU(this.targetElement.getAttribute('aria-selected'))) {
|
137
132
|
/* istanbul ignore next */
|
@@ -159,8 +154,17 @@ var ContextMenu = /** @class */ (function () {
|
|
159
154
|
if (uid === this.parent.pathId[0]) {
|
160
155
|
this.disabledItems.push('Delete', 'Rename', 'Cut', 'Copy');
|
161
156
|
}
|
157
|
+
else {
|
158
|
+
var itemsToRemove = ['Delete', 'Rename', 'Cut', 'Copy'];
|
159
|
+
for (var i = 0; i < this.disabledItems.length; i++) {
|
160
|
+
var item = this.disabledItems[i];
|
161
|
+
if (itemsToRemove.indexOf(item) !== -1) {
|
162
|
+
this.disabledItems.splice(i, 1);
|
163
|
+
i--;
|
164
|
+
}
|
165
|
+
}
|
166
|
+
}
|
162
167
|
/* istanbul ignore next */
|
163
|
-
// eslint:disable-next-line
|
164
168
|
}
|
165
169
|
else if (view === 'TreeView' || view === 'GridView' || view === 'LargeIcon') {
|
166
170
|
this.setLayoutItem(target);
|
@@ -271,6 +275,18 @@ var ContextMenu = /** @class */ (function () {
|
|
271
275
|
if (this.parent.pathNames[this.parent.pathNames.length - 1] === selectedTreeNode.querySelector('.e-list-text').innerHTML && this.parent.activeModule === 'navigationpane') {
|
272
276
|
this.disabledItems.push('Open');
|
273
277
|
}
|
278
|
+
else {
|
279
|
+
var indexToRemove = this.disabledItems.indexOf('Open');
|
280
|
+
if (indexToRemove !== -1) {
|
281
|
+
this.disabledItems.splice(indexToRemove, 1);
|
282
|
+
}
|
283
|
+
}
|
284
|
+
if (this.parent.selectedItems.length === 0) {
|
285
|
+
var renameIndex = this.disabledItems.indexOf('Rename');
|
286
|
+
if (renameIndex !== -1) {
|
287
|
+
this.disabledItems.splice(renameIndex, 1);
|
288
|
+
}
|
289
|
+
}
|
274
290
|
}
|
275
291
|
else if (this.parent.activeModule !== 'navigationpane') {
|
276
292
|
if (this.parent.selectedItems.length === 1) {
|
@@ -329,13 +345,11 @@ var ContextMenu = /** @class */ (function () {
|
|
329
345
|
return -1;
|
330
346
|
}
|
331
347
|
};
|
332
|
-
// eslint-disable-next-line
|
333
348
|
ContextMenu.prototype.getMenuItemData = function () {
|
334
349
|
if (this.menuType === 'layout') {
|
335
350
|
return getPathObject(this.parent);
|
336
351
|
}
|
337
352
|
else {
|
338
|
-
// eslint-disable-next-line
|
339
353
|
var args = { target: this.menuTarget };
|
340
354
|
this.parent.notify(events.menuItemData, args);
|
341
355
|
return this.parent.itemData[0];
|
@@ -348,7 +362,6 @@ var ContextMenu = /** @class */ (function () {
|
|
348
362
|
return;
|
349
363
|
}
|
350
364
|
var itemText = args.item.id.substr((this.parent.element.id + '_cm_').length);
|
351
|
-
// eslint-disable-next-line
|
352
365
|
var details;
|
353
366
|
if (itemText === 'refresh' || itemText === 'newfolder' || itemText === 'upload') {
|
354
367
|
details = [getPathObject(this.parent)];
|
@@ -373,7 +386,6 @@ var ContextMenu = /** @class */ (function () {
|
|
373
386
|
var sItems;
|
374
387
|
if (!menuClickArgs.cancel) {
|
375
388
|
_this.isMenuItemClicked = true;
|
376
|
-
// eslint:disable-next-line
|
377
389
|
switch (itemText) {
|
378
390
|
case 'cut':
|
379
391
|
cutFiles(_this.parent);
|
@@ -461,19 +473,10 @@ var ContextMenu = /** @class */ (function () {
|
|
461
473
|
case 'upload':
|
462
474
|
uploadItem(_this.parent);
|
463
475
|
break;
|
464
|
-
/* istanbul ignore next */
|
465
476
|
case 'name':
|
466
|
-
/* istanbul ignore next */
|
467
|
-
// eslint-disable-next-line no-fallthrough
|
468
477
|
case 'size':
|
469
|
-
/* istanbul ignore next */
|
470
|
-
// eslint-disable-next-line no-fallthrough
|
471
478
|
case 'date':
|
472
|
-
/* istanbul ignore next */
|
473
|
-
// eslint-disable-next-line no-fallthrough
|
474
479
|
case 'ascending':
|
475
|
-
/* istanbul ignore next */
|
476
|
-
// eslint-disable-next-line no-fallthrough
|
477
480
|
case 'descending':
|
478
481
|
/* istanbul ignore next */
|
479
482
|
sortbyClickHandler(_this.parent, args);
|
@@ -484,12 +487,10 @@ var ContextMenu = /** @class */ (function () {
|
|
484
487
|
sortbyClickHandler(_this.parent, args);
|
485
488
|
break;
|
486
489
|
/* istanbul ignore next */
|
487
|
-
// eslint:disable-next-line
|
488
490
|
case 'largeiconsview':
|
489
491
|
updateLayout(_this.parent, 'LargeIcons');
|
490
492
|
break;
|
491
493
|
/* istanbul ignore next */
|
492
|
-
// eslint:disable-next-line
|
493
494
|
case 'detailsview':
|
494
495
|
updateLayout(_this.parent, 'Details');
|
495
496
|
break;
|
@@ -6,11 +6,10 @@ import { SelectedEventArgs } from '@syncfusion/ej2-inputs';
|
|
6
6
|
* @param {string} text - specifies the text string.
|
7
7
|
* @param {ReadArgs | SelectedEventArgs} e - specifies the type of event args.
|
8
8
|
* @param {FileDetails} details - specifies the file details.
|
9
|
-
* @param {string[]} replaceItems - specifies the replacement.
|
10
9
|
* @returns {void}
|
11
10
|
* @private
|
12
11
|
*/
|
13
|
-
export declare function createDialog(parent: IFileManager, text: string, e?: ReadArgs | SelectedEventArgs, details?: FileDetails
|
12
|
+
export declare function createDialog(parent: IFileManager, text: string, e?: ReadArgs | SelectedEventArgs, details?: FileDetails): void;
|
14
13
|
/**
|
15
14
|
*
|
16
15
|
* @param {IFileManager} parent - Specifies the parent element.
|
@@ -14,12 +14,11 @@ import { CheckBox } from '@syncfusion/ej2-buttons';
|
|
14
14
|
* @param {string} text - specifies the text string.
|
15
15
|
* @param {ReadArgs | SelectedEventArgs} e - specifies the type of event args.
|
16
16
|
* @param {FileDetails} details - specifies the file details.
|
17
|
-
* @param {string[]} replaceItems - specifies the replacement.
|
18
17
|
* @returns {void}
|
19
18
|
* @private
|
20
19
|
*/
|
21
|
-
export function createDialog(parent, text, e, details
|
22
|
-
var options = getOptions(parent, text, e, details
|
20
|
+
export function createDialog(parent, text, e, details) {
|
21
|
+
var options = getOptions(parent, text, e, details);
|
23
22
|
if (isNOU(parent.dialogObj)) {
|
24
23
|
parent.dialogObj = new Dialog({
|
25
24
|
beforeOpen: keydownAction.bind(this, parent, options.dialogName),
|
@@ -540,11 +539,10 @@ function createInput(ele, placeholder) {
|
|
540
539
|
* @param {string} text - specifies the text string.
|
541
540
|
* @param {ReadArgs | SelectedEventArgs} e - specifies the event arguements.
|
542
541
|
* @param {FileDetails} details - specifies the file details.
|
543
|
-
* @param {string[]} replaceItems - specifies the replacement items.
|
544
542
|
* @returns {DialogOptions} - specifies the dialog options.
|
545
543
|
* @private
|
546
544
|
*/
|
547
|
-
function getOptions(parent, text, e, details
|
545
|
+
function getOptions(parent, text, e, details) {
|
548
546
|
var options = {
|
549
547
|
header: '', content: '', buttons: [], dialogName: ''
|
550
548
|
};
|
@@ -557,6 +555,7 @@ function getOptions(parent, text, e, details, replaceItems) {
|
|
557
555
|
options.open = function () { triggerPopupOpen(parent, parent.dialogObj, options.dialogName); };
|
558
556
|
options.close = function () { triggerPopupClose(parent, parent.dialogObj, options.dialogName); };
|
559
557
|
text = (details && details.multipleFiles === true) ? 'MultipleFileDetails' : text;
|
558
|
+
var index;
|
560
559
|
switch (text) {
|
561
560
|
case 'NewFolder':
|
562
561
|
options.dialogName = 'Create Folder';
|
@@ -589,7 +588,7 @@ function getOptions(parent, text, e, details, replaceItems) {
|
|
589
588
|
options.buttons = [
|
590
589
|
{
|
591
590
|
buttonModel: { isPrimary: true, content: getLocaleText(parent, 'Button-Yes') },
|
592
|
-
click: function (
|
591
|
+
click: function () {
|
593
592
|
onDeleteSubmit(parent);
|
594
593
|
}
|
595
594
|
},
|
@@ -641,23 +640,22 @@ function getOptions(parent, text, e, details, replaceItems) {
|
|
641
640
|
options.buttons = [
|
642
641
|
{
|
643
642
|
buttonModel: { isPrimary: true, content: getLocaleText(parent, 'Button-Ok') },
|
644
|
-
click: function (
|
643
|
+
click: function () {
|
645
644
|
parent.dialogObj.hide();
|
646
645
|
}
|
647
646
|
}
|
648
647
|
];
|
649
648
|
break;
|
650
649
|
case 'MultipleFileDetails':
|
651
|
-
var index_1;
|
652
650
|
options.dialogName = 'File Details';
|
653
651
|
strArr = parent.itemData.map(function (val) {
|
654
|
-
|
655
|
-
return (
|
652
|
+
index = val.name.indexOf('.') + 1;
|
653
|
+
return (index === 0 && (!val.isFile)) ? 'Folder' : ((index !== 0) ? val.name.substr(index).replace(' ', '') : 'undetermined');
|
656
654
|
});
|
657
|
-
if (strArr[0]
|
655
|
+
if (strArr[0] === undefined) {
|
658
656
|
strArr = details.name.split(',').map(function (val) {
|
659
|
-
|
660
|
-
return (
|
657
|
+
index = val.indexOf('.') + 1;
|
658
|
+
return (index === 0) ? 'Folder' : val.substr(index).replace(' ', '');
|
661
659
|
});
|
662
660
|
}
|
663
661
|
fileType = strArr.every(function (val, i, arr) { return val === arr[0]; }) ?
|
@@ -697,7 +695,7 @@ function getOptions(parent, text, e, details, replaceItems) {
|
|
697
695
|
options.buttons = [
|
698
696
|
{
|
699
697
|
buttonModel: { isPrimary: true, content: getLocaleText(parent, 'Button-Ok') },
|
700
|
-
click: function (
|
698
|
+
click: function () {
|
701
699
|
parent.dialogObj.hide();
|
702
700
|
}
|
703
701
|
}
|
@@ -755,27 +753,6 @@ function preventKeydown(btnElement) {
|
|
755
753
|
_loop_1(btnCount);
|
756
754
|
}
|
757
755
|
}
|
758
|
-
/* istanbul ignore next */
|
759
|
-
/**
|
760
|
-
*
|
761
|
-
* @param {SelectedEventArgs} data - specifies the data.
|
762
|
-
* @returns {HTMLElement} - returns the HTML element.
|
763
|
-
* @private
|
764
|
-
*/
|
765
|
-
function getFilesName(data) {
|
766
|
-
var parent = createElement('div', { id: 'uploadDialog' });
|
767
|
-
var ulElement = createElement('ul');
|
768
|
-
var filesData = data.isModified ? data.modifiedFilesData : data.filesData;
|
769
|
-
for (var fileCount = 0; fileCount < filesData.length; fileCount++) {
|
770
|
-
var liElement = createElement('li', { className: 'dialogFiles' });
|
771
|
-
liElement.innerHTML = filesData[fileCount].name;
|
772
|
-
ulElement.appendChild(liElement);
|
773
|
-
}
|
774
|
-
parent.appendChild(ulElement);
|
775
|
-
var errorTag = createElement('div', { className: 'e-fe-error' });
|
776
|
-
parent.appendChild(errorTag);
|
777
|
-
return parent;
|
778
|
-
}
|
779
756
|
/**
|
780
757
|
*
|
781
758
|
* @param {IFileManager} parent - specifies the parent element.
|