@syncfusion/ej2-filemanager 25.2.6 → 26.1.35
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 +914 -462
- package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
- package/dist/es6/ej2-filemanager.es5.js +958 -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 +36 -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 +9 -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 +255 -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 +2872 -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 +2872 -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 */
|
@@ -160,7 +155,6 @@ var ContextMenu = /** @class */ (function () {
|
|
160
155
|
this.disabledItems.push('Delete', 'Rename', 'Cut', 'Copy');
|
161
156
|
}
|
162
157
|
/* istanbul ignore next */
|
163
|
-
// eslint:disable-next-line
|
164
158
|
}
|
165
159
|
else if (view === 'TreeView' || view === 'GridView' || view === 'LargeIcon') {
|
166
160
|
this.setLayoutItem(target);
|
@@ -271,6 +265,12 @@ var ContextMenu = /** @class */ (function () {
|
|
271
265
|
if (this.parent.pathNames[this.parent.pathNames.length - 1] === selectedTreeNode.querySelector('.e-list-text').innerHTML && this.parent.activeModule === 'navigationpane') {
|
272
266
|
this.disabledItems.push('Open');
|
273
267
|
}
|
268
|
+
if (this.parent.selectedItems.length === 0) {
|
269
|
+
var renameIndex = this.disabledItems.indexOf('Rename');
|
270
|
+
if (renameIndex !== -1) {
|
271
|
+
this.disabledItems.splice(renameIndex, 1);
|
272
|
+
}
|
273
|
+
}
|
274
274
|
}
|
275
275
|
else if (this.parent.activeModule !== 'navigationpane') {
|
276
276
|
if (this.parent.selectedItems.length === 1) {
|
@@ -329,13 +329,11 @@ var ContextMenu = /** @class */ (function () {
|
|
329
329
|
return -1;
|
330
330
|
}
|
331
331
|
};
|
332
|
-
// eslint-disable-next-line
|
333
332
|
ContextMenu.prototype.getMenuItemData = function () {
|
334
333
|
if (this.menuType === 'layout') {
|
335
334
|
return getPathObject(this.parent);
|
336
335
|
}
|
337
336
|
else {
|
338
|
-
// eslint-disable-next-line
|
339
337
|
var args = { target: this.menuTarget };
|
340
338
|
this.parent.notify(events.menuItemData, args);
|
341
339
|
return this.parent.itemData[0];
|
@@ -348,7 +346,6 @@ var ContextMenu = /** @class */ (function () {
|
|
348
346
|
return;
|
349
347
|
}
|
350
348
|
var itemText = args.item.id.substr((this.parent.element.id + '_cm_').length);
|
351
|
-
// eslint-disable-next-line
|
352
349
|
var details;
|
353
350
|
if (itemText === 'refresh' || itemText === 'newfolder' || itemText === 'upload') {
|
354
351
|
details = [getPathObject(this.parent)];
|
@@ -373,7 +370,6 @@ var ContextMenu = /** @class */ (function () {
|
|
373
370
|
var sItems;
|
374
371
|
if (!menuClickArgs.cancel) {
|
375
372
|
_this.isMenuItemClicked = true;
|
376
|
-
// eslint:disable-next-line
|
377
373
|
switch (itemText) {
|
378
374
|
case 'cut':
|
379
375
|
cutFiles(_this.parent);
|
@@ -461,19 +457,10 @@ var ContextMenu = /** @class */ (function () {
|
|
461
457
|
case 'upload':
|
462
458
|
uploadItem(_this.parent);
|
463
459
|
break;
|
464
|
-
/* istanbul ignore next */
|
465
460
|
case 'name':
|
466
|
-
/* istanbul ignore next */
|
467
|
-
// eslint-disable-next-line no-fallthrough
|
468
461
|
case 'size':
|
469
|
-
/* istanbul ignore next */
|
470
|
-
// eslint-disable-next-line no-fallthrough
|
471
462
|
case 'date':
|
472
|
-
/* istanbul ignore next */
|
473
|
-
// eslint-disable-next-line no-fallthrough
|
474
463
|
case 'ascending':
|
475
|
-
/* istanbul ignore next */
|
476
|
-
// eslint-disable-next-line no-fallthrough
|
477
464
|
case 'descending':
|
478
465
|
/* istanbul ignore next */
|
479
466
|
sortbyClickHandler(_this.parent, args);
|
@@ -484,12 +471,10 @@ var ContextMenu = /** @class */ (function () {
|
|
484
471
|
sortbyClickHandler(_this.parent, args);
|
485
472
|
break;
|
486
473
|
/* istanbul ignore next */
|
487
|
-
// eslint:disable-next-line
|
488
474
|
case 'largeiconsview':
|
489
475
|
updateLayout(_this.parent, 'LargeIcons');
|
490
476
|
break;
|
491
477
|
/* istanbul ignore next */
|
492
|
-
// eslint:disable-next-line
|
493
478
|
case 'detailsview':
|
494
479
|
updateLayout(_this.parent, 'Details');
|
495
480
|
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.
|