@syncfusion/ej2-filemanager 23.2.6 → 24.1.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/CHANGELOG.md +74 -120
- 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 +45 -5
- package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
- package/dist/es6/ej2-filemanager.es5.js +45 -5
- 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/common/utility.d.ts +12 -0
- package/src/file-manager/common/utility.js +31 -0
- package/src/file-manager/layout/details-view.js +1 -1
- package/src/file-manager/layout/large-icons-view.js +3 -1
- package/src/file-manager/layout/navigation-pane.js +2 -3
- package/src/file-manager/pop-up/context-menu.d.ts +1 -0
- package/src/file-manager/pop-up/context-menu.js +8 -0
- package/styles/bootstrap-dark.css +1 -1
- package/styles/bootstrap.css +1 -1
- package/styles/bootstrap4.css +1 -1
- package/styles/bootstrap5-dark.css +1 -1
- package/styles/bootstrap5.css +1 -1
- package/styles/fabric-dark.css +1 -1
- package/styles/fabric.css +1 -1
- package/styles/file-manager/_bootstrap-dark-definition.scss +1 -1
- package/styles/file-manager/_bootstrap-definition.scss +1 -1
- package/styles/file-manager/_bootstrap4-definition.scss +1 -1
- package/styles/file-manager/_bootstrap5-definition.scss +1 -1
- package/styles/file-manager/_fabric-dark-definition.scss +1 -1
- package/styles/file-manager/_fabric-definition.scss +1 -1
- package/styles/file-manager/_fluent-definition.scss +1 -1
- package/styles/file-manager/_fusionnew-definition.scss +1 -1
- package/styles/file-manager/_highcontrast-definition.scss +1 -1
- package/styles/file-manager/_highcontrast-light-definition.scss +1 -1
- package/styles/file-manager/_layout.scss +5 -3
- package/styles/file-manager/_material-dark-definition.scss +1 -1
- package/styles/file-manager/_material-definition.scss +1 -1
- package/styles/file-manager/_material3-definition.scss +6 -6
- package/styles/file-manager/_tailwind-definition.scss +1 -1
- package/styles/file-manager/bootstrap-dark.css +1 -1
- package/styles/file-manager/bootstrap.css +1 -1
- package/styles/file-manager/bootstrap4.css +1 -1
- package/styles/file-manager/bootstrap5-dark.css +1 -1
- package/styles/file-manager/bootstrap5.css +1 -1
- package/styles/file-manager/fabric-dark.css +1 -1
- package/styles/file-manager/fabric.css +1 -1
- package/styles/file-manager/fluent-dark.css +1 -1
- package/styles/file-manager/fluent.css +1 -1
- package/styles/file-manager/highcontrast-light.css +1 -1
- package/styles/file-manager/highcontrast.css +1 -1
- package/styles/file-manager/material-dark.css +1 -1
- package/styles/file-manager/material.css +1 -1
- package/styles/file-manager/material3-dark.css +5 -6
- package/styles/file-manager/material3.css +5 -6
- package/styles/file-manager/tailwind-dark.css +1 -1
- package/styles/file-manager/tailwind.css +1 -1
- package/styles/fluent-dark.css +1 -1
- package/styles/fluent.css +1 -1
- package/styles/highcontrast-light.css +1 -1
- package/styles/highcontrast.css +1 -1
- package/styles/material-dark.css +1 -1
- package/styles/material.css +1 -1
- package/styles/material3-dark.css +5 -6
- package/styles/material3.css +5 -6
- package/styles/tailwind-dark.css +1 -1
- package/styles/tailwind.css +1 -1
@@ -2063,6 +2063,30 @@ function removeItemClass(parent, value) {
|
|
2063
2063
|
ele[i].classList.remove(value);
|
2064
2064
|
}
|
2065
2065
|
}
|
2066
|
+
/**
|
2067
|
+
* Remove item class handler
|
2068
|
+
*
|
2069
|
+
* @param {Element} scrollParent - specifies the scrolling target.
|
2070
|
+
* @param {IFileManager} parent - specifies the parent.
|
2071
|
+
* @param {string} nodeClass - specifies the node class.
|
2072
|
+
* @param {number} screenY - specifies the vertical (Y) coordinate of the mouse cursor position relative to the entire screen.
|
2073
|
+
* @param {number} clientY - specifies the vertical (Y) coordinate of the mouse cursor position relative to the target element.
|
2074
|
+
* @returns {void}
|
2075
|
+
* @private
|
2076
|
+
*/
|
2077
|
+
function scrollHandler(scrollParent, parent, nodeClass, screenY, clientY) {
|
2078
|
+
var position;
|
2079
|
+
var elementData = scrollParent.getBoundingClientRect();
|
2080
|
+
var node = select("." + nodeClass, scrollParent);
|
2081
|
+
if ((screenY >= (elementData.top + scrollParent.clientHeight - 30)) && !isNullOrUndefined(node)) {
|
2082
|
+
position = (parent.targetModule === 'navigationpane' || parent.targetModule === 'detailsview') ? node.offsetHeight / 2.5 : node.offsetHeight / 4.5;
|
2083
|
+
scrollParent.scrollBy(0, position);
|
2084
|
+
}
|
2085
|
+
if (!isNullOrUndefined(node) && (clientY <= (elementData.top + 30))) {
|
2086
|
+
position = (parent.targetModule === 'navigationpane' || parent.targetModule === 'detailsview') ? node.offsetHeight / 2.5 : node.offsetHeight / 4.5;
|
2087
|
+
scrollParent.scrollBy(0, -position);
|
2088
|
+
}
|
2089
|
+
}
|
2066
2090
|
/**
|
2067
2091
|
* Dragging handler
|
2068
2092
|
*
|
@@ -2083,12 +2107,15 @@ function draggingHandler(parent, args) {
|
|
2083
2107
|
}
|
2084
2108
|
removeBlur(parent, 'hover');
|
2085
2109
|
var node = null;
|
2110
|
+
var scrollParent;
|
2086
2111
|
if (parent.targetModule === 'navigationpane') {
|
2087
2112
|
node = closest(args.target, 'li');
|
2088
2113
|
node.classList.add(HOVER, DROP_FOLDER);
|
2089
2114
|
canDrop = true;
|
2090
2115
|
/* istanbul ignore next */
|
2091
2116
|
parent.treeExpandTimer = window.setTimeout(function () { parent.notify(dragging, args); }, 800);
|
2117
|
+
scrollParent = parent.navigationpaneModule.treeObj.element.parentElement;
|
2118
|
+
scrollHandler(scrollParent, parent, 'e-level-2', args.event.screenY, args.event.y);
|
2092
2119
|
}
|
2093
2120
|
else if (parent.targetModule === 'detailsview') {
|
2094
2121
|
node = closest(args.target, 'tr');
|
@@ -2099,6 +2126,8 @@ function draggingHandler(parent, args) {
|
|
2099
2126
|
node.classList.add(DROP_FILE);
|
2100
2127
|
}
|
2101
2128
|
canDrop = true;
|
2129
|
+
scrollParent = parent.detailsviewModule.gridObj.element.querySelector('.e-content');
|
2130
|
+
scrollHandler(scrollParent, parent, 'e-row', args.event.screenY, args.event.y);
|
2102
2131
|
}
|
2103
2132
|
else if (parent.targetModule === 'largeiconsview') {
|
2104
2133
|
node = closest(args.target, 'li');
|
@@ -2106,6 +2135,8 @@ function draggingHandler(parent, args) {
|
|
2106
2135
|
node.classList.add(HOVER, DROP_FOLDER);
|
2107
2136
|
}
|
2108
2137
|
canDrop = true;
|
2138
|
+
scrollParent = parent.largeiconsviewModule.element.firstElementChild;
|
2139
|
+
scrollHandler(scrollParent, parent, 'e-large-icon', args.event.screenY, args.event.y);
|
2109
2140
|
/* istanbul ignore next */
|
2110
2141
|
}
|
2111
2142
|
else if (parent.targetModule === 'breadcrumbbar') {
|
@@ -4120,6 +4151,7 @@ var LargeIconsView = /** @__PURE__ @class */ (function () {
|
|
4120
4151
|
this.listElements = ListBase.createListFromJson(createElement, this.items, this.listObj);
|
4121
4152
|
this.itemList = Array.prototype.slice.call(selectAll('.' + LIST_ITEM, this.listElements));
|
4122
4153
|
this.element.appendChild(this.listElements);
|
4154
|
+
this.listElements.setAttribute("aria-label", "listbox");
|
4123
4155
|
this.preventImgDrag();
|
4124
4156
|
this.createDragObj();
|
4125
4157
|
if (this.itemList.length === 0) {
|
@@ -4187,7 +4219,7 @@ var LargeIconsView = /** @__PURE__ @class */ (function () {
|
|
4187
4219
|
this.dragObj = new Draggable(this.listElements, {
|
4188
4220
|
enableTailMode: true,
|
4189
4221
|
distance: 5,
|
4190
|
-
enableAutoScroll:
|
4222
|
+
enableAutoScroll: false,
|
4191
4223
|
dragTarget: '.' + LARGE_ICON,
|
4192
4224
|
helper: this.dragHelper.bind(this),
|
4193
4225
|
cursorAt: this.parent.dragCursorPosition,
|
@@ -4284,6 +4316,7 @@ var LargeIconsView = /** @__PURE__ @class */ (function () {
|
|
4284
4316
|
});
|
4285
4317
|
checkElement.setAttribute('role', 'checkbox');
|
4286
4318
|
checkElement.setAttribute('aria-checked', 'false');
|
4319
|
+
checkElement.setAttribute('aria-label', 'checkbox');
|
4287
4320
|
args.item.firstElementChild.insertBefore(checkElement, args.item.firstElementChild.childNodes[0]);
|
4288
4321
|
};
|
4289
4322
|
LargeIconsView.prototype.onLayoutChange = function (args) {
|
@@ -6030,6 +6063,7 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
|
|
6030
6063
|
* @hidden
|
6031
6064
|
*/
|
6032
6065
|
function ContextMenu$$1(parent) {
|
6066
|
+
this.isMenuItemClicked = false;
|
6033
6067
|
this.currentItems = [];
|
6034
6068
|
this.currentElement = null;
|
6035
6069
|
this.disabledItems = [];
|
@@ -6073,6 +6107,12 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
|
|
6073
6107
|
};
|
6074
6108
|
ContextMenu$$1.prototype.onBeforeClose = function () {
|
6075
6109
|
this.menuTarget = null;
|
6110
|
+
if (!this.isMenuItemClicked && this.parent.pathId.length > 1) {
|
6111
|
+
this.parent.pathId.pop();
|
6112
|
+
this.parent.pathId.push(Object.keys(this.parent.feParent)[Object.keys.length]);
|
6113
|
+
this.parent.navigationpaneModule.treeObj.selectedNodes = [this.parent.pathId[this.parent.pathId.length - 1]];
|
6114
|
+
}
|
6115
|
+
this.isMenuItemClicked = false;
|
6076
6116
|
};
|
6077
6117
|
/* istanbul ignore next */
|
6078
6118
|
ContextMenu$$1.prototype.onBeforeOpen = function (args) {
|
@@ -6341,6 +6381,7 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
|
|
6341
6381
|
this.parent.trigger('menuClick', eventArgs, function (menuClickArgs) {
|
6342
6382
|
var sItems;
|
6343
6383
|
if (!menuClickArgs.cancel) {
|
6384
|
+
_this.isMenuItemClicked = true;
|
6344
6385
|
// eslint:disable-next-line
|
6345
6386
|
switch (itemText) {
|
6346
6387
|
case 'cut':
|
@@ -8974,7 +9015,7 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
|
|
8974
9015
|
},
|
8975
9016
|
dragStop: dragStopHandler.bind(this, this.parent),
|
8976
9017
|
enableTailMode: true,
|
8977
|
-
enableAutoScroll:
|
9018
|
+
enableAutoScroll: false,
|
8978
9019
|
helper: this.dragHelper.bind(this)
|
8979
9020
|
});
|
8980
9021
|
}
|
@@ -9128,7 +9169,7 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
|
|
9128
9169
|
this.parent.itemData = nodeData;
|
9129
9170
|
var previousPath = this.parent.path;
|
9130
9171
|
var sNode = select('[data-uid="' + this.treeObj.selectedNodes[0] + '"]', this.treeObj.element);
|
9131
|
-
if (!this.isRightClick && this.isSameNodeClicked
|
9172
|
+
if (!this.isRightClick && this.isSameNodeClicked) {
|
9132
9173
|
updatePath(args.node, this.parent.itemData[0], this.parent);
|
9133
9174
|
}
|
9134
9175
|
else {
|
@@ -9267,7 +9308,6 @@ var NavigationPane = /** @__PURE__ @class */ (function () {
|
|
9267
9308
|
NavigationPane.prototype.onFinalizeEnd = function (args) {
|
9268
9309
|
this.onInit();
|
9269
9310
|
var id = getValue('_fm_id', args.cwd);
|
9270
|
-
this.removeChildNodes(id);
|
9271
9311
|
this.addChild(args.files, id, false);
|
9272
9312
|
this.treeObj.selectedNodes = [this.parent.pathId[this.parent.pathId.length - 1]];
|
9273
9313
|
};
|
@@ -10794,7 +10834,7 @@ var DetailsView = /** @__PURE__ @class */ (function () {
|
|
10794
10834
|
dragStartHandler(_this.parent, args, _this.dragObj);
|
10795
10835
|
},
|
10796
10836
|
dragStop: dragStopHandler.bind(this, this.parent),
|
10797
|
-
enableAutoScroll:
|
10837
|
+
enableAutoScroll: false,
|
10798
10838
|
helper: this.dragHelper.bind(this)
|
10799
10839
|
});
|
10800
10840
|
}
|