@syncfusion/ej2-filemanager 33.2.10 → 34.1.29
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/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 +297 -13
- package/dist/es6/ej2-filemanager.es2015.js.map +1 -1
- package/dist/es6/ej2-filemanager.es5.js +297 -13
- 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 +11 -11
- package/src/file-manager/common/operations.js +1 -1
- package/src/file-manager/layout/details-view.d.ts +10 -0
- package/src/file-manager/layout/details-view.js +295 -11
- package/src/file-manager/layout/large-icons-view.js +1 -1
- package/styles/bds-lite.css +11 -347
- package/styles/bds-lite.scss +1 -13
- package/styles/bds.css +15 -362
- package/styles/bds.scss +2 -14
- package/styles/bootstrap-dark-lite.css +14 -58
- package/styles/bootstrap-dark-lite.scss +1 -13
- package/styles/bootstrap-dark.css +18 -65
- package/styles/bootstrap-dark.scss +2 -14
- package/styles/bootstrap-lite.css +8 -59
- package/styles/bootstrap-lite.scss +1 -13
- package/styles/bootstrap.css +12 -66
- package/styles/bootstrap.scss +2 -14
- package/styles/bootstrap4-lite.css +16 -64
- package/styles/bootstrap4-lite.scss +1 -13
- package/styles/bootstrap4.css +20 -71
- package/styles/bootstrap4.scss +2 -14
- package/styles/bootstrap5-dark-lite.css +17 -67
- package/styles/bootstrap5-dark-lite.scss +1 -13
- package/styles/bootstrap5-dark.css +21 -74
- package/styles/bootstrap5-dark.scss +2 -14
- package/styles/bootstrap5-lite.css +17 -67
- package/styles/bootstrap5-lite.scss +1 -14
- package/styles/bootstrap5.3-lite.css +8 -228
- package/styles/bootstrap5.3-lite.scss +1 -14
- package/styles/bootstrap5.3.css +12 -403
- package/styles/bootstrap5.3.scss +2 -15
- package/styles/bootstrap5.css +21 -74
- package/styles/bootstrap5.scss +2 -15
- package/styles/fabric-dark-lite.css +12 -60
- package/styles/fabric-dark-lite.scss +1 -14
- package/styles/fabric-dark.css +16 -67
- package/styles/fabric-dark.scss +2 -15
- package/styles/fabric-lite.css +12 -61
- package/styles/fabric-lite.scss +1 -14
- package/styles/fabric.css +16 -68
- package/styles/fabric.scss +2 -15
- package/styles/file-manager/_all.scss +2 -2
- package/styles/file-manager/_bds-definition.scss +1 -2
- package/styles/file-manager/_bigger.scss +14 -2
- package/styles/file-manager/_bootstrap-dark-definition.scss +1 -2
- package/styles/file-manager/_bootstrap-definition.scss +1 -2
- package/styles/file-manager/_bootstrap4-definition.scss +1 -2
- package/styles/file-manager/_bootstrap5-dark-definition.scss +1 -2
- package/styles/file-manager/_bootstrap5-definition.scss +1 -2
- package/styles/file-manager/_bootstrap5.3-definition.scss +1 -2
- package/styles/file-manager/_fabric-dark-definition.scss +1 -2
- package/styles/file-manager/_fabric-definition.scss +1 -2
- package/styles/file-manager/_fluent-dark-definition.scss +1 -2
- package/styles/file-manager/_fluent-definition.scss +1 -2
- package/styles/file-manager/_fluent2-definition.scss +1 -2
- package/styles/file-manager/_fusionnew-definition.scss +1 -2
- package/styles/file-manager/_highcontrast-definition.scss +1 -2
- package/styles/file-manager/_highcontrast-light-definition.scss +1 -2
- package/styles/file-manager/_layout.scss +7 -3
- package/styles/file-manager/_material-dark-definition.scss +1 -2
- package/styles/file-manager/_material-definition.scss +1 -2
- package/styles/file-manager/_material3-dark-definition.scss +2 -2
- package/styles/file-manager/_material3-definition.scss +2 -2
- package/styles/file-manager/_tailwind-dark-definition.scss +1 -2
- package/styles/file-manager/_tailwind-definition.scss +1 -2
- package/styles/file-manager/_tailwind3-definition.scss +1 -2
- package/styles/file-manager/_theme.scss +1 -1
- package/styles/file-manager/_variables.scss +2 -0
- package/styles/file-manager/bds.css +15 -362
- package/styles/file-manager/bds.scss +2 -15
- package/styles/file-manager/bootstrap-dark.css +18 -65
- package/styles/file-manager/bootstrap-dark.scss +2 -15
- package/styles/file-manager/bootstrap.css +12 -66
- package/styles/file-manager/bootstrap.scss +2 -15
- package/styles/file-manager/bootstrap4.css +20 -71
- package/styles/file-manager/bootstrap4.scss +2 -15
- package/styles/file-manager/bootstrap5-dark.css +21 -74
- package/styles/file-manager/bootstrap5-dark.scss +2 -15
- package/styles/file-manager/bootstrap5.3.css +12 -403
- package/styles/file-manager/bootstrap5.3.scss +2 -15
- package/styles/file-manager/bootstrap5.css +21 -74
- package/styles/file-manager/bootstrap5.scss +2 -15
- package/styles/file-manager/fabric-dark.css +16 -67
- package/styles/file-manager/fabric-dark.scss +2 -15
- package/styles/file-manager/fabric.css +16 -68
- package/styles/file-manager/fabric.scss +2 -15
- package/styles/file-manager/fluent-dark.css +12 -66
- package/styles/file-manager/fluent-dark.scss +2 -15
- package/styles/file-manager/fluent.css +12 -66
- package/styles/file-manager/fluent.scss +2 -15
- package/styles/file-manager/fluent2.css +19 -650
- package/styles/file-manager/fluent2.scss +2 -15
- package/styles/file-manager/highcontrast-light.css +12 -65
- package/styles/file-manager/highcontrast-light.scss +2 -15
- package/styles/file-manager/highcontrast.css +20 -74
- package/styles/file-manager/highcontrast.scss +2 -15
- package/styles/file-manager/icons/_bds.scss +1 -1
- package/styles/file-manager/icons/_bootstrap-dark.scss +1 -1
- package/styles/file-manager/icons/_bootstrap.scss +1 -1
- package/styles/file-manager/icons/_bootstrap4.scss +1 -1
- package/styles/file-manager/icons/_bootstrap5.3.scss +1 -1
- package/styles/file-manager/icons/_bootstrap5.scss +1 -1
- package/styles/file-manager/icons/_fabric-dark.scss +1 -1
- package/styles/file-manager/icons/_fabric.scss +1 -1
- package/styles/file-manager/icons/_fluent.scss +1 -1
- package/styles/file-manager/icons/_fluent2.scss +1 -1
- package/styles/file-manager/icons/_fusionnew.scss +1 -1
- package/styles/file-manager/icons/_highcontrast-light.scss +1 -1
- package/styles/file-manager/icons/_highcontrast.scss +1 -1
- package/styles/file-manager/icons/_material-dark.scss +1 -1
- package/styles/file-manager/icons/_material.scss +1 -1
- package/styles/file-manager/icons/_material3.scss +1 -1
- package/styles/file-manager/icons/_tailwind.scss +1 -1
- package/styles/file-manager/icons/_tailwind3.scss +1 -1
- package/styles/file-manager/material-dark.css +12 -101
- package/styles/file-manager/material-dark.scss +2 -15
- package/styles/file-manager/material.css +12 -123
- package/styles/file-manager/material.scss +2 -15
- package/styles/file-manager/material3-dark.css +15 -424
- package/styles/file-manager/material3-dark.scss +2 -15
- package/styles/file-manager/material3.css +15 -432
- package/styles/file-manager/material3.scss +2 -15
- package/styles/file-manager/tailwind-dark.css +15 -67
- package/styles/file-manager/tailwind-dark.scss +2 -15
- package/styles/file-manager/tailwind.css +15 -67
- package/styles/file-manager/tailwind.scss +2 -15
- package/styles/file-manager/tailwind3.css +14 -425
- package/styles/file-manager/tailwind3.scss +2 -15
- package/styles/fluent-dark-lite.css +8 -59
- package/styles/fluent-dark-lite.scss +1 -14
- package/styles/fluent-dark.css +12 -66
- package/styles/fluent-dark.scss +2 -15
- package/styles/fluent-lite.css +8 -59
- package/styles/fluent-lite.scss +1 -14
- package/styles/fluent.css +12 -66
- package/styles/fluent.scss +2 -15
- package/styles/fluent2-lite.css +15 -471
- package/styles/fluent2-lite.scss +1 -14
- package/styles/fluent2.css +19 -650
- package/styles/fluent2.scss +2 -15
- package/styles/highcontrast-light-lite.css +8 -58
- package/styles/highcontrast-light-lite.scss +1 -14
- package/styles/highcontrast-light.css +12 -65
- package/styles/highcontrast-light.scss +2 -15
- package/styles/highcontrast-lite.css +16 -67
- package/styles/highcontrast-lite.scss +1 -14
- package/styles/highcontrast.css +20 -74
- package/styles/highcontrast.scss +2 -15
- package/styles/material-dark-lite.css +8 -94
- package/styles/material-dark-lite.scss +1 -14
- package/styles/material-dark.css +12 -101
- package/styles/material-dark.scss +2 -15
- package/styles/material-lite.css +8 -116
- package/styles/material-lite.scss +1 -13
- package/styles/material.css +12 -123
- package/styles/material.scss +2 -14
- package/styles/material3-dark-lite.css +11 -255
- package/styles/material3-dark-lite.scss +1 -14
- package/styles/material3-dark.css +15 -424
- package/styles/material3-dark.scss +2 -15
- package/styles/material3-lite.css +11 -259
- package/styles/material3-lite.scss +1 -14
- package/styles/material3.css +15 -432
- package/styles/material3.scss +2 -15
- package/styles/tailwind-dark-lite.css +11 -60
- package/styles/tailwind-dark-lite.scss +1 -14
- package/styles/tailwind-dark.css +15 -67
- package/styles/tailwind-dark.scss +2 -15
- package/styles/tailwind-lite.css +11 -60
- package/styles/tailwind-lite.scss +1 -14
- package/styles/tailwind.css +15 -67
- package/styles/tailwind.scss +2 -15
- package/styles/tailwind3-lite.css +10 -270
- package/styles/tailwind3-lite.scss +1 -14
- package/styles/tailwind3.css +14 -425
- package/styles/tailwind3.scss +2 -15
- package/styles/file-manager/_all.bds.scss +0 -2
- package/styles/file-manager/_all.bootstrap-dark.scss +0 -2
- package/styles/file-manager/_all.bootstrap.scss +0 -2
- package/styles/file-manager/_all.bootstrap4.scss +0 -2
- package/styles/file-manager/_all.bootstrap5-dark.scss +0 -2
- package/styles/file-manager/_all.bootstrap5.3.scss +0 -2
- package/styles/file-manager/_all.bootstrap5.scss +0 -2
- package/styles/file-manager/_all.fabric-dark.scss +0 -2
- package/styles/file-manager/_all.fabric.scss +0 -2
- package/styles/file-manager/_all.fluent-dark.scss +0 -2
- package/styles/file-manager/_all.fluent.scss +0 -2
- package/styles/file-manager/_all.fluent2.scss +0 -2
- package/styles/file-manager/_all.highcontrast-light.scss +0 -2
- package/styles/file-manager/_all.highcontrast.scss +0 -2
- package/styles/file-manager/_all.material-dark.scss +0 -2
- package/styles/file-manager/_all.material.scss +0 -2
- package/styles/file-manager/_all.material3-dark.scss +0 -2
- package/styles/file-manager/_all.material3.scss +0 -2
- package/styles/file-manager/_all.tailwind-dark.scss +0 -2
- package/styles/file-manager/_all.tailwind.scss +0 -2
- package/styles/file-manager/_all.tailwind3.scss +0 -2
- package/styles/file-manager/_bigger.bds.scss +0 -4
- package/styles/file-manager/_bigger.bootstrap-dark.scss +0 -4
- package/styles/file-manager/_bigger.bootstrap.scss +0 -4
- package/styles/file-manager/_bigger.bootstrap4.scss +0 -4
- package/styles/file-manager/_bigger.bootstrap5-dark.scss +0 -4
- package/styles/file-manager/_bigger.bootstrap5.3.scss +0 -4
- package/styles/file-manager/_bigger.bootstrap5.scss +0 -4
- package/styles/file-manager/_bigger.fabric-dark.scss +0 -4
- package/styles/file-manager/_bigger.fabric.scss +0 -4
- package/styles/file-manager/_bigger.fluent-dark.scss +0 -4
- package/styles/file-manager/_bigger.fluent.scss +0 -4
- package/styles/file-manager/_bigger.fluent2.scss +0 -4
- package/styles/file-manager/_bigger.highcontrast-light.scss +0 -4
- package/styles/file-manager/_bigger.highcontrast.scss +0 -4
- package/styles/file-manager/_bigger.material-dark.scss +0 -4
- package/styles/file-manager/_bigger.material.scss +0 -4
- package/styles/file-manager/_bigger.material3-dark.scss +0 -4
- package/styles/file-manager/_bigger.material3.scss +0 -4
- package/styles/file-manager/_bigger.tailwind-dark.scss +0 -4
- package/styles/file-manager/_bigger.tailwind.scss +0 -4
- package/styles/file-manager/_bigger.tailwind3.scss +0 -4
- package/styles/file-manager/_layout.bds.scss +0 -3
- package/styles/file-manager/_layout.bootstrap-dark.scss +0 -3
- package/styles/file-manager/_layout.bootstrap.scss +0 -3
- package/styles/file-manager/_layout.bootstrap4.scss +0 -3
- package/styles/file-manager/_layout.bootstrap5-dark.scss +0 -3
- package/styles/file-manager/_layout.bootstrap5.3.scss +0 -3
- package/styles/file-manager/_layout.bootstrap5.scss +0 -3
- package/styles/file-manager/_layout.fabric-dark.scss +0 -3
- package/styles/file-manager/_layout.fabric.scss +0 -3
- package/styles/file-manager/_layout.fluent-dark.scss +0 -3
- package/styles/file-manager/_layout.fluent.scss +0 -3
- package/styles/file-manager/_layout.fluent2.scss +0 -3
- package/styles/file-manager/_layout.highcontrast-light.scss +0 -3
- package/styles/file-manager/_layout.highcontrast.scss +0 -3
- package/styles/file-manager/_layout.material-dark.scss +0 -3
- package/styles/file-manager/_layout.material.scss +0 -3
- package/styles/file-manager/_layout.material3-dark.scss +0 -3
- package/styles/file-manager/_layout.material3.scss +0 -3
- package/styles/file-manager/_layout.tailwind-dark.scss +0 -3
- package/styles/file-manager/_layout.tailwind.scss +0 -3
- package/styles/file-manager/_layout.tailwind3.scss +0 -3
- package/styles/file-manager/_theme-variables.bds.scss +0 -1
- package/styles/file-manager/_theme-variables.bootstrap-dark.scss +0 -1
- package/styles/file-manager/_theme-variables.bootstrap.scss +0 -1
- package/styles/file-manager/_theme-variables.bootstrap4.scss +0 -1
- package/styles/file-manager/_theme-variables.bootstrap5-dark.scss +0 -1
- package/styles/file-manager/_theme-variables.bootstrap5.3.scss +0 -1
- package/styles/file-manager/_theme-variables.bootstrap5.scss +0 -1
- package/styles/file-manager/_theme-variables.fabric-dark.scss +0 -1
- package/styles/file-manager/_theme-variables.fabric.scss +0 -1
- package/styles/file-manager/_theme-variables.fluent-dark.scss +0 -1
- package/styles/file-manager/_theme-variables.fluent.scss +0 -1
- package/styles/file-manager/_theme-variables.fluent2.scss +0 -1
- package/styles/file-manager/_theme-variables.highcontrast-light.scss +0 -1
- package/styles/file-manager/_theme-variables.highcontrast.scss +0 -1
- package/styles/file-manager/_theme-variables.material-dark.scss +0 -1
- package/styles/file-manager/_theme-variables.material.scss +0 -1
- package/styles/file-manager/_theme-variables.material3-dark.scss +0 -1
- package/styles/file-manager/_theme-variables.material3.scss +0 -1
- package/styles/file-manager/_theme-variables.tailwind-dark.scss +0 -1
- package/styles/file-manager/_theme-variables.tailwind.scss +0 -1
- package/styles/file-manager/_theme-variables.tailwind3.scss +0 -1
- package/styles/file-manager/_theme.bds.scss +0 -4
- package/styles/file-manager/_theme.bootstrap-dark.scss +0 -4
- package/styles/file-manager/_theme.bootstrap.scss +0 -4
- package/styles/file-manager/_theme.bootstrap4.scss +0 -4
- package/styles/file-manager/_theme.bootstrap5-dark.scss +0 -4
- package/styles/file-manager/_theme.bootstrap5.3.scss +0 -4
- package/styles/file-manager/_theme.bootstrap5.scss +0 -4
- package/styles/file-manager/_theme.fabric-dark.scss +0 -4
- package/styles/file-manager/_theme.fabric.scss +0 -4
- package/styles/file-manager/_theme.fluent-dark.scss +0 -4
- package/styles/file-manager/_theme.fluent.scss +0 -4
- package/styles/file-manager/_theme.fluent2.scss +0 -4
- package/styles/file-manager/_theme.highcontrast-light.scss +0 -4
- package/styles/file-manager/_theme.highcontrast.scss +0 -4
- package/styles/file-manager/_theme.material-dark.scss +0 -4
- package/styles/file-manager/_theme.material.scss +0 -4
- package/styles/file-manager/_theme.material3-dark.scss +0 -4
- package/styles/file-manager/_theme.material3.scss +0 -4
- package/styles/file-manager/_theme.tailwind-dark.scss +0 -4
- package/styles/file-manager/_theme.tailwind.scss +0 -4
- package/styles/file-manager/_theme.tailwind3.scss +0 -4
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version :
|
|
3
|
+
* version : 34.1.29
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2025. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@syncfusion/ej2-filemanager",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "34.1.29",
|
|
4
4
|
"description": "Essential JS 2 FileManager Component",
|
|
5
5
|
"author": "Syncfusion Inc.",
|
|
6
6
|
"license": "SEE LICENSE IN license",
|
|
@@ -8,16 +8,16 @@
|
|
|
8
8
|
"module": "./index.js",
|
|
9
9
|
"es2015": "./dist/es6/ej2-filemanager.es5.js",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@syncfusion/ej2-base": "~
|
|
12
|
-
"@syncfusion/ej2-buttons": "~
|
|
13
|
-
"@syncfusion/ej2-data": "~
|
|
14
|
-
"@syncfusion/ej2-grids": "~
|
|
15
|
-
"@syncfusion/ej2-inputs": "~
|
|
16
|
-
"@syncfusion/ej2-layouts": "~
|
|
17
|
-
"@syncfusion/ej2-lists": "~
|
|
18
|
-
"@syncfusion/ej2-navigations": "~
|
|
19
|
-
"@syncfusion/ej2-popups": "~
|
|
20
|
-
"@syncfusion/ej2-splitbuttons": "~
|
|
11
|
+
"@syncfusion/ej2-base": "~34.1.29",
|
|
12
|
+
"@syncfusion/ej2-buttons": "~34.1.29",
|
|
13
|
+
"@syncfusion/ej2-data": "~34.1.29",
|
|
14
|
+
"@syncfusion/ej2-grids": "~34.1.29",
|
|
15
|
+
"@syncfusion/ej2-inputs": "~34.1.29",
|
|
16
|
+
"@syncfusion/ej2-layouts": "~34.1.29",
|
|
17
|
+
"@syncfusion/ej2-lists": "~34.1.29",
|
|
18
|
+
"@syncfusion/ej2-navigations": "~34.1.29",
|
|
19
|
+
"@syncfusion/ej2-popups": "~34.1.29",
|
|
20
|
+
"@syncfusion/ej2-splitbuttons": "~34.1.29"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {},
|
|
23
23
|
"keywords": [
|
|
@@ -772,7 +772,7 @@ function performReadOperation(parent, result, fn, data, event, operation, target
|
|
|
772
772
|
setValue('location', location_1, result.details);
|
|
773
773
|
}
|
|
774
774
|
fn(parent, result, event, operation, targetPath);
|
|
775
|
-
if (!isNOU(result.files) && (event === 'path-changed' || event === 'finalize-end' || event === 'open-end' || event === 'drop-path')) {
|
|
775
|
+
if (!isNOU(result.files) && (event === 'path-changed' || event === 'finalize-end' || event === 'open-end' || event === 'drop-path' || event === 'delete-end')) {
|
|
776
776
|
parent.notify(events.searchTextChange, result);
|
|
777
777
|
}
|
|
778
778
|
if (typeof getValue('onSuccess', beforeSendArgs.ajaxSettings) === 'function') {
|
|
@@ -21,6 +21,7 @@ export declare class DetailsView {
|
|
|
21
21
|
private dragObj;
|
|
22
22
|
private startIndex;
|
|
23
23
|
private firstItemIndex;
|
|
24
|
+
private currentColumnIndex;
|
|
24
25
|
private isSelectionUpdate;
|
|
25
26
|
private currentSelectedItem;
|
|
26
27
|
private count;
|
|
@@ -28,6 +29,7 @@ export declare class DetailsView {
|
|
|
28
29
|
private isLoaded;
|
|
29
30
|
private isNameWidth;
|
|
30
31
|
private isMultiSelect;
|
|
32
|
+
private isTabKeypressed;
|
|
31
33
|
gridObj: Grid;
|
|
32
34
|
pasteOperation: boolean;
|
|
33
35
|
uploadOperation: boolean;
|
|
@@ -125,6 +127,7 @@ export declare class DetailsView {
|
|
|
125
127
|
private removeFocus;
|
|
126
128
|
private onBlur;
|
|
127
129
|
private getFocusedItemIndex;
|
|
130
|
+
private getRowIndexFromParent;
|
|
128
131
|
private keydownHandler;
|
|
129
132
|
private keyupHandler;
|
|
130
133
|
gridSelectNodes(): Object[];
|
|
@@ -136,6 +139,9 @@ export declare class DetailsView {
|
|
|
136
139
|
private moveFunction;
|
|
137
140
|
private spaceSelection;
|
|
138
141
|
private ctrlMoveFunction;
|
|
142
|
+
private moveColumn;
|
|
143
|
+
private clearCellFocus;
|
|
144
|
+
private getNextColumnIndex;
|
|
139
145
|
private checkRowsKey;
|
|
140
146
|
private InnerItems;
|
|
141
147
|
private shiftSelectFocusItem;
|
|
@@ -149,6 +155,10 @@ export declare class DetailsView {
|
|
|
149
155
|
*/
|
|
150
156
|
addFocus(item: number | null): void;
|
|
151
157
|
private addHeaderFocus;
|
|
158
|
+
private tryNavigateToNextCellInRow;
|
|
159
|
+
private handleReverseTabNavigation;
|
|
160
|
+
private moveFocusToHeader;
|
|
161
|
+
private clearDetailsFocus;
|
|
152
162
|
private getFocusedItem;
|
|
153
163
|
private isSelected;
|
|
154
164
|
private shiftSelectedItem;
|
|
@@ -33,6 +33,7 @@ var DetailsView = /** @class */ (function () {
|
|
|
33
33
|
this.dragObj = null;
|
|
34
34
|
this.startIndex = null;
|
|
35
35
|
this.firstItemIndex = null;
|
|
36
|
+
this.currentColumnIndex = 0;
|
|
36
37
|
this.isSelectionUpdate = false;
|
|
37
38
|
this.currentSelectedItem = [];
|
|
38
39
|
this.count = 0;
|
|
@@ -40,6 +41,7 @@ var DetailsView = /** @class */ (function () {
|
|
|
40
41
|
this.isLoaded = false;
|
|
41
42
|
this.isNameWidth = false;
|
|
42
43
|
this.isMultiSelect = false;
|
|
44
|
+
this.isTabKeypressed = false;
|
|
43
45
|
this.pasteOperation = false;
|
|
44
46
|
this.uploadOperation = false;
|
|
45
47
|
this.nextFocusIndex = null;
|
|
@@ -51,6 +53,7 @@ var DetailsView = /** @class */ (function () {
|
|
|
51
53
|
altEnter: 'alt+enter',
|
|
52
54
|
esc: 'escape',
|
|
53
55
|
tab: 'tab',
|
|
56
|
+
shiftTab: 'shift+tab',
|
|
54
57
|
moveDown: 'downarrow',
|
|
55
58
|
ctrlEnd: 'ctrl+end',
|
|
56
59
|
ctrlHome: 'ctrl+home',
|
|
@@ -73,6 +76,8 @@ var DetailsView = /** @class */ (function () {
|
|
|
73
76
|
end: 'end',
|
|
74
77
|
home: 'home',
|
|
75
78
|
moveUp: 'uparrow',
|
|
79
|
+
moveLeft: 'leftarrow',
|
|
80
|
+
moveRight: 'rightarrow',
|
|
76
81
|
del: 'delete',
|
|
77
82
|
ctrlX: this.parent.isMac ? 'cmd+x' : 'ctrl+x',
|
|
78
83
|
ctrlC: this.parent.isMac ? 'cmd+c' : 'ctrl+c',
|
|
@@ -291,6 +296,9 @@ var DetailsView = /** @class */ (function () {
|
|
|
291
296
|
var pane = select('#' + this.parent.element.id + CLS.CONTENT_ID, this.parent.element);
|
|
292
297
|
var bar = select('#' + this.parent.element.id + CLS.BREADCRUMBBAR_ID, this.parent.element);
|
|
293
298
|
var gridHeader = select('.' + CLS.GRID_HEADER, this.parent.element);
|
|
299
|
+
if (isNOU(pane) || isNOU(bar) || isNOU(gridHeader)) {
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
294
302
|
var height = (pane.offsetHeight - bar.offsetHeight - gridHeader.offsetHeight);
|
|
295
303
|
this.gridObj.height = height;
|
|
296
304
|
this.gridObj.dataBind();
|
|
@@ -500,9 +508,11 @@ var DetailsView = /** @class */ (function () {
|
|
|
500
508
|
}
|
|
501
509
|
}
|
|
502
510
|
if (typeof this.nextFocusIndex === 'number') {
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
511
|
+
if (!isNOU(this.gridObj.getRows())) {
|
|
512
|
+
var rowCount = this.gridObj.getRows().length;
|
|
513
|
+
if (rowCount > 0) {
|
|
514
|
+
this.addFocus(this.nextFocusIndex >= rowCount ? rowCount : this.nextFocusIndex);
|
|
515
|
+
}
|
|
506
516
|
}
|
|
507
517
|
this.nextFocusIndex = null;
|
|
508
518
|
}
|
|
@@ -1263,7 +1273,7 @@ var DetailsView = /** @class */ (function () {
|
|
|
1263
1273
|
this.openContent(args.data);
|
|
1264
1274
|
}
|
|
1265
1275
|
}
|
|
1266
|
-
this.parent.visitedItem = args.row;
|
|
1276
|
+
this.parent.visitedItem = (Array.isArray(args.row) ? args.row[args.row.length - 1] : args.row);
|
|
1267
1277
|
if ((!this.parent.enableVirtualization) || (!args.isHeaderCheckboxClicked)) {
|
|
1268
1278
|
this.addFocus(this.gridObj.selectedRowIndex);
|
|
1269
1279
|
}
|
|
@@ -1410,8 +1420,21 @@ var DetailsView = /** @class */ (function () {
|
|
|
1410
1420
|
}
|
|
1411
1421
|
};
|
|
1412
1422
|
DetailsView.prototype.getFocusedItemIndex = function () {
|
|
1413
|
-
|
|
1414
|
-
|
|
1423
|
+
var focusedItem = this.getFocusedItem();
|
|
1424
|
+
if (isNOU(focusedItem)) {
|
|
1425
|
+
return null;
|
|
1426
|
+
}
|
|
1427
|
+
if (focusedItem.classList.contains('e-rowcell')) {
|
|
1428
|
+
return this.getRowIndexFromParent(focusedItem);
|
|
1429
|
+
}
|
|
1430
|
+
return parseInt(focusedItem.getAttribute('aria-rowindex'), 10) - 1;
|
|
1431
|
+
};
|
|
1432
|
+
DetailsView.prototype.getRowIndexFromParent = function (focusedItem) {
|
|
1433
|
+
var parentRow = focusedItem.parentElement;
|
|
1434
|
+
if (parentRow && parentRow.classList.contains('e-row')) {
|
|
1435
|
+
return parseInt(parentRow.getAttribute('aria-rowindex'), 10) - 1;
|
|
1436
|
+
}
|
|
1437
|
+
return null;
|
|
1415
1438
|
};
|
|
1416
1439
|
/* istanbul ignore next */
|
|
1417
1440
|
DetailsView.prototype.keydownHandler = function (e) {
|
|
@@ -1440,6 +1463,8 @@ var DetailsView = /** @class */ (function () {
|
|
|
1440
1463
|
case 'ctrlLeft':
|
|
1441
1464
|
case 'shiftLeft':
|
|
1442
1465
|
case 'csLeft':
|
|
1466
|
+
case 'tab':
|
|
1467
|
+
case 'shiftTab':
|
|
1443
1468
|
case 'esc':
|
|
1444
1469
|
case 'del':
|
|
1445
1470
|
case 'shiftdel':
|
|
@@ -1449,6 +1474,8 @@ var DetailsView = /** @class */ (function () {
|
|
|
1449
1474
|
case 'f2':
|
|
1450
1475
|
case 'moveDown':
|
|
1451
1476
|
case 'moveUp':
|
|
1477
|
+
case 'moveLeft':
|
|
1478
|
+
case 'moveRight':
|
|
1452
1479
|
case 'ctrlD':
|
|
1453
1480
|
e.preventDefault();
|
|
1454
1481
|
break;
|
|
@@ -1531,12 +1558,18 @@ var DetailsView = /** @class */ (function () {
|
|
|
1531
1558
|
break;
|
|
1532
1559
|
case 'ctrlHome':
|
|
1533
1560
|
case 'tab':
|
|
1561
|
+
case 'shiftTab':
|
|
1534
1562
|
if (!isNOU(gridItems[0])) {
|
|
1535
1563
|
if (!this.parent.allowMultiSelection && e.action === 'ctrlHome') {
|
|
1536
1564
|
this.gridObj.selectRow(0);
|
|
1537
1565
|
}
|
|
1538
|
-
else if (
|
|
1539
|
-
|
|
1566
|
+
else if (e.action === 'shiftTab') {
|
|
1567
|
+
this.handleReverseTabNavigation(e);
|
|
1568
|
+
}
|
|
1569
|
+
else if (e.action === 'tab') {
|
|
1570
|
+
this.isTabKeypressed = true;
|
|
1571
|
+
this.addHeaderFocus(e);
|
|
1572
|
+
this.isTabKeypressed = false;
|
|
1540
1573
|
}
|
|
1541
1574
|
else {
|
|
1542
1575
|
this.addHeaderFocus(e);
|
|
@@ -1606,6 +1639,10 @@ var DetailsView = /** @class */ (function () {
|
|
|
1606
1639
|
case 'moveDown':
|
|
1607
1640
|
this.moveFunction(gridItems, e, selIndex);
|
|
1608
1641
|
break;
|
|
1642
|
+
case 'moveLeft':
|
|
1643
|
+
case 'moveRight':
|
|
1644
|
+
this.moveColumn(e);
|
|
1645
|
+
break;
|
|
1609
1646
|
case 'end':
|
|
1610
1647
|
lastItem = [getValue(this.parent.hasId ? 'id' : 'name', gridItems[gridLength - 1])];
|
|
1611
1648
|
this.parent.setProperties({ selectedItems: lastItem }, true);
|
|
@@ -1736,6 +1773,72 @@ var DetailsView = /** @class */ (function () {
|
|
|
1736
1773
|
}
|
|
1737
1774
|
this.addFocus(nextItem);
|
|
1738
1775
|
};
|
|
1776
|
+
DetailsView.prototype.moveColumn = function (e) {
|
|
1777
|
+
var focusedItem = this.getFocusedItem();
|
|
1778
|
+
if (isNOU(focusedItem)) {
|
|
1779
|
+
return;
|
|
1780
|
+
}
|
|
1781
|
+
var isHeaderFocused = focusedItem.classList.contains('e-headercell');
|
|
1782
|
+
var isRowFocused = focusedItem.classList.contains('e-row');
|
|
1783
|
+
var isCellFocused = focusedItem.classList.contains('e-rowcell');
|
|
1784
|
+
if (!isHeaderFocused && !isRowFocused && !isCellFocused) {
|
|
1785
|
+
return;
|
|
1786
|
+
}
|
|
1787
|
+
if (isHeaderFocused) {
|
|
1788
|
+
var headers = Array.from(this.element.querySelectorAll('th.e-headercell:not(.e-fe-checkbox)'));
|
|
1789
|
+
var currentIndex = headers.indexOf(focusedItem);
|
|
1790
|
+
if (currentIndex === -1) {
|
|
1791
|
+
return;
|
|
1792
|
+
}
|
|
1793
|
+
var nextIndex = this.getNextColumnIndex(currentIndex, headers.length, e.action === 'moveRight');
|
|
1794
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
1795
|
+
var headerElement = headers[nextIndex];
|
|
1796
|
+
focusedItem.setAttribute('tabindex', '-1');
|
|
1797
|
+
removeClass([focusedItem], [CLS.FOCUS, CLS.FOCUSED]);
|
|
1798
|
+
headerElement.setAttribute('tabindex', '0');
|
|
1799
|
+
headerElement.focus();
|
|
1800
|
+
addClass([headerElement], [CLS.FOCUS, CLS.FOCUSED]);
|
|
1801
|
+
}
|
|
1802
|
+
else if (isRowFocused || isCellFocused) {
|
|
1803
|
+
var row = (isRowFocused ? focusedItem : focusedItem.parentElement);
|
|
1804
|
+
if (!isRowFocused && (!row || !row.classList.contains('e-row'))) {
|
|
1805
|
+
return;
|
|
1806
|
+
}
|
|
1807
|
+
var cells = Array.from(row.querySelectorAll('.e-rowcell'));
|
|
1808
|
+
if (cells.length === 0) {
|
|
1809
|
+
return;
|
|
1810
|
+
}
|
|
1811
|
+
var currentCellIndex = this.currentColumnIndex || 0;
|
|
1812
|
+
var nextColumnIndex = this.getNextColumnIndex(currentCellIndex, cells.length, e.action === 'moveRight');
|
|
1813
|
+
this.currentColumnIndex = nextColumnIndex;
|
|
1814
|
+
if (isRowFocused) {
|
|
1815
|
+
removeClass([row], [CLS.FOCUS, CLS.FOCUSED]);
|
|
1816
|
+
row.setAttribute('tabindex', '-1');
|
|
1817
|
+
}
|
|
1818
|
+
else {
|
|
1819
|
+
removeClass([focusedItem], [CLS.FOCUS, CLS.FOCUSED]);
|
|
1820
|
+
focusedItem.setAttribute('tabindex', '-1');
|
|
1821
|
+
}
|
|
1822
|
+
this.clearCellFocus(cells);
|
|
1823
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
1824
|
+
var nextCell = cells[nextColumnIndex];
|
|
1825
|
+
nextCell.setAttribute('tabindex', '0');
|
|
1826
|
+
addClass([nextCell], [CLS.FOCUS, CLS.FOCUSED]);
|
|
1827
|
+
nextCell.focus();
|
|
1828
|
+
}
|
|
1829
|
+
};
|
|
1830
|
+
DetailsView.prototype.clearCellFocus = function (cells) {
|
|
1831
|
+
for (var i = 0; i < cells.length; i++) {
|
|
1832
|
+
cells[i].setAttribute('tabindex', '-1');
|
|
1833
|
+
removeClass([cells[i]], [CLS.FOCUS, CLS.FOCUSED]);
|
|
1834
|
+
}
|
|
1835
|
+
};
|
|
1836
|
+
DetailsView.prototype.getNextColumnIndex = function (currentIndex, maxLength, isRight) {
|
|
1837
|
+
if (isRight) {
|
|
1838
|
+
return Math.min(currentIndex + 1, maxLength - 1);
|
|
1839
|
+
}
|
|
1840
|
+
return Math.max(currentIndex - 1, 0);
|
|
1841
|
+
};
|
|
1739
1842
|
DetailsView.prototype.checkRowsKey = function (items, indexValue, focIndex, e) {
|
|
1740
1843
|
if (this.gridObj.checkAllRows === 'Uncheck' || this.gridObj.checkAllRows === 'Intermediate') {
|
|
1741
1844
|
if (e.action !== 'csHome' && e.action !== 'csEnd') {
|
|
@@ -1821,18 +1924,58 @@ var DetailsView = /** @class */ (function () {
|
|
|
1821
1924
|
if (fItem) {
|
|
1822
1925
|
fItem.removeAttribute('tabindex');
|
|
1823
1926
|
removeClass([fItem], [CLS.FOCUS, CLS.FOCUSED]);
|
|
1927
|
+
if (fItem.classList.contains('e-rowcell')) {
|
|
1928
|
+
var parentRow = fItem.parentElement;
|
|
1929
|
+
if (parentRow) {
|
|
1930
|
+
removeClass([parentRow], [CLS.FOCUS, CLS.FOCUSED]);
|
|
1931
|
+
parentRow.removeAttribute('tabindex');
|
|
1932
|
+
}
|
|
1933
|
+
}
|
|
1934
|
+
if (fItem.classList.contains('e-row')) {
|
|
1935
|
+
var focusedCells = fItem.querySelectorAll('.e-rowcell');
|
|
1936
|
+
for (var i = 0; i < focusedCells.length; i++) {
|
|
1937
|
+
if (focusedCells[i].classList.contains('e-focus') || focusedCells[i].classList.contains('e-focused')) {
|
|
1938
|
+
focusedCells[i].removeAttribute('tabindex');
|
|
1939
|
+
removeClass([focusedCells[i]], [CLS.FOCUS, CLS.FOCUSED]);
|
|
1940
|
+
}
|
|
1941
|
+
}
|
|
1942
|
+
}
|
|
1824
1943
|
}
|
|
1825
1944
|
if (!isNOU(itemElement)) {
|
|
1826
1945
|
this.gridObj.element.setAttribute('tabindex', '-1');
|
|
1827
|
-
itemElement
|
|
1828
|
-
|
|
1829
|
-
|
|
1946
|
+
var targetRow = itemElement;
|
|
1947
|
+
targetRow.setAttribute('tabindex', '0');
|
|
1948
|
+
var cells = targetRow.querySelectorAll('.e-rowcell');
|
|
1949
|
+
this.clearCellFocus(Array.from(cells));
|
|
1950
|
+
targetRow.focus();
|
|
1951
|
+
addClass([targetRow], [CLS.FOCUS, CLS.FOCUSED]);
|
|
1952
|
+
this.currentColumnIndex = 0;
|
|
1830
1953
|
}
|
|
1831
1954
|
};
|
|
1832
1955
|
DetailsView.prototype.addHeaderFocus = function (e) {
|
|
1833
1956
|
var treeFocus = select('.e-row', this.element);
|
|
1834
1957
|
this.gridObj.element.setAttribute('tabindex', '-1');
|
|
1958
|
+
var isHeaderFocused = this.getFocusedItem();
|
|
1835
1959
|
var nameFocus;
|
|
1960
|
+
var focusedRow = select('.e-row.e-focus', this.element);
|
|
1961
|
+
var gridIconCell;
|
|
1962
|
+
if (!isNOU(focusedRow) && this.isTabKeypressed) {
|
|
1963
|
+
gridIconCell = select('.e-rowcell.e-fe-grid-icon', focusedRow);
|
|
1964
|
+
}
|
|
1965
|
+
else {
|
|
1966
|
+
if (this.isTabKeypressed) {
|
|
1967
|
+
var activeCell = this.getFocusedItem();
|
|
1968
|
+
if (activeCell && activeCell.classList.contains('e-rowcell')) {
|
|
1969
|
+
gridIconCell = select('.e-rowcell.e-fe-grid-icon', activeCell.closest('.e-row'));
|
|
1970
|
+
}
|
|
1971
|
+
else {
|
|
1972
|
+
gridIconCell = select('.e-rowcell.e-fe-grid-icon', this.element);
|
|
1973
|
+
}
|
|
1974
|
+
}
|
|
1975
|
+
}
|
|
1976
|
+
if (this.tryNavigateToNextCellInRow(focusedRow, gridIconCell, isHeaderFocused)) {
|
|
1977
|
+
return;
|
|
1978
|
+
}
|
|
1836
1979
|
if (!isNOU(e.target) && e.target.classList.contains('e-defaultcursor')) {
|
|
1837
1980
|
this.addFocus(0);
|
|
1838
1981
|
nameFocus = e.target.nextElementSibling;
|
|
@@ -1854,6 +1997,147 @@ var DetailsView = /** @class */ (function () {
|
|
|
1854
1997
|
}
|
|
1855
1998
|
}
|
|
1856
1999
|
};
|
|
2000
|
+
DetailsView.prototype.tryNavigateToNextCellInRow = function (focusedRow, gridIconCell, isHeaderFocused) {
|
|
2001
|
+
if ((!isNOU(focusedRow) || !isNOU(gridIconCell)) && (!isNOU(isHeaderFocused) && !isHeaderFocused.classList.contains('e-headercell'))) {
|
|
2002
|
+
if (!isNOU(gridIconCell)) {
|
|
2003
|
+
var activeCell = this.getFocusedItem();
|
|
2004
|
+
if (activeCell && activeCell.classList.contains('e-rowcell')) {
|
|
2005
|
+
var row = activeCell.parentElement;
|
|
2006
|
+
var cells = row ? Array.from(row.querySelectorAll('.e-rowcell')) : [];
|
|
2007
|
+
var currentIndex = cells.indexOf(activeCell);
|
|
2008
|
+
var nextIndex = currentIndex + 1;
|
|
2009
|
+
if (nextIndex < cells.length) {
|
|
2010
|
+
this.currentColumnIndex = nextIndex;
|
|
2011
|
+
activeCell.setAttribute('tabindex', '-1');
|
|
2012
|
+
removeClass([activeCell], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2013
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
2014
|
+
var nextCell = cells[nextIndex];
|
|
2015
|
+
nextCell.setAttribute('tabindex', '0');
|
|
2016
|
+
addClass([nextCell], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2017
|
+
nextCell.focus();
|
|
2018
|
+
return true;
|
|
2019
|
+
}
|
|
2020
|
+
else {
|
|
2021
|
+
var currentRow = activeCell.parentElement;
|
|
2022
|
+
var rows = this.gridObj.getRows();
|
|
2023
|
+
var currentRowIndex = rows.indexOf(currentRow);
|
|
2024
|
+
if (currentRowIndex !== -1) {
|
|
2025
|
+
var nextRow = this.gridObj.getRowByIndex(currentRowIndex + 1);
|
|
2026
|
+
if (!isNOU(nextRow)) {
|
|
2027
|
+
activeCell.setAttribute('tabindex', '-1');
|
|
2028
|
+
removeClass([activeCell], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2029
|
+
this.addFocus(currentRowIndex + 1);
|
|
2030
|
+
return true;
|
|
2031
|
+
}
|
|
2032
|
+
else {
|
|
2033
|
+
activeCell.setAttribute('tabindex', '-1');
|
|
2034
|
+
removeClass([activeCell], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2035
|
+
activeCell.blur();
|
|
2036
|
+
return true;
|
|
2037
|
+
}
|
|
2038
|
+
}
|
|
2039
|
+
return false;
|
|
2040
|
+
}
|
|
2041
|
+
}
|
|
2042
|
+
var focusedRow_1 = this.getFocusedItem();
|
|
2043
|
+
if (!isNOU(focusedRow_1) && focusedRow_1.classList.contains('e-row')) {
|
|
2044
|
+
focusedRow_1.setAttribute('tabindex', '-1');
|
|
2045
|
+
removeClass([focusedRow_1], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2046
|
+
}
|
|
2047
|
+
gridIconCell.setAttribute('tabindex', '0');
|
|
2048
|
+
addClass([gridIconCell], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2049
|
+
gridIconCell.focus();
|
|
2050
|
+
return true;
|
|
2051
|
+
}
|
|
2052
|
+
}
|
|
2053
|
+
return false;
|
|
2054
|
+
};
|
|
2055
|
+
DetailsView.prototype.handleReverseTabNavigation = function (e) {
|
|
2056
|
+
e.preventDefault();
|
|
2057
|
+
var focusedItem = this.getFocusedItem();
|
|
2058
|
+
var headers = Array.from(this.element.querySelectorAll('th.e-headercell:not(.e-fe-checkbox)'));
|
|
2059
|
+
if (headers.length === 0) {
|
|
2060
|
+
return;
|
|
2061
|
+
}
|
|
2062
|
+
if (!isNOU(focusedItem) && focusedItem.classList.contains('e-rowcell')) {
|
|
2063
|
+
var row = focusedItem.parentElement;
|
|
2064
|
+
var cells = row ? Array.from(row.querySelectorAll('.e-rowcell:not(.e-gridchkbox)')) : [];
|
|
2065
|
+
var currentTargetIndex = cells.indexOf(focusedItem);
|
|
2066
|
+
var prevIndex = currentTargetIndex - 1;
|
|
2067
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
2068
|
+
var targetElement = prevIndex >= 0 ? cells[prevIndex] : row;
|
|
2069
|
+
focusedItem.setAttribute('tabindex', '-1');
|
|
2070
|
+
removeClass([focusedItem], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2071
|
+
targetElement.setAttribute('tabindex', '0');
|
|
2072
|
+
addClass([targetElement], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2073
|
+
targetElement.focus();
|
|
2074
|
+
return;
|
|
2075
|
+
}
|
|
2076
|
+
if (!isNOU(focusedItem) && focusedItem.classList.contains('e-row')) {
|
|
2077
|
+
var rows = this.gridObj.getRows();
|
|
2078
|
+
var currentRowIndex = rows.indexOf(focusedItem);
|
|
2079
|
+
if (currentRowIndex > 0) {
|
|
2080
|
+
var previousRow = rows[currentRowIndex - 1];
|
|
2081
|
+
var previousRowCells = Array.from(previousRow.querySelectorAll('.e-rowcell:not(.e-gridchkbox)'));
|
|
2082
|
+
var lastCell = previousRowCells[previousRowCells.length - 1];
|
|
2083
|
+
focusedItem.setAttribute('tabindex', '-1');
|
|
2084
|
+
removeClass([focusedItem], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2085
|
+
lastCell.setAttribute('tabindex', '0');
|
|
2086
|
+
addClass([lastCell], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2087
|
+
lastCell.focus();
|
|
2088
|
+
return;
|
|
2089
|
+
}
|
|
2090
|
+
focusedItem.setAttribute('tabindex', '-1');
|
|
2091
|
+
removeClass([focusedItem], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2092
|
+
this.moveFocusToHeader(headers[headers.length - 1]);
|
|
2093
|
+
return;
|
|
2094
|
+
}
|
|
2095
|
+
if (!isNOU(focusedItem) && focusedItem.classList.contains('e-headercell')) {
|
|
2096
|
+
var currentIndex = headers.indexOf(focusedItem);
|
|
2097
|
+
if (currentIndex > 0) {
|
|
2098
|
+
this.moveFocusToHeader(headers[currentIndex - 1]);
|
|
2099
|
+
}
|
|
2100
|
+
else if (currentIndex === 0) {
|
|
2101
|
+
this.clearDetailsFocus();
|
|
2102
|
+
}
|
|
2103
|
+
return;
|
|
2104
|
+
}
|
|
2105
|
+
if (!isNOU(focusedItem)) {
|
|
2106
|
+
this.moveFocusToHeader(headers[headers.length - 1]);
|
|
2107
|
+
}
|
|
2108
|
+
};
|
|
2109
|
+
DetailsView.prototype.moveFocusToHeader = function (header) {
|
|
2110
|
+
var focusedItem = this.getFocusedItem();
|
|
2111
|
+
if (!isNOU(focusedItem)) {
|
|
2112
|
+
focusedItem.setAttribute('tabindex', '-1');
|
|
2113
|
+
removeClass([focusedItem], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2114
|
+
}
|
|
2115
|
+
header.setAttribute('tabindex', '0');
|
|
2116
|
+
header.focus();
|
|
2117
|
+
addClass([header], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2118
|
+
};
|
|
2119
|
+
DetailsView.prototype.clearDetailsFocus = function () {
|
|
2120
|
+
var focusedItem = this.getFocusedItem();
|
|
2121
|
+
if (!isNOU(focusedItem)) {
|
|
2122
|
+
focusedItem.setAttribute('tabindex', '-1');
|
|
2123
|
+
removeClass([focusedItem], [CLS.FOCUS, CLS.FOCUSED]);
|
|
2124
|
+
}
|
|
2125
|
+
var breadcrumbBar = select('.' + CLS.BREADCRUMBS, this.parent.element);
|
|
2126
|
+
if (!isNOU(breadcrumbBar)) {
|
|
2127
|
+
var searchInput = breadcrumbBar.querySelector('input[aria-label="Search"]');
|
|
2128
|
+
if (!isNOU(searchInput)) {
|
|
2129
|
+
searchInput.setAttribute('tabindex', '0');
|
|
2130
|
+
searchInput.focus();
|
|
2131
|
+
}
|
|
2132
|
+
else {
|
|
2133
|
+
var lastBreadcrumb = breadcrumbBar.querySelector('.e-address-list-item:last-child');
|
|
2134
|
+
if (!isNOU(lastBreadcrumb)) {
|
|
2135
|
+
lastBreadcrumb.setAttribute('tabindex', '0');
|
|
2136
|
+
lastBreadcrumb.focus();
|
|
2137
|
+
}
|
|
2138
|
+
}
|
|
2139
|
+
}
|
|
2140
|
+
};
|
|
1857
2141
|
DetailsView.prototype.getFocusedItem = function () {
|
|
1858
2142
|
return select('.' + CLS.FOCUSED, this.element);
|
|
1859
2143
|
};
|
|
@@ -1255,7 +1255,7 @@ var LargeIconsView = /** @class */ (function () {
|
|
|
1255
1255
|
* @hidden
|
|
1256
1256
|
*/
|
|
1257
1257
|
LargeIconsView.prototype.getFirstItem = function () {
|
|
1258
|
-
return this.itemList[0];
|
|
1258
|
+
return !isNOU(this.itemList) && this.itemList.length > 0 ? this.itemList[0] : null;
|
|
1259
1259
|
};
|
|
1260
1260
|
LargeIconsView.prototype.getLastItem = function () {
|
|
1261
1261
|
return this.itemList[this.itemList.length - 1];
|