@syncfusion/ej2-filemanager 20.1.47 → 20.1.52-10459
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 +20 -3
- package/README.md +54 -43
- package/dist/ej2-filemanager.min.js +1 -0
- package/dist/ej2-filemanager.umd.min.js +1 -10
- package/dist/ej2-filemanager.umd.min.js.map +1 -1
- package/dist/es6/ej2-filemanager.es2015.js +2353 -659
- package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
- package/dist/es6/ej2-filemanager.es5.js +2422 -709
- package/dist/es6/ej2-filemanager.es5.js.map +1 -1
- package/dist/global/ej2-filemanager.min.js +1 -10
- package/dist/global/ej2-filemanager.min.js.map +1 -1
- package/dist/global/index.d.ts +0 -9
- package/helpers/e2e/filemanagerHelper.js +183 -166
- package/package.json +71 -71
- package/src/file-manager/actions/breadcrumb-bar.js +1 -5
- package/src/file-manager/actions/index.d.ts +1 -0
- package/src/file-manager/actions/index.js +1 -0
- package/src/file-manager/actions/toolbar.d.ts +1 -0
- package/src/file-manager/actions/toolbar.js +129 -17
- package/src/file-manager/actions/virtualization.d.ts +93 -0
- package/src/file-manager/actions/virtualization.js +279 -0
- package/src/file-manager/base/file-manager-model.d.ts +154 -28
- package/src/file-manager/base/file-manager.d.ts +176 -27
- package/src/file-manager/base/file-manager.js +244 -28
- package/src/file-manager/base/interface.d.ts +329 -3
- 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 +830 -185
- package/src/file-manager/common/utility.d.ts +46 -3
- package/src/file-manager/common/utility.js +249 -73
- package/src/file-manager/index.d.ts +1 -0
- package/src/file-manager/index.js +1 -0
- package/src/file-manager/layout/details-view.d.ts +10 -0
- package/src/file-manager/layout/details-view.js +203 -94
- package/src/file-manager/layout/large-icons-view.d.ts +4 -2
- package/src/file-manager/layout/large-icons-view.js +122 -73
- package/src/file-manager/layout/navigation-pane.d.ts +2 -0
- package/src/file-manager/layout/navigation-pane.js +97 -73
- package/src/file-manager/models/column-model.d.ts +23 -5
- package/src/file-manager/models/column.d.ts +21 -2
- package/src/file-manager/models/column.js +6 -0
- package/src/file-manager/models/default-locale.js +0 -1
- package/src/file-manager/models/details-view-settings-model.d.ts +1 -1
- package/src/file-manager/models/details-view-settings.js +8 -3
- package/src/file-manager/models/search-settings.d.ts +5 -0
- package/src/file-manager/models/toolbar-settings-model.d.ts +177 -2
- package/src/file-manager/models/toolbar-settings.d.ts +157 -2
- package/src/file-manager/models/toolbar-settings.js +64 -2
- package/src/file-manager/models/upload-settings-model.d.ts +13 -0
- package/src/file-manager/models/upload-settings.d.ts +12 -0
- package/src/file-manager/models/upload-settings.js +3 -0
- package/src/file-manager/pop-up/context-menu.d.ts +2 -1
- package/src/file-manager/pop-up/context-menu.js +111 -36
- package/src/file-manager/pop-up/dialog.d.ts +1 -2
- package/src/file-manager/pop-up/dialog.js +19 -40
- package/src/global.js +1 -1
- package/styles/bootstrap-dark-lite.css +1058 -0
- package/styles/bootstrap-dark-lite.scss +16 -0
- package/styles/bootstrap-dark.css +371 -665
- package/styles/bootstrap-dark.scss +17 -1
- package/styles/bootstrap-lite.css +1040 -0
- package/styles/bootstrap-lite.scss +16 -0
- package/styles/bootstrap.css +353 -644
- package/styles/bootstrap.scss +17 -1
- package/styles/bootstrap4-lite.css +1068 -0
- package/styles/bootstrap4-lite.scss +16 -0
- package/styles/bootstrap4.css +381 -680
- package/styles/bootstrap4.scss +17 -1
- package/styles/bootstrap5-dark-lite.css +1078 -0
- package/styles/bootstrap5-dark-lite.scss +16 -0
- package/styles/bootstrap5-dark.css +376 -694
- package/styles/bootstrap5-dark.scss +17 -1
- package/styles/bootstrap5-lite.css +1078 -0
- package/styles/bootstrap5-lite.scss +16 -0
- package/styles/bootstrap5.3-lite.css +1035 -0
- package/styles/bootstrap5.3-lite.scss +16 -0
- package/styles/bootstrap5.3.css +1603 -0
- package/styles/bootstrap5.3.scss +17 -0
- package/styles/bootstrap5.css +376 -694
- package/styles/bootstrap5.scss +17 -1
- package/styles/fabric-dark-lite.css +1039 -0
- package/styles/fabric-dark-lite.scss +16 -0
- package/styles/fabric-dark.css +358 -642
- package/styles/fabric-dark.scss +17 -1
- package/styles/fabric-lite.css +1039 -0
- package/styles/fabric-lite.scss +16 -0
- package/styles/fabric.css +357 -641
- package/styles/fabric.scss +17 -1
- package/styles/file-manager/_all.scss +1 -1
- package/styles/file-manager/_bds-definition.scss +236 -0
- package/styles/file-manager/_bigger.scss +758 -0
- package/styles/file-manager/_bootstrap-dark-definition.scss +6 -2
- package/styles/file-manager/_bootstrap-definition.scss +6 -2
- package/styles/file-manager/_bootstrap4-definition.scss +6 -2
- package/styles/file-manager/_bootstrap5-definition.scss +20 -15
- package/styles/file-manager/_bootstrap5.3-definition.scss +242 -0
- package/styles/file-manager/_fabric-dark-definition.scss +6 -2
- package/styles/file-manager/_fabric-definition.scss +6 -2
- package/styles/file-manager/_fluent-definition.scss +20 -16
- package/styles/file-manager/_fluent2-definition.scss +255 -0
- package/styles/file-manager/_fusionnew-definition.scss +241 -0
- package/styles/file-manager/_highcontrast-definition.scss +6 -2
- package/styles/file-manager/_highcontrast-light-definition.scss +6 -2
- package/styles/file-manager/_layout.scss +367 -921
- package/styles/file-manager/_material-dark-definition.scss +7 -2
- package/styles/file-manager/_material-definition.scss +7 -2
- package/styles/file-manager/_material3-dark-definition.scss +1 -0
- package/styles/file-manager/_material3-definition.scss +235 -0
- package/styles/file-manager/_tailwind-definition.scss +20 -16
- package/styles/file-manager/_theme.scss +126 -102
- package/styles/file-manager/bootstrap-dark.css +371 -665
- package/styles/file-manager/bootstrap-dark.scss +2 -1
- package/styles/file-manager/bootstrap.css +353 -644
- package/styles/file-manager/bootstrap.scss +2 -1
- package/styles/file-manager/bootstrap4.css +381 -680
- package/styles/file-manager/bootstrap4.scss +2 -1
- package/styles/file-manager/bootstrap5-dark.css +376 -694
- package/styles/file-manager/bootstrap5-dark.scss +2 -1
- package/styles/file-manager/bootstrap5.3.css +1603 -0
- package/styles/file-manager/bootstrap5.3.scss +17 -0
- package/styles/file-manager/bootstrap5.css +376 -694
- package/styles/file-manager/bootstrap5.scss +2 -1
- package/styles/file-manager/fabric-dark.css +358 -642
- package/styles/file-manager/fabric-dark.scss +2 -1
- package/styles/file-manager/fabric.css +357 -641
- package/styles/file-manager/fabric.scss +2 -1
- package/styles/file-manager/fluent-dark.css +359 -641
- package/styles/file-manager/fluent-dark.scss +2 -1
- package/styles/file-manager/fluent.css +358 -641
- package/styles/file-manager/fluent.scss +2 -1
- package/styles/file-manager/fluent2.css +1886 -0
- package/styles/file-manager/fluent2.scss +17 -0
- package/styles/file-manager/highcontrast-light.css +354 -644
- package/styles/file-manager/highcontrast-light.scss +2 -1
- package/styles/file-manager/highcontrast.css +377 -647
- package/styles/file-manager/highcontrast.scss +2 -1
- package/styles/file-manager/icons/_bds.scss +235 -0
- package/styles/file-manager/icons/_bootstrap.scss +0 -1
- package/styles/file-manager/icons/_bootstrap4.scss +0 -1
- package/styles/file-manager/icons/_bootstrap5.3.scss +235 -0
- package/styles/file-manager/icons/_fabric-dark.scss +0 -1
- package/styles/file-manager/icons/_fabric.scss +0 -1
- package/styles/file-manager/icons/_fluent2.scss +235 -0
- package/styles/file-manager/icons/_fusionnew.scss +235 -0
- package/styles/file-manager/icons/_material3-dark.scss +1 -0
- package/styles/file-manager/icons/_material3.scss +235 -0
- package/styles/file-manager/material-dark.css +392 -671
- package/styles/file-manager/material-dark.scss +2 -1
- package/styles/file-manager/material.css +391 -654
- package/styles/file-manager/material.scss +2 -1
- package/styles/file-manager/material3-dark.css +1633 -0
- package/styles/file-manager/material3-dark.scss +18 -0
- package/styles/file-manager/material3.css +1635 -0
- package/styles/file-manager/material3.scss +18 -0
- package/styles/file-manager/tailwind-dark.css +347 -664
- package/styles/file-manager/tailwind-dark.scss +2 -1
- package/styles/file-manager/tailwind.css +347 -664
- package/styles/file-manager/tailwind.scss +2 -1
- package/styles/fluent-dark-lite.css +1037 -0
- package/styles/fluent-dark-lite.scss +16 -0
- package/styles/fluent-dark.css +359 -641
- package/styles/fluent-dark.scss +17 -1
- package/styles/fluent-lite.css +1036 -0
- package/styles/fluent-lite.scss +16 -0
- package/styles/fluent.css +358 -641
- package/styles/fluent.scss +17 -1
- package/styles/fluent2-lite.css +1272 -0
- package/styles/fluent2-lite.scss +16 -0
- package/styles/fluent2.css +1886 -0
- package/styles/fluent2.scss +17 -0
- package/styles/highcontrast-light-lite.css +1039 -0
- package/styles/highcontrast-light-lite.scss +16 -0
- package/styles/highcontrast-light.css +354 -644
- package/styles/highcontrast-light.scss +17 -1
- package/styles/highcontrast-lite.css +1059 -0
- package/styles/highcontrast-lite.scss +16 -0
- package/styles/highcontrast.css +377 -647
- package/styles/highcontrast.scss +17 -1
- package/styles/material-dark-lite.css +1092 -0
- package/styles/material-dark-lite.scss +16 -0
- package/styles/material-dark.css +392 -671
- package/styles/material-dark.scss +17 -1
- package/styles/material-lite.css +1097 -0
- package/styles/material-lite.scss +16 -0
- package/styles/material.css +391 -654
- package/styles/material.scss +17 -1
- package/styles/material3-dark-lite.css +1090 -0
- package/styles/material3-dark-lite.scss +16 -0
- package/styles/material3-dark.css +1633 -0
- package/styles/material3-dark.scss +19 -0
- package/styles/material3-lite.css +1092 -0
- package/styles/material3-lite.scss +16 -0
- package/styles/material3.css +1635 -0
- package/styles/material3.scss +19 -0
- package/styles/tailwind-dark-lite.css +1060 -0
- package/styles/tailwind-dark-lite.scss +16 -0
- package/styles/tailwind-dark.css +347 -664
- package/styles/tailwind-dark.scss +17 -1
- package/styles/tailwind-lite.css +1060 -0
- package/styles/tailwind-lite.scss +16 -0
- package/styles/tailwind.css +347 -664
- package/styles/tailwind.scss +17 -1
- package/CHANGELOG.md +0 -404
@@ -12,8 +12,9 @@ export declare class LargeIconsView {
|
|
12
12
|
private keyboardDownModule;
|
13
13
|
private keyConfigs;
|
14
14
|
private isInteraction;
|
15
|
-
|
15
|
+
itemList: HTMLElement[];
|
16
16
|
items: Object[];
|
17
|
+
allItems: Object[];
|
17
18
|
private clickObj;
|
18
19
|
private perRow;
|
19
20
|
private startItem;
|
@@ -23,6 +24,7 @@ export declare class LargeIconsView {
|
|
23
24
|
private count;
|
24
25
|
private isRendered;
|
25
26
|
private tapCount;
|
27
|
+
private isSelectAllCalled;
|
26
28
|
private tapEvent;
|
27
29
|
private isPasteOperation;
|
28
30
|
private dragObj;
|
@@ -35,6 +37,7 @@ export declare class LargeIconsView {
|
|
35
37
|
*/
|
36
38
|
constructor(parent?: IFileManager);
|
37
39
|
private render;
|
40
|
+
private comparer;
|
38
41
|
private preventImgDrag;
|
39
42
|
private createDragObj;
|
40
43
|
dragHelper(args: {
|
@@ -49,7 +52,6 @@ export declare class LargeIconsView {
|
|
49
52
|
* @private
|
50
53
|
*/
|
51
54
|
private getModuleName;
|
52
|
-
private adjustHeight;
|
53
55
|
private onItemCreated;
|
54
56
|
private renderCheckbox;
|
55
57
|
private onLayoutChange;
|
@@ -2,7 +2,7 @@ import { ListBase } from '@syncfusion/ej2-lists';
|
|
2
2
|
import { createElement, select, selectAll, EventHandler, KeyboardEvents, closest, Draggable } from '@syncfusion/ej2-base';
|
3
3
|
import { isNullOrUndefined as isNOU, addClass, removeClass, Touch, isVisible } from '@syncfusion/ej2-base';
|
4
4
|
import { getValue, setValue, remove } from '@syncfusion/ej2-base';
|
5
|
-
import { DataManager, Query } from '@syncfusion/ej2-data';
|
5
|
+
import { DataManager, Query, DataUtil } from '@syncfusion/ej2-data';
|
6
6
|
import { hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
|
7
7
|
import * as events from '../base/constant';
|
8
8
|
import * as CLS from '../base/classes';
|
@@ -31,6 +31,7 @@ var LargeIconsView = /** @class */ (function () {
|
|
31
31
|
this.count = 0;
|
32
32
|
this.isRendered = true;
|
33
33
|
this.tapCount = 0;
|
34
|
+
this.isSelectAllCalled = false;
|
34
35
|
this.isPasteOperation = false;
|
35
36
|
this.isInteracted = true;
|
36
37
|
this.parent = parent;
|
@@ -72,9 +73,9 @@ var LargeIconsView = /** @class */ (function () {
|
|
72
73
|
altEnter: 'alt+enter',
|
73
74
|
esc: 'escape',
|
74
75
|
del: 'delete',
|
75
|
-
ctrlX: 'ctrl+x',
|
76
|
-
ctrlC: 'ctrl+c',
|
77
|
-
ctrlV: 'ctrl+v',
|
76
|
+
ctrlX: this.parent.isMac ? 'cmd+x' : 'ctrl+x',
|
77
|
+
ctrlC: this.parent.isMac ? 'cmd+c' : 'ctrl+c',
|
78
|
+
ctrlV: this.parent.isMac ? 'cmd+v' : 'ctrl+v',
|
78
79
|
f2: 'f2',
|
79
80
|
shiftdel: 'shift+delete',
|
80
81
|
back: 'backspace',
|
@@ -111,14 +112,22 @@ var LargeIconsView = /** @class */ (function () {
|
|
111
112
|
};
|
112
113
|
this.items = [];
|
113
114
|
this.items = this.renderList(args);
|
114
|
-
this.
|
115
|
-
|
115
|
+
if (this.parent.sortComparer && this.parent.sortBy !== 'None') {
|
116
|
+
this.items = this.allItems = DataUtil.sort(this.items, this.parent.sortBy, this.comparer.bind(this));
|
117
|
+
}
|
118
|
+
else {
|
119
|
+
this.items = this.allItems = getSortedData(this.parent, this.items);
|
120
|
+
}
|
121
|
+
iconsView.classList.remove(CLS.DISPLAY_NONE);
|
122
|
+
if (this.parent.enableVirtualization && this.allItems.length > 0) {
|
123
|
+
this.parent.virtualizationModule.setUIVirtualization();
|
124
|
+
}
|
116
125
|
this.listElements = ListBase.createListFromJson(createElement, this.items, this.listObj);
|
117
126
|
this.itemList = Array.prototype.slice.call(selectAll('.' + CLS.LIST_ITEM, this.listElements));
|
118
127
|
this.element.appendChild(this.listElements);
|
128
|
+
this.listElements.setAttribute('aria-label', 'listbox');
|
119
129
|
this.preventImgDrag();
|
120
130
|
this.createDragObj();
|
121
|
-
iconsView.classList.remove(CLS.DISPLAY_NONE);
|
122
131
|
if (this.itemList.length === 0) {
|
123
132
|
var emptyList = this.element.querySelector('.' + CLS.LIST_PARENT);
|
124
133
|
this.element.removeChild(emptyList);
|
@@ -148,11 +157,14 @@ var LargeIconsView = /** @class */ (function () {
|
|
148
157
|
for (var i = 0; i < activeEle.length; i++) {
|
149
158
|
activeEle[i].setAttribute('aria-selected', 'true');
|
150
159
|
}
|
151
|
-
this.adjustHeight();
|
152
160
|
this.element.style.maxHeight = '100%';
|
153
161
|
this.getItemCount();
|
154
162
|
this.addEventListener();
|
155
163
|
this.wireEvents();
|
164
|
+
if (this.parent.enableVirtualization && this.allItems.length > 0) {
|
165
|
+
this.parent.virtualizationModule.setUlElementHeight();
|
166
|
+
this.parent.virtualizationModule.wireScrollEvent(false);
|
167
|
+
}
|
156
168
|
this.isRendered = true;
|
157
169
|
hideSpinner(this.parent.element);
|
158
170
|
if (this.parent.selectedItems.length) {
|
@@ -160,6 +172,14 @@ var LargeIconsView = /** @class */ (function () {
|
|
160
172
|
}
|
161
173
|
}
|
162
174
|
};
|
175
|
+
LargeIconsView.prototype.comparer = function (x, y) {
|
176
|
+
if (this.parent.sortOrder === 'Descending') {
|
177
|
+
var z = x;
|
178
|
+
x = y;
|
179
|
+
y = z;
|
180
|
+
}
|
181
|
+
return this.parent.sortComparer(x, y);
|
182
|
+
};
|
163
183
|
LargeIconsView.prototype.preventImgDrag = function () {
|
164
184
|
var i = 0;
|
165
185
|
while (i < this.itemList.length) {
|
@@ -172,7 +192,7 @@ var LargeIconsView = /** @class */ (function () {
|
|
172
192
|
};
|
173
193
|
LargeIconsView.prototype.createDragObj = function () {
|
174
194
|
var _this = this;
|
175
|
-
if (
|
195
|
+
if (this.listObj) {
|
176
196
|
if (this.parent.allowDragAndDrop) {
|
177
197
|
if (this.dragObj) {
|
178
198
|
this.dragObj.destroy();
|
@@ -180,7 +200,7 @@ var LargeIconsView = /** @class */ (function () {
|
|
180
200
|
this.dragObj = new Draggable(this.listElements, {
|
181
201
|
enableTailMode: true,
|
182
202
|
distance: 5,
|
183
|
-
enableAutoScroll:
|
203
|
+
enableAutoScroll: false,
|
184
204
|
dragTarget: '.' + CLS.LARGE_ICON,
|
185
205
|
helper: this.dragHelper.bind(this),
|
186
206
|
cursorAt: this.parent.dragCursorPosition,
|
@@ -211,8 +231,7 @@ var LargeIconsView = /** @class */ (function () {
|
|
211
231
|
this.parent.activeElements = [];
|
212
232
|
this.parent.dragData = [];
|
213
233
|
for (var i = 0; i < activeEle.length; i++) {
|
214
|
-
|
215
|
-
this.parent.dragData.push(this.getItemObject(activeEle[i]));
|
234
|
+
this.parent.dragData.push(this.getItemObject(activeEle[parseInt(i.toString(), 10)]));
|
216
235
|
this.parent.activeElements.push(activeEle[i]);
|
217
236
|
}
|
218
237
|
getModule(this.parent, dragLi);
|
@@ -223,10 +242,8 @@ var LargeIconsView = /** @class */ (function () {
|
|
223
242
|
LargeIconsView.prototype.onDropInit = function (args) {
|
224
243
|
if (this.parent.targetModule === this.getModuleName()) {
|
225
244
|
var dropLi = closest(args.target, '.e-list-item');
|
226
|
-
// eslint-disable-next-line
|
227
245
|
var cwdData = getValue(this.parent.pathId[this.parent.pathId.length - 1], this.parent.feParent);
|
228
246
|
if (dropLi) {
|
229
|
-
// eslint-disable-next-line
|
230
247
|
var info = this.getItemObject(dropLi);
|
231
248
|
this.parent.dropPath = info.isFile ? this.parent.path : getFullPath(this.parent, info, this.parent.path);
|
232
249
|
this.parent.dropData = info.isFile ? cwdData : info;
|
@@ -246,11 +263,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
246
263
|
LargeIconsView.prototype.getModuleName = function () {
|
247
264
|
return 'largeiconsview';
|
248
265
|
};
|
249
|
-
LargeIconsView.prototype.adjustHeight = function () {
|
250
|
-
var pane = select('#' + this.parent.element.id + CLS.CONTENT_ID, this.parent.element);
|
251
|
-
var bar = select('#' + this.parent.element.id + CLS.BREADCRUMBBAR_ID, this.parent.element);
|
252
|
-
this.element.style.height = (pane.offsetHeight - bar.offsetHeight) + 'px';
|
253
|
-
};
|
254
266
|
LargeIconsView.prototype.onItemCreated = function (args) {
|
255
267
|
args.item.removeAttribute('aria-level');
|
256
268
|
if (!this.parent.showFileExtension && getValue('isFile', args.curData)) {
|
@@ -268,7 +280,7 @@ var LargeIconsView = /** @class */ (function () {
|
|
268
280
|
this.parent.trigger('fileLoad', eventArgs);
|
269
281
|
};
|
270
282
|
LargeIconsView.prototype.renderCheckbox = function (args) {
|
271
|
-
if (!this.parent.
|
283
|
+
if (!this.parent.showItemCheckBoxes) {
|
272
284
|
return;
|
273
285
|
}
|
274
286
|
var checkElement = createCheckBox(createElement, false, {
|
@@ -277,11 +289,15 @@ var LargeIconsView = /** @class */ (function () {
|
|
277
289
|
});
|
278
290
|
checkElement.setAttribute('role', 'checkbox');
|
279
291
|
checkElement.setAttribute('aria-checked', 'false');
|
292
|
+
checkElement.setAttribute('aria-label', 'checkbox');
|
280
293
|
args.item.firstElementChild.insertBefore(checkElement, args.item.firstElementChild.childNodes[0]);
|
281
294
|
};
|
282
295
|
LargeIconsView.prototype.onLayoutChange = function (args) {
|
283
296
|
if (this.parent.view === 'LargeIcons') {
|
284
297
|
this.destroy();
|
298
|
+
if (this.parent.enableVirtualization) {
|
299
|
+
this.parent.setProperties({ selectedItems: [] }, true);
|
300
|
+
}
|
285
301
|
this.render(args);
|
286
302
|
/* istanbul ignore next */
|
287
303
|
if (getValue('name', args) === 'layout-change' && this.parent.fileAction === 'move' &&
|
@@ -314,10 +330,8 @@ var LargeIconsView = /** @class */ (function () {
|
|
314
330
|
}
|
315
331
|
}
|
316
332
|
};
|
317
|
-
// eslint-disable-next-line
|
318
333
|
LargeIconsView.prototype.renderList = function (args) {
|
319
334
|
var i = 0;
|
320
|
-
// eslint-disable-next-line
|
321
335
|
var items = JSON.parse(JSON.stringify(args.files));
|
322
336
|
while (i < items.length) {
|
323
337
|
var icon = fileType(items[i]);
|
@@ -354,6 +368,7 @@ var LargeIconsView = /** @class */ (function () {
|
|
354
368
|
this.selectItems([getValue(this.parent.hasId ? 'id' : 'name', this.parent.createdItem)]);
|
355
369
|
this.parent.createdItem = null;
|
356
370
|
this.parent.largeiconsviewModule.element.focus();
|
371
|
+
this.parent.activeModule = 'largeiconsview';
|
357
372
|
};
|
358
373
|
LargeIconsView.prototype.onSelectedData = function () {
|
359
374
|
if (this.parent.activeModule === 'largeiconsview') {
|
@@ -398,7 +413,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
398
413
|
if (this.parent.renamedItem) {
|
399
414
|
this.clearSelect();
|
400
415
|
this.addSelection(this.parent.renamedItem);
|
401
|
-
this.parent.renamedItem = null;
|
402
416
|
}
|
403
417
|
}
|
404
418
|
};
|
@@ -448,7 +462,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
448
462
|
if (this.parent.view !== 'LargeIcons') {
|
449
463
|
return;
|
450
464
|
}
|
451
|
-
this.adjustHeight();
|
452
465
|
};
|
453
466
|
LargeIconsView.prototype.onUpdateSelectionData = function () {
|
454
467
|
if (this.parent.view !== 'LargeIcons') {
|
@@ -540,7 +553,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
540
553
|
this.parent.on(events.filterEnd, this.onPathChanged, this);
|
541
554
|
};
|
542
555
|
LargeIconsView.prototype.onActionFailure = function () { this.isInteraction = true; this.isInteracted = true; };
|
543
|
-
// eslint-disable-next-line
|
544
556
|
LargeIconsView.prototype.onMenuItemData = function (args) {
|
545
557
|
if (this.parent.activeModule === this.getModuleName()) {
|
546
558
|
var ele = closest(args.target, 'li');
|
@@ -577,7 +589,8 @@ var LargeIconsView = /** @class */ (function () {
|
|
577
589
|
LargeIconsView.prototype.onpasteEnd = function (args) {
|
578
590
|
if (this.parent.view === 'LargeIcons') {
|
579
591
|
this.isPasteOperation = true;
|
580
|
-
if (this.parent.path === this.parent.destinationPath ||
|
592
|
+
if (this.parent.path === this.parent.destinationPath ||
|
593
|
+
this.parent.path === getDirectoryPath(this.parent, args) || this.parent.hasId) {
|
581
594
|
this.onPathChanged(args);
|
582
595
|
}
|
583
596
|
}
|
@@ -599,9 +612,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
599
612
|
case 'allowDragAndDrop':
|
600
613
|
this.createDragObj();
|
601
614
|
break;
|
602
|
-
case 'height':
|
603
|
-
this.adjustHeight();
|
604
|
-
break;
|
605
615
|
case 'selectedItems':
|
606
616
|
this.isInteraction = false;
|
607
617
|
this.isInteracted = false;
|
@@ -646,6 +656,8 @@ var LargeIconsView = /** @class */ (function () {
|
|
646
656
|
if (this.listObj) {
|
647
657
|
this.unWireEvents();
|
648
658
|
}
|
659
|
+
this.startItem = null;
|
660
|
+
this.listElements = null;
|
649
661
|
};
|
650
662
|
LargeIconsView.prototype.wireEvents = function () {
|
651
663
|
this.wireClickEvent(true);
|
@@ -676,38 +688,37 @@ var LargeIconsView = /** @class */ (function () {
|
|
676
688
|
}
|
677
689
|
};
|
678
690
|
LargeIconsView.prototype.wireClickEvent = function (toBind) {
|
691
|
+
var _this = this;
|
679
692
|
if (toBind) {
|
680
|
-
// eslint-disable-next-line
|
681
|
-
var proxy_1 = this;
|
682
693
|
this.clickObj = new Touch(this.element, {
|
683
694
|
tap: function (eve) {
|
684
695
|
eve.originalEvent.preventDefault();
|
685
|
-
if (
|
686
|
-
|
687
|
-
|
696
|
+
if (_this.parent.isDevice) {
|
697
|
+
_this.tapCount = eve.tapCount;
|
698
|
+
_this.tapEvent = eve;
|
688
699
|
setTimeout(function () {
|
689
|
-
if (
|
690
|
-
|
700
|
+
if (_this.tapCount > 0) {
|
701
|
+
_this.doTapAction(_this.tapEvent);
|
691
702
|
}
|
692
|
-
|
703
|
+
_this.tapCount = 0;
|
693
704
|
}, 350);
|
694
705
|
}
|
695
706
|
else {
|
696
707
|
if (eve.tapCount === 2 && eve.originalEvent.which !== 3) {
|
697
|
-
|
708
|
+
_this.dblClickHandler(eve);
|
698
709
|
}
|
699
710
|
else {
|
700
|
-
|
711
|
+
_this.clickHandler(eve);
|
701
712
|
}
|
702
713
|
}
|
703
714
|
},
|
704
715
|
tapHold: function (e) {
|
705
|
-
if (
|
706
|
-
|
707
|
-
if (
|
708
|
-
addClass([
|
716
|
+
if (_this.parent.isDevice) {
|
717
|
+
_this.multiSelect = _this.parent.allowMultiSelection ? true : false;
|
718
|
+
if (_this.parent.allowMultiSelection) {
|
719
|
+
addClass([_this.parent.element], CLS.MULTI_SELECT);
|
709
720
|
}
|
710
|
-
|
721
|
+
_this.clickHandler(e);
|
711
722
|
}
|
712
723
|
}
|
713
724
|
});
|
@@ -758,6 +769,7 @@ var LargeIconsView = /** @class */ (function () {
|
|
758
769
|
this.parent.isFile = false;
|
759
770
|
var action = 'select';
|
760
771
|
if (e.which === 3 && !isNOU(item) && item.classList.contains(CLS.ACTIVE)) {
|
772
|
+
this.addActive(item);
|
761
773
|
this.updateType(item);
|
762
774
|
return;
|
763
775
|
}
|
@@ -766,6 +778,9 @@ var LargeIconsView = /** @class */ (function () {
|
|
766
778
|
&& (e.ctrlKey || target.classList.contains(CLS.CHECK))) {
|
767
779
|
action = 'unselect';
|
768
780
|
}
|
781
|
+
if (e.ctrlKey && e.shiftKey) {
|
782
|
+
this.isSelectAllCalled = true;
|
783
|
+
}
|
769
784
|
var fileSelectionArgs = this.triggerSelection(action, item);
|
770
785
|
if (fileSelectionArgs.cancel !== true) {
|
771
786
|
if ((!this.parent.allowMultiSelection || (!this.multiSelect && (e && !e.ctrlKey)))
|
@@ -812,9 +827,13 @@ var LargeIconsView = /** @class */ (function () {
|
|
812
827
|
}
|
813
828
|
}
|
814
829
|
else {
|
830
|
+
if (this.parent.selectedItems.length === this.itemList.length) {
|
831
|
+
this.isSelectAllCalled = true;
|
832
|
+
}
|
815
833
|
this.clearSelection();
|
816
834
|
}
|
817
835
|
if (!isNOU(item)) {
|
836
|
+
this.isSelectAllCalled = false;
|
818
837
|
this.updateType(item);
|
819
838
|
}
|
820
839
|
};
|
@@ -841,7 +860,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
841
860
|
this.parent.isFile = false;
|
842
861
|
if (!isNOU(item)) {
|
843
862
|
this.updateType(item);
|
844
|
-
// eslint-disable-next-line
|
845
863
|
var details_1 = this.getItemObject(item);
|
846
864
|
if (!hasReadAccess(details_1)) {
|
847
865
|
createDeniedDialog(this.parent, details_1, events.permissionRead);
|
@@ -855,6 +873,7 @@ var LargeIconsView = /** @class */ (function () {
|
|
855
873
|
var val = _this.parent.breadcrumbbarModule.searchObj.element.value;
|
856
874
|
if (val === '' && !_this.parent.isFiltered) {
|
857
875
|
var id = getValue('id', details_1);
|
876
|
+
_this.parent.oldPath = _this.parent.path;
|
858
877
|
var newPath = _this.parent.path + (isNOU(id) ? text : id) + '/';
|
859
878
|
_this.parent.setProperties({ path: newPath }, true);
|
860
879
|
_this.parent.pathNames.push(text);
|
@@ -884,7 +903,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
884
903
|
this.parent.isFile = isNOU(folder) ? true : false;
|
885
904
|
};
|
886
905
|
/* istanbul ignore next */
|
887
|
-
// eslint:disable-next-line
|
888
906
|
LargeIconsView.prototype.keydownActionHandler = function (e) {
|
889
907
|
if (!this.isRendered) {
|
890
908
|
return;
|
@@ -933,8 +951,8 @@ var LargeIconsView = /** @class */ (function () {
|
|
933
951
|
}
|
934
952
|
};
|
935
953
|
/* istanbul ignore next */
|
936
|
-
// eslint:disable-next-line
|
937
954
|
LargeIconsView.prototype.keyActionHandler = function (e) {
|
955
|
+
var _this = this;
|
938
956
|
if (!this.isRendered) {
|
939
957
|
return;
|
940
958
|
}
|
@@ -943,10 +961,28 @@ var LargeIconsView = /** @class */ (function () {
|
|
943
961
|
var lastItem = this.getLastItem();
|
944
962
|
switch (e.action) {
|
945
963
|
case 'end':
|
946
|
-
this.
|
964
|
+
if (this.parent.enableVirtualization) {
|
965
|
+
this.clearSelect();
|
966
|
+
this.element.firstElementChild.scrollTo(0, this.element.firstElementChild.scrollHeight);
|
967
|
+
setTimeout(function () {
|
968
|
+
_this.navigateItem(_this.itemList[_this.itemList.length - 1]);
|
969
|
+
}, 10);
|
970
|
+
}
|
971
|
+
else {
|
972
|
+
this.navigateItem(lastItem);
|
973
|
+
}
|
947
974
|
break;
|
948
975
|
case 'home':
|
949
|
-
this.
|
976
|
+
if (this.parent.enableVirtualization) {
|
977
|
+
this.clearSelect();
|
978
|
+
this.element.firstElementChild.scrollTop = 0;
|
979
|
+
setTimeout(function () {
|
980
|
+
_this.navigateItem(_this.itemList[0]);
|
981
|
+
}, 10);
|
982
|
+
}
|
983
|
+
else {
|
984
|
+
this.navigateItem(firstItem);
|
985
|
+
}
|
950
986
|
break;
|
951
987
|
case 'tab':
|
952
988
|
if (!isNOU(fItem)) {
|
@@ -1041,6 +1077,9 @@ var LargeIconsView = /** @class */ (function () {
|
|
1041
1077
|
case 'ctrlD':
|
1042
1078
|
this.doDownload();
|
1043
1079
|
break;
|
1080
|
+
case 'back':
|
1081
|
+
this.parent.traverseBackward();
|
1082
|
+
break;
|
1044
1083
|
}
|
1045
1084
|
};
|
1046
1085
|
LargeIconsView.prototype.doDownload = function () {
|
@@ -1050,7 +1089,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
1050
1089
|
LargeIconsView.prototype.performDelete = function () {
|
1051
1090
|
if (this.parent.selectedItems && this.parent.selectedItems.length > 0) {
|
1052
1091
|
this.updateSelectedData();
|
1053
|
-
// eslint-disable-next-line
|
1054
1092
|
var data = this.parent.itemData;
|
1055
1093
|
for (var i = 0; i < data.length; i++) {
|
1056
1094
|
if (!hasEditAccess(data[i])) {
|
@@ -1069,7 +1107,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
1069
1107
|
};
|
1070
1108
|
LargeIconsView.prototype.updateRenameData = function () {
|
1071
1109
|
var item = select('.' + CLS.LIST_ITEM + '.' + CLS.ACTIVE, this.element);
|
1072
|
-
// eslint-disable-next-line
|
1073
1110
|
var data = this.getItemObject(item);
|
1074
1111
|
updateRenamingData(this.parent, data);
|
1075
1112
|
};
|
@@ -1115,6 +1152,12 @@ var LargeIconsView = /** @class */ (function () {
|
|
1115
1152
|
index = perRow ? index - perRow : index - 1;
|
1116
1153
|
}
|
1117
1154
|
nextItem = this.itemList[index];
|
1155
|
+
if (this.parent.enableVirtualization && isNOU(nextItem)) {
|
1156
|
+
var marginValue = parseInt(window.getComputedStyle(this.itemList[0]).getPropertyValue('margin-top'), 10) +
|
1157
|
+
parseInt(window.getComputedStyle(this.itemList[0]).getPropertyValue('margin-bottom'), 10);
|
1158
|
+
var scrollHeight = this.itemList[0].getBoundingClientRect().height + marginValue;
|
1159
|
+
this.element.firstElementChild.scrollTo(this.element.firstElementChild.scrollTop, this.element.firstElementChild.scrollTop + scrollHeight);
|
1160
|
+
}
|
1118
1161
|
if (isNOU(nextItem)) {
|
1119
1162
|
return li;
|
1120
1163
|
}
|
@@ -1279,7 +1322,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
1279
1322
|
}
|
1280
1323
|
};
|
1281
1324
|
LargeIconsView.prototype.getDataName = function (item) {
|
1282
|
-
// eslint-disable-next-line
|
1283
1325
|
var data = this.getItemObject(item);
|
1284
1326
|
return getItemName(this.parent, data);
|
1285
1327
|
};
|
@@ -1295,7 +1337,7 @@ var LargeIconsView = /** @class */ (function () {
|
|
1295
1337
|
item.focus();
|
1296
1338
|
};
|
1297
1339
|
LargeIconsView.prototype.checkState = function (item, toCheck) {
|
1298
|
-
if (!this.parent.
|
1340
|
+
if (!this.parent.showItemCheckBoxes) {
|
1299
1341
|
return;
|
1300
1342
|
}
|
1301
1343
|
var checkEle = select('.' + CLS.FRAME, item);
|
@@ -1330,9 +1372,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
1330
1372
|
};
|
1331
1373
|
LargeIconsView.prototype.resizeHandler = function () {
|
1332
1374
|
this.getItemCount();
|
1333
|
-
if (!isNOU(this.listObj)) {
|
1334
|
-
this.adjustHeight();
|
1335
|
-
}
|
1336
1375
|
};
|
1337
1376
|
LargeIconsView.prototype.splitterResizeHandler = function () {
|
1338
1377
|
this.getItemCount();
|
@@ -1352,20 +1391,38 @@ var LargeIconsView = /** @class */ (function () {
|
|
1352
1391
|
this.perRow = perRow;
|
1353
1392
|
};
|
1354
1393
|
LargeIconsView.prototype.triggerSelection = function (action, item) {
|
1355
|
-
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1394
|
+
var data = [];
|
1395
|
+
if (this.isSelectAllCalled) {
|
1396
|
+
for (var i = 0, len = this.itemList.length; i < len; i++) {
|
1397
|
+
data[i] = this.getItemObject(this.itemList[i]);
|
1398
|
+
}
|
1399
|
+
}
|
1400
|
+
else {
|
1401
|
+
data[0] = this.getItemObject(item);
|
1402
|
+
}
|
1403
|
+
var eventArgs = { action: action, fileDetails: data.length > 1
|
1404
|
+
? data : data[0], isInteracted: this.isInteraction, cancel: false, target: this.isSelectAllCalled ? null
|
1405
|
+
: item
|
1359
1406
|
};
|
1360
1407
|
this.parent.trigger('fileSelection', eventArgs);
|
1361
1408
|
this.isInteraction = true;
|
1362
1409
|
return eventArgs;
|
1363
1410
|
};
|
1364
1411
|
LargeIconsView.prototype.triggerSelect = function (action, item) {
|
1365
|
-
|
1366
|
-
|
1367
|
-
|
1368
|
-
|
1412
|
+
var data = [];
|
1413
|
+
if (this.isSelectAllCalled) {
|
1414
|
+
for (var i = 0, len = this.itemList.length; i < len; i++) {
|
1415
|
+
data[i] = this.getItemObject(this.itemList[i]);
|
1416
|
+
}
|
1417
|
+
this.isSelectAllCalled = false;
|
1418
|
+
}
|
1419
|
+
else {
|
1420
|
+
data[0] = this.getItemObject(item);
|
1421
|
+
}
|
1422
|
+
this.parent.visitedData = data.length > 1 ? data[data.length - 1] : data[0];
|
1423
|
+
var eventArgs = { action: action, fileDetails: data.length > 1
|
1424
|
+
? data
|
1425
|
+
: data[0], isInteracted: this.isInteracted };
|
1369
1426
|
this.parent.trigger('fileSelect', eventArgs);
|
1370
1427
|
this.isInteracted = true;
|
1371
1428
|
};
|
@@ -1386,21 +1443,17 @@ var LargeIconsView = /** @class */ (function () {
|
|
1386
1443
|
}
|
1387
1444
|
return indexes;
|
1388
1445
|
};
|
1389
|
-
// eslint-disable-next-line
|
1390
1446
|
LargeIconsView.prototype.getItemObject = function (item) {
|
1391
1447
|
var index = this.itemList.indexOf(item);
|
1392
1448
|
return this.items[index];
|
1393
1449
|
};
|
1394
|
-
// eslint-disable-next-line
|
1395
1450
|
LargeIconsView.prototype.addSelection = function (data) {
|
1396
|
-
// eslint-disable-next-line
|
1397
1451
|
var resultData = [];
|
1398
1452
|
if (this.parent.hasId) {
|
1399
1453
|
resultData = new DataManager(this.items).
|
1400
1454
|
executeLocal(new Query().where('id', 'equal', this.parent.renamedId, false));
|
1401
1455
|
}
|
1402
1456
|
else {
|
1403
|
-
// eslint-disable-next-line
|
1404
1457
|
var newData = new DataManager(this.items).
|
1405
1458
|
executeLocal(new Query().where('name', 'equal', getValue('name', data), false));
|
1406
1459
|
if (newData.length > 0) {
|
@@ -1415,7 +1468,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
1415
1468
|
}
|
1416
1469
|
};
|
1417
1470
|
LargeIconsView.prototype.updateSelectedData = function () {
|
1418
|
-
// eslint-disable-next-line
|
1419
1471
|
var data = [];
|
1420
1472
|
var items = selectAll('.' + CLS.LIST_ITEM + '.' + CLS.ACTIVE, this.element);
|
1421
1473
|
for (var i = 0; i < items.length; i++) {
|
@@ -1423,7 +1475,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
1423
1475
|
}
|
1424
1476
|
this.parent.itemData = data;
|
1425
1477
|
};
|
1426
|
-
// eslint-disable-next-line
|
1427
1478
|
LargeIconsView.prototype.onMethodCall = function (args) {
|
1428
1479
|
if (this.parent.view !== 'LargeIcons') {
|
1429
1480
|
return;
|
@@ -1474,7 +1525,7 @@ var LargeIconsView = /** @class */ (function () {
|
|
1474
1525
|
else {
|
1475
1526
|
for (var i = 0, len = this.items.length; i < len; i++) {
|
1476
1527
|
var name_2 = getValue('filterPath', this.items[i]) + getValue('name', this.items[i]);
|
1477
|
-
if (items.indexOf(name_2) !== -1) {
|
1528
|
+
if ((items.indexOf(name_2) !== -1) || (items.indexOf(getValue(filterName, this.items[i])) !== -1)) {
|
1478
1529
|
indexes.push(i);
|
1479
1530
|
}
|
1480
1531
|
}
|
@@ -1491,7 +1542,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
1491
1542
|
if (indexes.length === 0) {
|
1492
1543
|
return;
|
1493
1544
|
}
|
1494
|
-
// eslint-disable-next-line
|
1495
1545
|
var data = [];
|
1496
1546
|
var newIds = [];
|
1497
1547
|
for (var i = 0; i < indexes.length; i++) {
|
@@ -1509,7 +1559,6 @@ var LargeIconsView = /** @class */ (function () {
|
|
1509
1559
|
if (index.length === 0) {
|
1510
1560
|
return;
|
1511
1561
|
}
|
1512
|
-
// eslint-disable-next-line
|
1513
1562
|
var data = [];
|
1514
1563
|
var newIds = [];
|
1515
1564
|
for (var i = 0; i < index.length; i++) {
|
@@ -20,6 +20,8 @@ export declare class NavigationPane {
|
|
20
20
|
private isPathDragged;
|
21
21
|
private isRenameParent;
|
22
22
|
private isRightClick;
|
23
|
+
private isSameNodeClicked;
|
24
|
+
private isNodeExpandCalled;
|
23
25
|
private renameParent;
|
24
26
|
private previousSelected;
|
25
27
|
private isNodeClickCalled;
|