@syncfusion/ej2-filemanager 19.3.53 → 19.4.43
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 +244 -0
- package/CHANGELOG.md +17 -1
- package/README.md +1 -1
- 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 +74 -18
- package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
- package/dist/es6/ej2-filemanager.es5.js +74 -18
- 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 +15 -15
- package/src/file-manager/actions/breadcrumb-bar.js +1 -1
- package/src/file-manager/base/file-manager-model.d.ts +1 -1
- package/src/file-manager/base/file-manager.js +4 -1
- package/src/file-manager/base/interface.d.ts +1 -0
- package/src/file-manager/common/operations.js +1 -1
- package/src/file-manager/common/utility.js +2 -2
- package/src/file-manager/layout/details-view.js +1 -1
- package/src/file-manager/layout/navigation-pane.d.ts +5 -0
- package/src/file-manager/layout/navigation-pane.js +47 -5
- package/src/file-manager/models/default-locale.js +1 -1
- package/src/file-manager/models/search-settings-model.d.ts +8 -0
- package/src/file-manager/models/search-settings.d.ts +7 -0
- package/src/file-manager/models/search-settings.js +3 -0
- package/src/file-manager/pop-up/context-menu.d.ts +1 -0
- package/src/file-manager/pop-up/context-menu.js +14 -6
- package/styles/bootstrap-dark.css +2 -2
- package/styles/bootstrap.css +1 -1
- package/styles/bootstrap4.css +2 -2
- package/styles/bootstrap5-dark.css +8 -3
- package/styles/bootstrap5.css +8 -3
- package/styles/fabric-dark.css +3 -3
- package/styles/fabric.css +4 -4
- 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/_fabric-dark-definition.scss +2 -2
- package/styles/file-manager/_fabric-definition.scss +3 -3
- package/styles/file-manager/_fluent-definition.scss +245 -0
- package/styles/file-manager/_layout.scss +29 -5
- package/styles/file-manager/_material-definition.scss +1 -1
- package/styles/file-manager/_tailwind-definition.scss +2 -2
- package/styles/file-manager/bootstrap-dark.css +2 -2
- package/styles/file-manager/bootstrap.css +1 -1
- package/styles/file-manager/bootstrap4.css +2 -2
- package/styles/file-manager/bootstrap5-dark.css +8 -3
- package/styles/file-manager/bootstrap5.css +8 -3
- package/styles/file-manager/fabric-dark.css +3 -3
- package/styles/file-manager/fabric.css +4 -4
- package/styles/file-manager/icons/_fluent.scss +235 -0
- package/styles/file-manager/material-dark.css +6 -0
- package/styles/file-manager/material.css +7 -1
- package/styles/file-manager/tailwind-dark.css +4 -4
- package/styles/file-manager/tailwind.css +4 -4
- package/styles/material-dark.css +6 -0
- package/styles/material.css +7 -1
- package/styles/tailwind-dark.css +4 -4
- package/styles/tailwind.css +4 -4
- package/tslint.json +111 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Ajax, Browser, ChildProperty, Complex, Component, Draggable, Event, EventHandler, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, Touch, addClass, closest, createElement, detach, extend, formatUnit, getValue, isNullOrUndefined, isVisible, matches, remove, removeClass, select, selectAll, setStyleAttribute, setValue } from '@syncfusion/ej2-base';
|
1
|
+
import { Ajax, Browser, ChildProperty, Complex, Component, Draggable, Event, EventHandler, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, Touch, addClass, closest, createElement, detach, extend, formatUnit, getUniqueID, getValue, isNullOrUndefined, isVisible, matches, remove, removeClass, select, selectAll, setStyleAttribute, setValue } from '@syncfusion/ej2-base';
|
2
2
|
import { Splitter } from '@syncfusion/ej2-layouts';
|
3
3
|
import { Dialog, createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
|
4
4
|
import { DataManager, Query } from '@syncfusion/ej2-data';
|
@@ -125,6 +125,9 @@ var SearchSettings = /** @__PURE__ @class */ (function (_super) {
|
|
125
125
|
__decorate$2([
|
126
126
|
Property(true)
|
127
127
|
], SearchSettings.prototype, "ignoreCase", void 0);
|
128
|
+
__decorate$2([
|
129
|
+
Property(null)
|
130
|
+
], SearchSettings.prototype, "placeholder", void 0);
|
128
131
|
return SearchSettings;
|
129
132
|
}(ChildProperty));
|
130
133
|
|
@@ -1197,7 +1200,7 @@ function fileType(file) {
|
|
1197
1200
|
function getImageUrl(parent, item) {
|
1198
1201
|
var baseUrl = parent.ajaxSettings.getImageUrl ? parent.ajaxSettings.getImageUrl : parent.ajaxSettings.url;
|
1199
1202
|
var imgUrl;
|
1200
|
-
var fileName = getValue('name', item);
|
1203
|
+
var fileName = encodeURIComponent(getValue('name', item));
|
1201
1204
|
var fPath = getValue('filterPath', item);
|
1202
1205
|
if (parent.hasId) {
|
1203
1206
|
var imgId = getValue('id', item);
|
@@ -1771,7 +1774,7 @@ function createVirtualDragElement(parent) {
|
|
1771
1774
|
parent.dragNodes.push(parent.selectedItems[i]);
|
1772
1775
|
i++;
|
1773
1776
|
}
|
1774
|
-
if (parent.selectedItems.length
|
1777
|
+
if (parent.selectedItems.length === 0 && parent.dragData && parent.dragData.length === 1) {
|
1775
1778
|
parent.dragNodes.push(getItemName(parent, parent.dragData[0]));
|
1776
1779
|
}
|
1777
1780
|
}
|
@@ -2289,7 +2292,7 @@ function filter(parent, event) {
|
|
2289
2292
|
var filterData;
|
2290
2293
|
// eslint-disable-next-line
|
2291
2294
|
var filterDataVal = parent.filterData ? extend(filterData, data, parent.filterData) : data;
|
2292
|
-
createAjax(parent,
|
2295
|
+
createAjax(parent, filterDataVal, filterSuccess, event, getValue('action', filterDataVal));
|
2293
2296
|
}
|
2294
2297
|
/**
|
2295
2298
|
* Function to rename the folder/file in File Manager.
|
@@ -5783,7 +5786,7 @@ var BreadCrumbBar = /** @__PURE__ @class */ (function () {
|
|
5783
5786
|
}
|
5784
5787
|
};
|
5785
5788
|
BreadCrumbBar.prototype.onSearchTextChange = function (args) {
|
5786
|
-
this.searchObj.element.placeholder = getLocaleText(this.parent, 'Search') + ' ' + args.cwd.name;
|
5789
|
+
this.searchObj.element.placeholder = (this.parent.searchSettings.placeholder != null) ? this.parent.searchSettings.placeholder : getLocaleText(this.parent, 'Search') + ' ' + args.cwd.name;
|
5787
5790
|
};
|
5788
5791
|
return BreadCrumbBar;
|
5789
5792
|
}());
|
@@ -5853,16 +5856,16 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
|
|
5853
5856
|
var data;
|
5854
5857
|
var treeFolder = false;
|
5855
5858
|
var target = args.event.target;
|
5856
|
-
this.menuTarget = target;
|
5859
|
+
this.menuTarget = this.targetNodeElement = target;
|
5857
5860
|
this.currentElement = args.element;
|
5858
5861
|
if (target.classList.contains('e-spinner-pane')) {
|
5859
5862
|
target = this.parent.navigationpaneModule.activeNode.getElementsByClassName(FULLROW)[0];
|
5860
|
-
this.menuTarget = target;
|
5863
|
+
this.menuTarget = this.targetNodeElement = target;
|
5861
5864
|
}
|
5862
5865
|
if (target.classList.contains(FULLROW)) {
|
5863
5866
|
this.parent.selectedItems.length = 0;
|
5864
5867
|
}
|
5865
|
-
this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr') : target;
|
5868
|
+
this.targetElement = this.parent.view === 'Details' ? closest(target, 'tr.e-row') : target;
|
5866
5869
|
var view = this.getTargetView(target);
|
5867
5870
|
this.updateActiveModule();
|
5868
5871
|
/* istanbul ignore next */
|
@@ -5894,7 +5897,7 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
|
|
5894
5897
|
data = this.parent.visitedData;
|
5895
5898
|
selected = true;
|
5896
5899
|
}
|
5897
|
-
else if (!isNullOrUndefined(closest(target, 'tr'))) {
|
5900
|
+
else if (!isNullOrUndefined(closest(target, 'tr.e-row'))) {
|
5898
5901
|
uid = this.targetElement.getAttribute('data-uid');
|
5899
5902
|
// eslint-disable-next-line
|
5900
5903
|
data = this.parent.detailsviewModule.gridObj.getRowObjectFromUID(uid).data;
|
@@ -5971,7 +5974,7 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
|
|
5971
5974
|
_this.enableItems(_this.disabledItems, false, true);
|
5972
5975
|
args.cancel = menuOpenArgs.cancel;
|
5973
5976
|
if (menuOpenArgs.cancel) {
|
5974
|
-
_this.menuTarget = _this.currentElement = null;
|
5977
|
+
_this.menuTarget = _this.targetNodeElement = _this.currentElement = null;
|
5975
5978
|
}
|
5976
5979
|
});
|
5977
5980
|
};
|
@@ -6091,7 +6094,12 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
|
|
6091
6094
|
}
|
6092
6095
|
else {
|
6093
6096
|
this.parent.notify(selectedData, {});
|
6094
|
-
|
6097
|
+
if (this.parent.activeModule === 'navigationpane' && itemText === 'open') {
|
6098
|
+
details = [this.menuItemData];
|
6099
|
+
}
|
6100
|
+
else {
|
6101
|
+
details = this.parent.itemData;
|
6102
|
+
}
|
6095
6103
|
}
|
6096
6104
|
var eventArgs = {
|
6097
6105
|
cancel: false,
|
@@ -6168,6 +6176,9 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
|
|
6168
6176
|
if (_this.parent.visitedItem) {
|
6169
6177
|
_this.parent.notify(openInit, { target: _this.parent.visitedItem });
|
6170
6178
|
}
|
6179
|
+
else if (_this.parent.activeModule === 'navigationpane') {
|
6180
|
+
_this.parent.navigationpaneModule.openFileOnContextMenuClick(closest(_this.targetNodeElement, 'li'));
|
6181
|
+
}
|
6171
6182
|
break;
|
6172
6183
|
case 'details':
|
6173
6184
|
_this.parent.notify(detailsInit, {});
|
@@ -6468,7 +6479,7 @@ var defaultLocale = {
|
|
6468
6479
|
'Filter-Empty': 'No results found',
|
6469
6480
|
'Filter-Key': 'Try with different filter',
|
6470
6481
|
'Sub-Folder-Error': 'The destination folder is the subfolder of the source folder.',
|
6471
|
-
|
6482
|
+
'Same-Folder-Error': 'The destination folder is the same as the source folder.',
|
6472
6483
|
'Access-Denied': 'Access Denied',
|
6473
6484
|
'Access-Details': 'You don"t have permission to access this folder.',
|
6474
6485
|
'Header-Retry': 'File Already Exists',
|
@@ -6583,6 +6594,9 @@ var FileManager = /** @__PURE__ @class */ (function (_super) {
|
|
6583
6594
|
* @returns {void}
|
6584
6595
|
*/
|
6585
6596
|
FileManager.prototype.preRender = function () {
|
6597
|
+
if (isNullOrUndefined(this.element.id) || this.element.id === '') {
|
6598
|
+
this.element.setAttribute('id', getUniqueID('filemanager'));
|
6599
|
+
}
|
6586
6600
|
this.ensurePath();
|
6587
6601
|
this.feParent = [];
|
6588
6602
|
this.feFiles = [];
|
@@ -8229,6 +8243,12 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
|
|
8229
8243
|
this.isRenameParent = false;
|
8230
8244
|
this.isRightClick = false;
|
8231
8245
|
this.renameParent = null;
|
8246
|
+
// Specifies the previously selected nodes in the treeview control.
|
8247
|
+
this.previousSelected = null;
|
8248
|
+
// Specifies whether the nodeClicked event of the treeview control is triggered or not.
|
8249
|
+
this.isNodeClickCalled = false;
|
8250
|
+
// Specifies whether to restrict node selection in the treeview control.
|
8251
|
+
this.restrictSelecting = false;
|
8232
8252
|
this.parent = parent;
|
8233
8253
|
this.addEventListener();
|
8234
8254
|
this.keyConfigs = {
|
@@ -8268,6 +8288,7 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
|
|
8268
8288
|
hasChildren: 'hasChild', iconCss: '_fm_icon', htmlAttributes: '_fm_htmlAttr', tooltip: 'name'
|
8269
8289
|
},
|
8270
8290
|
enableHtmlSanitizer: this.parent.enableHtmlSanitizer,
|
8291
|
+
nodeSelecting: this.onNodeSelecting.bind(this),
|
8271
8292
|
nodeSelected: this.onNodeSelected.bind(this),
|
8272
8293
|
nodeExpanding: this.onNodeExpand.bind(this),
|
8273
8294
|
nodeClicked: this.onNodeClicked.bind(this),
|
@@ -8373,6 +8394,44 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
|
|
8373
8394
|
this.treeObj.addNodes(directories, target, null, prevent);
|
8374
8395
|
}
|
8375
8396
|
};
|
8397
|
+
// Node Selecting event handler
|
8398
|
+
NavigationPane.prototype.onNodeSelecting = function (args) {
|
8399
|
+
if (!args.isInteracted && !this.isRightClick && !this.isPathDragged && !this.isRenameParent || this.restrictSelecting) {
|
8400
|
+
this.restrictSelecting = false;
|
8401
|
+
return;
|
8402
|
+
}
|
8403
|
+
if (!this.renameParent) {
|
8404
|
+
this.parent.activeModule = 'navigationpane';
|
8405
|
+
// eslint-disable-next-line
|
8406
|
+
var nodeData = this.getTreeData(getValue('id', args.nodeData));
|
8407
|
+
var eventArgs = { cancel: false, fileDetails: nodeData[0], module: 'NavigationPane' };
|
8408
|
+
delete eventArgs.cancel;
|
8409
|
+
this.parent.trigger('fileOpen', eventArgs);
|
8410
|
+
args.cancel = eventArgs.cancel;
|
8411
|
+
if (args.cancel) {
|
8412
|
+
this.restrictSelecting = true;
|
8413
|
+
this.treeObj.selectedNodes = this.isNodeClickCalled ? this.previousSelected : this.treeObj.selectedNodes;
|
8414
|
+
this.isNodeClickCalled = false;
|
8415
|
+
if (!isNullOrUndefined(this.parent) && !isNullOrUndefined(this.parent.contextmenuModule)) {
|
8416
|
+
this.parent.contextmenuModule.contextMenu.enableItems(['Open'], true);
|
8417
|
+
}
|
8418
|
+
}
|
8419
|
+
}
|
8420
|
+
};
|
8421
|
+
// Opens the folder while clicking open context menu item in the treeview.
|
8422
|
+
NavigationPane.prototype.openFileOnContextMenuClick = function (node) {
|
8423
|
+
var data = this.treeObj.getTreeData(node);
|
8424
|
+
// eslint-disable-next-line
|
8425
|
+
this.parent.selectedItems = [];
|
8426
|
+
this.parent.itemData = data;
|
8427
|
+
this.activeNode = node;
|
8428
|
+
this.parent.activeModule = 'navigationpane';
|
8429
|
+
updatePath(node, this.parent.itemData[0], this.parent);
|
8430
|
+
read(this.parent, this.isPathDragged ? pasteEnd : pathChanged, this.parent.path);
|
8431
|
+
this.parent.visitedItem = node;
|
8432
|
+
this.isPathDragged = this.isRenameParent = this.isRightClick = false;
|
8433
|
+
this.treeObj.selectedNodes = [node.getAttribute('data-uid')];
|
8434
|
+
};
|
8376
8435
|
NavigationPane.prototype.onNodeSelected = function (args) {
|
8377
8436
|
if (this.parent.breadcrumbbarModule && this.parent.breadcrumbbarModule.searchObj && !this.renameParent) {
|
8378
8437
|
this.parent.breadcrumbbarModule.searchObj.element.value = '';
|
@@ -8386,11 +8445,6 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
|
|
8386
8445
|
this.parent.activeModule = 'navigationpane';
|
8387
8446
|
// eslint-disable-next-line
|
8388
8447
|
var nodeData = this.getTreeData(getValue('id', args.nodeData));
|
8389
|
-
if (!this.renameParent) {
|
8390
|
-
var eventArgs = { cancel: false, fileDetails: nodeData[0], module: 'NavigationPane' };
|
8391
|
-
delete eventArgs.cancel;
|
8392
|
-
this.parent.trigger('fileOpen', eventArgs);
|
8393
|
-
}
|
8394
8448
|
this.parent.selectedItems = [];
|
8395
8449
|
this.parent.itemData = nodeData;
|
8396
8450
|
updatePath(args.node, this.parent.itemData[0], this.parent);
|
@@ -8435,6 +8489,8 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
|
|
8435
8489
|
this.activeNode = args.node;
|
8436
8490
|
if ((args.event.which === 3) && (args.node.getAttribute('data-uid') !== this.treeObj.selectedNodes[0])) {
|
8437
8491
|
this.isRightClick = true;
|
8492
|
+
this.isNodeClickCalled = true;
|
8493
|
+
this.previousSelected = this.treeObj.selectedNodes;
|
8438
8494
|
this.treeObj.selectedNodes = [args.node.getAttribute('data-uid')];
|
8439
8495
|
}
|
8440
8496
|
else if (args.node.getAttribute('data-uid') === this.treeObj.selectedNodes[0] && this.parent.selectedItems.length !== 0) {
|
@@ -9875,7 +9931,7 @@ var DetailsView = /** @__PURE__ @class */ (function () {
|
|
9875
9931
|
// eslint-disable-next-line
|
9876
9932
|
this.parent.dragData = this.gridObj.getSelectedRecords();
|
9877
9933
|
var dragRow;
|
9878
|
-
if (this.parent.dragData.length
|
9934
|
+
if (this.parent.dragData.length === 0 && dragLi) {
|
9879
9935
|
dragRow = this.gridObj.getRowInfo(dragLi);
|
9880
9936
|
}
|
9881
9937
|
if (dragRow) {
|