@syncfusion/ej2-navigations 17.2.55-1205479 → 17.3.14-96615
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 +898 -786
- package/README.md +163 -163
- package/dist/ej2-navigations.umd.min.js +1 -10
- package/dist/ej2-navigations.umd.min.js.map +1 -1
- package/dist/es6/ej2-navigations.es2015.js +512 -255
- package/dist/es6/ej2-navigations.es2015.js.map +1 -1
- package/dist/es6/ej2-navigations.es5.js +642 -385
- package/dist/es6/ej2-navigations.es5.js.map +1 -1
- package/dist/global/ej2-navigations.min.js +1 -10
- package/dist/global/ej2-navigations.min.js.map +1 -1
- package/dist/global/index.d.ts +0 -9
- package/dist/ts/accordion/accordion.ts +1312 -0
- package/dist/ts/common/h-scroll.ts +459 -0
- package/dist/ts/common/menu-base.ts +2131 -0
- package/dist/ts/common/v-scroll.ts +430 -0
- package/dist/ts/context-menu/context-menu.ts +119 -0
- package/dist/ts/menu/menu.ts +270 -0
- package/dist/ts/sidebar/sidebar.ts +817 -0
- package/dist/ts/tab/tab.ts +1761 -0
- package/dist/ts/toolbar/toolbar.ts +2076 -0
- package/dist/ts/treeview/treeview.ts +5050 -0
- package/helpers/e2e/index.js +3 -3
- package/license +10 -10
- package/package.json +135 -145
- package/src/accordion/accordion-model.d.ts +162 -143
- package/src/accordion/accordion.d.ts +35 -6
- package/src/accordion/accordion.js +193 -71
- package/src/common/h-scroll-model.d.ts +5 -5
- package/src/common/h-scroll.js +19 -20
- package/src/common/index.d.ts +1 -0
- package/src/common/index.js +1 -0
- package/src/common/menu-base-model.d.ts +157 -157
- package/src/common/menu-base.d.ts +19 -0
- package/src/common/menu-base.js +97 -24
- package/src/common/v-scroll-model.d.ts +5 -5
- package/src/common/v-scroll.js +19 -19
- package/src/context-menu/context-menu-model.d.ts +15 -15
- package/src/context-menu/context-menu.js +19 -19
- package/src/menu/menu-model.d.ts +30 -30
- package/src/menu/menu.js +19 -19
- package/src/sidebar/sidebar-model.d.ts +136 -136
- package/src/sidebar/sidebar.js +19 -19
- package/src/tab/tab-model.d.ts +215 -215
- package/src/tab/tab.d.ts +3 -0
- package/src/tab/tab.js +120 -83
- package/src/toolbar/toolbar-model.d.ts +175 -175
- package/src/toolbar/toolbar.d.ts +2 -1
- package/src/toolbar/toolbar.js +30 -24
- package/src/treeview/treeview-model.d.ts +323 -323
- package/src/treeview/treeview.d.ts +3 -1
- package/src/treeview/treeview.js +107 -87
- package/styles/accordion/_all.scss +2 -2
- package/styles/accordion/_bootstrap-dark-definition.scss +69 -69
- package/styles/accordion/_bootstrap-definition.scss +76 -76
- package/styles/accordion/_bootstrap4-definition.scss +82 -82
- package/styles/accordion/_fabric-dark-definition.scss +74 -74
- package/styles/accordion/_fabric-definition.scss +78 -78
- package/styles/accordion/_highcontrast-definition.scss +106 -106
- package/styles/accordion/_highcontrast-light-definition.scss +104 -104
- package/styles/accordion/_layout.scss +447 -447
- package/styles/accordion/_material-dark-definition.scss +75 -75
- package/styles/accordion/_material-definition.scss +72 -72
- package/styles/accordion/_theme.scss +479 -479
- package/styles/accordion/icons/_bootstrap-dark.scss +17 -17
- package/styles/accordion/icons/_bootstrap.scss +17 -17
- package/styles/accordion/icons/_bootstrap4.scss +17 -17
- package/styles/accordion/icons/_fabric-dark.scss +17 -17
- package/styles/accordion/icons/_fabric.scss +17 -17
- package/styles/accordion/icons/_highcontrast-light.scss +17 -17
- package/styles/accordion/icons/_highcontrast.scss +17 -17
- package/styles/accordion/icons/_material-dark.scss +17 -17
- package/styles/accordion/icons/_material.scss +17 -17
- package/styles/accordion/material-dark.css +2 -2
- package/styles/bootstrap-dark.css +10 -9
- package/styles/bootstrap.css +10 -9
- package/styles/bootstrap4.css +10 -9
- package/styles/bootstrap5-dark.css +0 -0
- package/styles/bootstrap5-dark.scss +0 -0
- package/styles/bootstrap5.css +0 -0
- package/styles/bootstrap5.scss +0 -0
- package/styles/context-menu/_all.scss +2 -2
- package/styles/context-menu/_bootstrap-dark-definition.scss +54 -54
- package/styles/context-menu/_bootstrap-definition.scss +52 -52
- package/styles/context-menu/_bootstrap4-definition.scss +52 -52
- package/styles/context-menu/_fabric-dark-definition.scss +54 -54
- package/styles/context-menu/_fabric-definition.scss +52 -52
- package/styles/context-menu/_highcontrast-definition.scss +52 -52
- package/styles/context-menu/_highcontrast-light-definition.scss +54 -54
- package/styles/context-menu/_layout-mixin.scss +175 -174
- package/styles/context-menu/_layout.scss +70 -70
- package/styles/context-menu/_material-dark-definition.scss +54 -54
- package/styles/context-menu/_material-definition.scss +52 -52
- package/styles/context-menu/_theme-mixin.scss +59 -59
- package/styles/context-menu/_theme.scss +36 -36
- package/styles/context-menu/bootstrap-dark.css +1 -1
- package/styles/context-menu/bootstrap.css +1 -1
- package/styles/context-menu/bootstrap4.css +1 -1
- package/styles/context-menu/fabric-dark.css +1 -1
- package/styles/context-menu/fabric.css +1 -1
- package/styles/context-menu/highcontrast-light.css +1 -1
- package/styles/context-menu/highcontrast.css +1 -1
- package/styles/context-menu/icons/_bootstrap-dark.scss +30 -30
- package/styles/context-menu/icons/_bootstrap.scss +30 -30
- package/styles/context-menu/icons/_bootstrap4.scss +30 -30
- package/styles/context-menu/icons/_fabric-dark.scss +30 -30
- package/styles/context-menu/icons/_fabric.scss +30 -30
- package/styles/context-menu/icons/_highcontrast-light.scss +30 -30
- package/styles/context-menu/icons/_highcontrast.scss +30 -30
- package/styles/context-menu/icons/_material-dark.scss +30 -30
- package/styles/context-menu/icons/_material.scss +30 -30
- package/styles/context-menu/material-dark.css +1 -1
- package/styles/context-menu/material.css +4 -4
- package/styles/fabric-dark.css +10 -9
- package/styles/fabric.css +10 -9
- package/styles/h-scroll/_all.scss +2 -2
- package/styles/h-scroll/_bootstrap-dark-definition.scss +49 -49
- package/styles/h-scroll/_bootstrap-definition.scss +50 -50
- package/styles/h-scroll/_bootstrap4-definition.scss +49 -49
- package/styles/h-scroll/_fabric-dark-definition.scss +50 -50
- package/styles/h-scroll/_fabric-definition.scss +48 -48
- package/styles/h-scroll/_highcontrast-definition.scss +52 -52
- package/styles/h-scroll/_highcontrast-light-definition.scss +54 -54
- package/styles/h-scroll/_layout.scss +198 -198
- package/styles/h-scroll/_material-dark-definition.scss +77 -77
- package/styles/h-scroll/_material-definition.scss +77 -77
- package/styles/h-scroll/_theme.scss +157 -157
- package/styles/h-scroll/icons/_bootstrap-dark.scss +49 -49
- package/styles/h-scroll/icons/_bootstrap.scss +49 -49
- package/styles/h-scroll/icons/_bootstrap4.scss +49 -49
- package/styles/h-scroll/icons/_fabric-dark.scss +49 -49
- package/styles/h-scroll/icons/_fabric.scss +49 -49
- package/styles/h-scroll/icons/_highcontrast-light.scss +49 -49
- package/styles/h-scroll/icons/_highcontrast.scss +49 -49
- package/styles/h-scroll/icons/_material-dark.scss +49 -49
- package/styles/h-scroll/icons/_material.scss +49 -49
- package/styles/highcontrast-light.css +10 -9
- package/styles/highcontrast.css +10 -9
- package/styles/material-dark.css +12 -11
- package/styles/material.css +24 -14
- package/styles/menu/_all.scss +2 -2
- package/styles/menu/_bootstrap-dark-definition.scss +63 -63
- package/styles/menu/_bootstrap-definition.scss +65 -65
- package/styles/menu/_bootstrap4-definition.scss +64 -64
- package/styles/menu/_fabric-dark-definition.scss +63 -63
- package/styles/menu/_fabric-definition.scss +64 -64
- package/styles/menu/_highcontrast-definition.scss +65 -65
- package/styles/menu/_highcontrast-light-definition.scss +61 -61
- package/styles/menu/_layout.scss +638 -637
- package/styles/menu/_material-dark-definition.scss +63 -63
- package/styles/menu/_material-definition.scss +64 -64
- package/styles/menu/_theme.scss +243 -243
- package/styles/menu/bootstrap-dark.css +2 -1
- package/styles/menu/bootstrap.css +2 -1
- package/styles/menu/bootstrap.scss +1 -0
- package/styles/menu/bootstrap4.css +2 -1
- package/styles/menu/fabric-dark.css +2 -1
- package/styles/menu/fabric.css +2 -1
- package/styles/menu/fabric.scss +1 -0
- package/styles/menu/highcontrast-light.css +2 -1
- package/styles/menu/highcontrast.css +2 -1
- package/styles/menu/highcontrast.scss +1 -0
- package/styles/menu/icons/_bootstrap-dark.scss +127 -127
- package/styles/menu/icons/_bootstrap.scss +127 -127
- package/styles/menu/icons/_bootstrap4.scss +127 -127
- package/styles/menu/icons/_fabric-dark.scss +127 -127
- package/styles/menu/icons/_fabric.scss +127 -127
- package/styles/menu/icons/_highcontrast-light.scss +127 -127
- package/styles/menu/icons/_highcontrast.scss +127 -127
- package/styles/menu/icons/_material-dark.scss +127 -127
- package/styles/menu/icons/_material.scss +127 -127
- package/styles/menu/material-dark.css +2 -1
- package/styles/menu/material.css +4 -3
- package/styles/menu/material.scss +1 -0
- package/styles/sidebar/_all.scss +3 -3
- package/styles/sidebar/_bootstrap-dark-definition.scss +4 -4
- package/styles/sidebar/_bootstrap-definition.scss +4 -4
- package/styles/sidebar/_bootstrap4-definition.scss +4 -4
- package/styles/sidebar/_fabric-dark-definition.scss +4 -4
- package/styles/sidebar/_fabric-definition.scss +6 -6
- package/styles/sidebar/_highcontrast-definition.scss +4 -4
- package/styles/sidebar/_highcontrast-light-definition.scss +4 -4
- package/styles/sidebar/_icons.scss +1 -1
- package/styles/sidebar/_material-dark-definition.scss +4 -4
- package/styles/sidebar/_material-definition.scss +6 -6
- package/styles/sidebar/_theme.scss +168 -168
- package/styles/sidebar/bootstrap-dark.css +0 -1
- package/styles/sidebar/bootstrap.css +0 -1
- package/styles/sidebar/bootstrap4.css +0 -1
- package/styles/sidebar/fabric-dark.css +0 -1
- package/styles/sidebar/fabric.css +0 -1
- package/styles/sidebar/highcontrast-light.css +0 -1
- package/styles/sidebar/highcontrast.css +0 -1
- package/styles/sidebar/material-dark.css +0 -1
- package/styles/sidebar/material.css +0 -1
- package/styles/tab/_all.scss +2 -2
- package/styles/tab/_bootstrap-dark-definition.scss +386 -386
- package/styles/tab/_bootstrap-definition.scss +396 -396
- package/styles/tab/_bootstrap4-definition.scss +401 -401
- package/styles/tab/_fabric-dark-definition.scss +394 -394
- package/styles/tab/_fabric-definition.scss +410 -410
- package/styles/tab/_highcontrast-definition.scss +434 -434
- package/styles/tab/_highcontrast-light-definition.scss +423 -423
- package/styles/tab/_icons.scss +43 -43
- package/styles/tab/_layout.scss +3528 -3521
- package/styles/tab/_material-dark-definition.scss +407 -407
- package/styles/tab/_material-definition.scss +416 -416
- package/styles/tab/_theme.scss +1751 -1751
- package/styles/tab/bootstrap-dark.css +7 -2
- package/styles/tab/bootstrap.css +7 -2
- package/styles/tab/bootstrap4.css +7 -2
- package/styles/tab/fabric-dark.css +7 -2
- package/styles/tab/fabric.css +7 -2
- package/styles/tab/highcontrast-light.css +7 -2
- package/styles/tab/highcontrast.css +7 -2
- package/styles/tab/icons/_bootstrap-dark.scss +132 -132
- package/styles/tab/icons/_bootstrap.scss +132 -132
- package/styles/tab/icons/_bootstrap4.scss +132 -132
- package/styles/tab/icons/_fabric-dark.scss +132 -132
- package/styles/tab/icons/_fabric.scss +132 -132
- package/styles/tab/icons/_highcontrast-light.scss +132 -132
- package/styles/tab/icons/_highcontrast.scss +132 -132
- package/styles/tab/icons/_material-dark.scss +132 -132
- package/styles/tab/icons/_material.scss +132 -132
- package/styles/tab/material-dark.css +7 -2
- package/styles/tab/material.css +7 -2
- package/styles/tailwind-dark.css +0 -0
- package/styles/tailwind-dark.scss +0 -0
- package/styles/tailwind.css +0 -0
- package/styles/tailwind.scss +0 -0
- package/styles/toolbar/_all.scss +2 -2
- package/styles/toolbar/_bootstrap-dark-definition.scss +135 -135
- package/styles/toolbar/_bootstrap-definition.scss +134 -134
- package/styles/toolbar/_bootstrap4-definition.scss +139 -139
- package/styles/toolbar/_fabric-dark-definition.scss +155 -155
- package/styles/toolbar/_fabric-definition.scss +139 -139
- package/styles/toolbar/_highcontrast-definition.scss +149 -149
- package/styles/toolbar/_highcontrast-light-definition.scss +164 -164
- package/styles/toolbar/_layout.scss +1460 -1460
- package/styles/toolbar/_material-dark-definition.scss +180 -180
- package/styles/toolbar/_material-definition.scss +164 -164
- package/styles/toolbar/_theme.scss +451 -451
- package/styles/toolbar/bootstrap-dark.css +0 -1
- package/styles/toolbar/bootstrap.css +0 -1
- package/styles/toolbar/bootstrap.scss +1 -0
- package/styles/toolbar/bootstrap4.css +0 -1
- package/styles/toolbar/fabric-dark.css +0 -1
- package/styles/toolbar/fabric.css +0 -1
- package/styles/toolbar/fabric.scss +1 -0
- package/styles/toolbar/highcontrast-light.css +0 -1
- package/styles/toolbar/highcontrast.css +0 -1
- package/styles/toolbar/highcontrast.scss +1 -0
- package/styles/toolbar/icons/_bootstrap-dark.scss +16 -16
- package/styles/toolbar/icons/_bootstrap.scss +16 -16
- package/styles/toolbar/icons/_bootstrap4.scss +16 -16
- package/styles/toolbar/icons/_fabric-dark.scss +16 -16
- package/styles/toolbar/icons/_fabric.scss +16 -16
- package/styles/toolbar/icons/_highcontrast-light.scss +16 -16
- package/styles/toolbar/icons/_highcontrast.scss +16 -16
- package/styles/toolbar/icons/_material-dark.scss +16 -16
- package/styles/toolbar/icons/_material.scss +16 -16
- package/styles/toolbar/material-dark.css +0 -1
- package/styles/toolbar/material.css +0 -1
- package/styles/toolbar/material.scss +1 -0
- package/styles/treeview/_all.scss +2 -2
- package/styles/treeview/_bootstrap-dark-definition.scss +131 -131
- package/styles/treeview/_bootstrap-definition.scss +127 -127
- package/styles/treeview/_bootstrap4-definition.scss +153 -153
- package/styles/treeview/_fabric-dark-definition.scss +130 -130
- package/styles/treeview/_fabric-definition.scss +126 -126
- package/styles/treeview/_highcontrast-definition.scss +132 -132
- package/styles/treeview/_highcontrast-light-definition.scss +137 -137
- package/styles/treeview/_layout.scss +551 -551
- package/styles/treeview/_material-dark-definition.scss +126 -126
- package/styles/treeview/_material-definition.scss +126 -126
- package/styles/treeview/_theme.scss +331 -331
- package/styles/treeview/bootstrap-dark.css +0 -3
- package/styles/treeview/bootstrap.css +0 -3
- package/styles/treeview/bootstrap4.css +0 -3
- package/styles/treeview/fabric-dark.css +0 -3
- package/styles/treeview/fabric.css +0 -3
- package/styles/treeview/highcontrast-light.css +0 -3
- package/styles/treeview/highcontrast.css +0 -3
- package/styles/treeview/icons/_bootstrap-dark.scss +39 -39
- package/styles/treeview/icons/_bootstrap.scss +39 -39
- package/styles/treeview/icons/_bootstrap4.scss +39 -39
- package/styles/treeview/icons/_fabric-dark.scss +43 -43
- package/styles/treeview/icons/_fabric.scss +43 -43
- package/styles/treeview/icons/_highcontrast-light.scss +43 -43
- package/styles/treeview/icons/_highcontrast.scss +43 -43
- package/styles/treeview/icons/_material-dark.scss +43 -43
- package/styles/treeview/icons/_material.scss +43 -43
- package/styles/treeview/material-dark.css +0 -3
- package/styles/treeview/material.css +9 -3
- package/styles/v-scroll/_all.scss +2 -2
- package/styles/v-scroll/_bootstrap-dark-definition.scss +50 -50
- package/styles/v-scroll/_bootstrap-definition.scss +49 -49
- package/styles/v-scroll/_bootstrap4-definition.scss +49 -49
- package/styles/v-scroll/_fabric-dark-definition.scss +51 -51
- package/styles/v-scroll/_fabric-definition.scss +50 -50
- package/styles/v-scroll/_highcontrast-definition.scss +51 -51
- package/styles/v-scroll/_highcontrast-light-definition.scss +52 -52
- package/styles/v-scroll/_layout.scss +162 -162
- package/styles/v-scroll/_material-dark-definition.scss +78 -78
- package/styles/v-scroll/_material-definition.scss +77 -77
- package/styles/v-scroll/_theme.scss +133 -133
- package/styles/v-scroll/icons/_bootstrap-dark.scss +26 -26
- package/styles/v-scroll/icons/_bootstrap.scss +26 -26
- package/styles/v-scroll/icons/_bootstrap4.scss +26 -26
- package/styles/v-scroll/icons/_fabric-dark.scss +26 -26
- package/styles/v-scroll/icons/_fabric.scss +26 -26
- package/styles/v-scroll/icons/_highcontrast-light.scss +26 -26
- package/styles/v-scroll/icons/_highcontrast.scss +26 -26
- package/styles/v-scroll/icons/_material-dark.scss +26 -26
- package/styles/v-scroll/icons/_material.scss +26 -26
- package/tslint.json +111 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Property, ChildProperty, NotifyPropertyChanges, INotifyPropertyChanged, AnimationModel } from '@syncfusion/ej2-base';
|
|
1
|
+
import { Component, Property, ChildProperty, NotifyPropertyChanges, INotifyPropertyChanged, AnimationModel } from '@syncfusion/ej2-base';
|
|
2
2
|
import {MenuEffect,MenuEventArgs,BeforeOpenCloseMenuEventArgs,OpenCloseMenuEventArgs} from "./menu-base";
|
|
3
3
|
import {ComponentModel} from '@syncfusion/ej2-base';
|
|
4
4
|
|
|
@@ -8,46 +8,46 @@ import {ComponentModel} from '@syncfusion/ej2-base';
|
|
|
8
8
|
export interface FieldSettingsModel {
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Specifies the itemId field for Menu item.
|
|
12
|
-
* @default 'id'
|
|
13
|
-
*/
|
|
14
|
-
itemId?: string | string[];
|
|
11
|
+
* Specifies the itemId field for Menu item.
|
|
12
|
+
* @default 'id'
|
|
13
|
+
*/
|
|
14
|
+
itemId?: string | string[];
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* Specifies the parentId field for Menu item.
|
|
18
|
-
* @default 'parentId'
|
|
19
|
-
*/
|
|
20
|
-
parentId?: string | string[];
|
|
17
|
+
* Specifies the parentId field for Menu item.
|
|
18
|
+
* @default 'parentId'
|
|
19
|
+
*/
|
|
20
|
+
parentId?: string | string[];
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* Specifies the text field for Menu item.
|
|
24
|
-
* @default 'text'
|
|
25
|
-
*/
|
|
26
|
-
text?: string | string[];
|
|
23
|
+
* Specifies the text field for Menu item.
|
|
24
|
+
* @default 'text'
|
|
25
|
+
*/
|
|
26
|
+
text?: string | string[];
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* Specifies the css icon field for Menu item.
|
|
30
|
-
* @default 'iconCss'
|
|
31
|
-
*/
|
|
32
|
-
iconCss?: string | string[];
|
|
29
|
+
* Specifies the css icon field for Menu item.
|
|
30
|
+
* @default 'iconCss'
|
|
31
|
+
*/
|
|
32
|
+
iconCss?: string | string[];
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
|
-
* Specifies the Url field for Menu item.
|
|
36
|
-
* @default 'url'
|
|
37
|
-
*/
|
|
38
|
-
url?: string | string[];
|
|
35
|
+
* Specifies the Url field for Menu item.
|
|
36
|
+
* @default 'url'
|
|
37
|
+
*/
|
|
38
|
+
url?: string | string[];
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
|
-
* Specifies the separator field for Menu item.
|
|
42
|
-
* @default 'separator'
|
|
43
|
-
*/
|
|
44
|
-
separator?: string | string[];
|
|
41
|
+
* Specifies the separator field for Menu item.
|
|
42
|
+
* @default 'separator'
|
|
43
|
+
*/
|
|
44
|
+
separator?: string | string[];
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
|
-
* Specifies the children field for Menu item.
|
|
48
|
-
* @default 'items'
|
|
49
|
-
*/
|
|
50
|
-
children?: string | string[];
|
|
47
|
+
* Specifies the children field for Menu item.
|
|
48
|
+
* @default 'items'
|
|
49
|
+
*/
|
|
50
|
+
children?: string | string[];
|
|
51
51
|
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -57,41 +57,41 @@ export interface FieldSettingsModel {
|
|
|
57
57
|
export interface MenuItemModel {
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
|
-
* Defines class/multiple classes separated by a space for the menu Item that is used to include an icon.
|
|
61
|
-
* Menu Item can include font icon and sprite image.
|
|
62
|
-
* @default null
|
|
63
|
-
*/
|
|
64
|
-
iconCss?: string;
|
|
60
|
+
* Defines class/multiple classes separated by a space for the menu Item that is used to include an icon.
|
|
61
|
+
* Menu Item can include font icon and sprite image.
|
|
62
|
+
* @default null
|
|
63
|
+
*/
|
|
64
|
+
iconCss?: string;
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
|
-
* Specifies the id for menu item.
|
|
68
|
-
* @default ''
|
|
69
|
-
*/
|
|
70
|
-
id?: string;
|
|
67
|
+
* Specifies the id for menu item.
|
|
68
|
+
* @default ''
|
|
69
|
+
*/
|
|
70
|
+
id?: string;
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
|
-
* Specifies separator between the menu items. Separator are either horizontal or vertical lines used to group menu items.
|
|
74
|
-
* @default false
|
|
75
|
-
*/
|
|
76
|
-
separator?: boolean;
|
|
73
|
+
* Specifies separator between the menu items. Separator are either horizontal or vertical lines used to group menu items.
|
|
74
|
+
* @default false
|
|
75
|
+
*/
|
|
76
|
+
separator?: boolean;
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
|
-
* Specifies the sub menu items that is the array of MenuItem model.
|
|
80
|
-
* @default []
|
|
81
|
-
*/
|
|
82
|
-
items?: MenuItemModel[];
|
|
79
|
+
* Specifies the sub menu items that is the array of MenuItem model.
|
|
80
|
+
* @default []
|
|
81
|
+
*/
|
|
82
|
+
items?: MenuItemModel[];
|
|
83
83
|
|
|
84
84
|
/**
|
|
85
|
-
* Specifies text for menu item.
|
|
86
|
-
* @default ''
|
|
87
|
-
*/
|
|
88
|
-
text?: string;
|
|
85
|
+
* Specifies text for menu item.
|
|
86
|
+
* @default ''
|
|
87
|
+
*/
|
|
88
|
+
text?: string;
|
|
89
89
|
|
|
90
90
|
/**
|
|
91
|
-
* Specifies url for menu item that creates the anchor link to navigate to the url provided.
|
|
92
|
-
* @default ''
|
|
93
|
-
*/
|
|
94
|
-
url?: string;
|
|
91
|
+
* Specifies url for menu item that creates the anchor link to navigate to the url provided.
|
|
92
|
+
* @default ''
|
|
93
|
+
*/
|
|
94
|
+
url?: string;
|
|
95
95
|
|
|
96
96
|
}
|
|
97
97
|
|
|
@@ -101,30 +101,30 @@ export interface MenuItemModel {
|
|
|
101
101
|
export interface MenuAnimationSettingsModel {
|
|
102
102
|
|
|
103
103
|
/**
|
|
104
|
-
* Specifies the effect that shown in the sub menu transform.
|
|
105
|
-
* The possible effects are:
|
|
106
|
-
* * None: Specifies the sub menu transform with no animation effect.
|
|
107
|
-
* * SlideDown: Specifies the sub menu transform with slide down effect.
|
|
108
|
-
* * ZoomIn: Specifies the sub menu transform with zoom in effect.
|
|
109
|
-
* * FadeIn: Specifies the sub menu transform with fade in effect.
|
|
110
|
-
* @default 'SlideDown'
|
|
111
|
-
* @aspType Syncfusion.EJ2.Navigations.MenuEffect
|
|
112
|
-
* @blazorType Syncfusion.EJ2.Navigations.MenuEffect
|
|
113
|
-
* @isEnumeration true
|
|
114
|
-
*/
|
|
115
|
-
effect?: MenuEffect;
|
|
104
|
+
* Specifies the effect that shown in the sub menu transform.
|
|
105
|
+
* The possible effects are:
|
|
106
|
+
* * None: Specifies the sub menu transform with no animation effect.
|
|
107
|
+
* * SlideDown: Specifies the sub menu transform with slide down effect.
|
|
108
|
+
* * ZoomIn: Specifies the sub menu transform with zoom in effect.
|
|
109
|
+
* * FadeIn: Specifies the sub menu transform with fade in effect.
|
|
110
|
+
* @default 'SlideDown'
|
|
111
|
+
* @aspType Syncfusion.EJ2.Navigations.MenuEffect
|
|
112
|
+
* @blazorType Syncfusion.EJ2.Navigations.MenuEffect
|
|
113
|
+
* @isEnumeration true
|
|
114
|
+
*/
|
|
115
|
+
effect?: MenuEffect;
|
|
116
116
|
|
|
117
117
|
/**
|
|
118
|
-
* Specifies the time duration to transform object.
|
|
119
|
-
* @default 400
|
|
120
|
-
*/
|
|
121
|
-
duration?: number;
|
|
118
|
+
* Specifies the time duration to transform object.
|
|
119
|
+
* @default 400
|
|
120
|
+
*/
|
|
121
|
+
duration?: number;
|
|
122
122
|
|
|
123
123
|
/**
|
|
124
|
-
* Specifies the easing effect applied while transform.
|
|
125
|
-
* @default 'ease'
|
|
126
|
-
*/
|
|
127
|
-
easing?: string;
|
|
124
|
+
* Specifies the easing effect applied while transform.
|
|
125
|
+
* @default 'ease'
|
|
126
|
+
*/
|
|
127
|
+
easing?: string;
|
|
128
128
|
|
|
129
129
|
}
|
|
130
130
|
|
|
@@ -135,118 +135,118 @@ export interface MenuAnimationSettingsModel {
|
|
|
135
135
|
export interface MenuBaseModel extends ComponentModel{
|
|
136
136
|
|
|
137
137
|
/**
|
|
138
|
-
* Triggers while rendering each menu item.
|
|
139
|
-
* @event
|
|
140
|
-
* @blazorProperty 'OnItemRender'
|
|
141
|
-
*/
|
|
142
|
-
beforeItemRender?: EmitType<MenuEventArgs>;
|
|
138
|
+
* Triggers while rendering each menu item.
|
|
139
|
+
* @event
|
|
140
|
+
* @blazorProperty 'OnItemRender'
|
|
141
|
+
*/
|
|
142
|
+
beforeItemRender?: EmitType<MenuEventArgs>;
|
|
143
143
|
|
|
144
144
|
/**
|
|
145
|
-
* Triggers before opening the menu item.
|
|
146
|
-
* @event
|
|
147
|
-
* @blazorProperty 'OnOpen'
|
|
148
|
-
*/
|
|
149
|
-
beforeOpen?: EmitType<BeforeOpenCloseMenuEventArgs>;
|
|
145
|
+
* Triggers before opening the menu item.
|
|
146
|
+
* @event
|
|
147
|
+
* @blazorProperty 'OnOpen'
|
|
148
|
+
*/
|
|
149
|
+
beforeOpen?: EmitType<BeforeOpenCloseMenuEventArgs>;
|
|
150
150
|
|
|
151
151
|
/**
|
|
152
|
-
* Triggers while opening the menu item.
|
|
153
|
-
* @event
|
|
154
|
-
* @blazorProperty 'Opened'
|
|
155
|
-
*/
|
|
156
|
-
onOpen?: EmitType<OpenCloseMenuEventArgs>;
|
|
152
|
+
* Triggers while opening the menu item.
|
|
153
|
+
* @event
|
|
154
|
+
* @blazorProperty 'Opened'
|
|
155
|
+
*/
|
|
156
|
+
onOpen?: EmitType<OpenCloseMenuEventArgs>;
|
|
157
157
|
|
|
158
158
|
/**
|
|
159
|
-
* Triggers before closing the menu.
|
|
160
|
-
* @event
|
|
161
|
-
* @blazorProperty 'OnClose'
|
|
162
|
-
*/
|
|
163
|
-
beforeClose?: EmitType<BeforeOpenCloseMenuEventArgs>;
|
|
159
|
+
* Triggers before closing the menu.
|
|
160
|
+
* @event
|
|
161
|
+
* @blazorProperty 'OnClose'
|
|
162
|
+
*/
|
|
163
|
+
beforeClose?: EmitType<BeforeOpenCloseMenuEventArgs>;
|
|
164
164
|
|
|
165
165
|
/**
|
|
166
|
-
* Triggers while closing the menu.
|
|
167
|
-
* @event
|
|
168
|
-
* @blazorProperty 'Closed'
|
|
169
|
-
*/
|
|
170
|
-
onClose?: EmitType<OpenCloseMenuEventArgs>;
|
|
166
|
+
* Triggers while closing the menu.
|
|
167
|
+
* @event
|
|
168
|
+
* @blazorProperty 'Closed'
|
|
169
|
+
*/
|
|
170
|
+
onClose?: EmitType<OpenCloseMenuEventArgs>;
|
|
171
171
|
|
|
172
172
|
/**
|
|
173
|
-
* Triggers while selecting menu item.
|
|
174
|
-
* @event
|
|
175
|
-
* @blazorProperty 'ItemSelected'
|
|
176
|
-
*/
|
|
177
|
-
select?: EmitType<MenuEventArgs>;
|
|
173
|
+
* Triggers while selecting menu item.
|
|
174
|
+
* @event
|
|
175
|
+
* @blazorProperty 'ItemSelected'
|
|
176
|
+
*/
|
|
177
|
+
select?: EmitType<MenuEventArgs>;
|
|
178
178
|
|
|
179
179
|
/**
|
|
180
|
-
* Triggers once the component rendering is completed.
|
|
181
|
-
* @event
|
|
182
|
-
* @blazorProperty 'Created'
|
|
183
|
-
*/
|
|
184
|
-
created?: EmitType<Event>;
|
|
180
|
+
* Triggers once the component rendering is completed.
|
|
181
|
+
* @event
|
|
182
|
+
* @blazorProperty 'Created'
|
|
183
|
+
*/
|
|
184
|
+
created?: EmitType<Event>;
|
|
185
185
|
|
|
186
186
|
/**
|
|
187
|
-
* Defines class/multiple classes separated by a space in the Menu wrapper.
|
|
188
|
-
* @default ''
|
|
189
|
-
*/
|
|
190
|
-
cssClass?: string;
|
|
187
|
+
* Defines class/multiple classes separated by a space in the Menu wrapper.
|
|
188
|
+
* @default ''
|
|
189
|
+
*/
|
|
190
|
+
cssClass?: string;
|
|
191
191
|
|
|
192
192
|
/**
|
|
193
|
-
* Specifies whether to show the sub menu or not on click.
|
|
194
|
-
* When set to true, the sub menu will open only on mouse click.
|
|
195
|
-
* @default false
|
|
196
|
-
*/
|
|
197
|
-
showItemOnClick?: boolean;
|
|
193
|
+
* Specifies whether to show the sub menu or not on click.
|
|
194
|
+
* When set to true, the sub menu will open only on mouse click.
|
|
195
|
+
* @default false
|
|
196
|
+
*/
|
|
197
|
+
showItemOnClick?: boolean;
|
|
198
198
|
|
|
199
199
|
/**
|
|
200
|
-
* Specifies target element selector in which the ContextMenu should be opened.
|
|
201
|
-
* Specifies target element to open/close Menu while click in Hamburger mode.
|
|
202
|
-
* @default ''
|
|
203
|
-
* @private
|
|
204
|
-
*/
|
|
205
|
-
target?: string;
|
|
200
|
+
* Specifies target element selector in which the ContextMenu should be opened.
|
|
201
|
+
* Specifies target element to open/close Menu while click in Hamburger mode.
|
|
202
|
+
* @default ''
|
|
203
|
+
* @private
|
|
204
|
+
*/
|
|
205
|
+
target?: string;
|
|
206
206
|
|
|
207
207
|
/**
|
|
208
|
-
* Specifies the filter selector for elements inside the target in that the context menu will be opened.
|
|
209
|
-
* Not applicable to Menu component.
|
|
210
|
-
* @default ''
|
|
211
|
-
* @private
|
|
212
|
-
*/
|
|
213
|
-
filter?: string;
|
|
208
|
+
* Specifies the filter selector for elements inside the target in that the context menu will be opened.
|
|
209
|
+
* Not applicable to Menu component.
|
|
210
|
+
* @default ''
|
|
211
|
+
* @private
|
|
212
|
+
*/
|
|
213
|
+
filter?: string;
|
|
214
214
|
|
|
215
215
|
/**
|
|
216
|
-
* Specifies the template for Menu item.
|
|
217
|
-
* Not applicable to ContextMenu component.
|
|
218
|
-
* @default null
|
|
219
|
-
* @private
|
|
220
|
-
*/
|
|
221
|
-
template?: string;
|
|
216
|
+
* Specifies the template for Menu item.
|
|
217
|
+
* Not applicable to ContextMenu component.
|
|
218
|
+
* @default null
|
|
219
|
+
* @private
|
|
220
|
+
*/
|
|
221
|
+
template?: string;
|
|
222
222
|
|
|
223
223
|
/**
|
|
224
|
-
* Specifies whether to enable / disable the scrollable option in Menu.
|
|
225
|
-
* Not applicable to ContextMenu component.
|
|
226
|
-
* @default false
|
|
227
|
-
* @private
|
|
228
|
-
*/
|
|
229
|
-
enableScrolling?: boolean;
|
|
224
|
+
* Specifies whether to enable / disable the scrollable option in Menu.
|
|
225
|
+
* Not applicable to ContextMenu component.
|
|
226
|
+
* @default false
|
|
227
|
+
* @private
|
|
228
|
+
*/
|
|
229
|
+
enableScrolling?: boolean;
|
|
230
230
|
|
|
231
231
|
/**
|
|
232
|
-
* Specifies mapping fields from the dataSource.
|
|
233
|
-
* Not applicable to ContextMenu component.
|
|
234
|
-
* @default { itemId: "id", text: "text", parentId: "parentId", iconCss: "iconCss", url: "url", separator: "separator",
|
|
235
|
-
* children: "items" }
|
|
236
|
-
* @private
|
|
237
|
-
*/
|
|
238
|
-
fields?: FieldSettingsModel;
|
|
232
|
+
* Specifies mapping fields from the dataSource.
|
|
233
|
+
* Not applicable to ContextMenu component.
|
|
234
|
+
* @default { itemId: "id", text: "text", parentId: "parentId", iconCss: "iconCss", url: "url", separator: "separator",
|
|
235
|
+
* children: "items" }
|
|
236
|
+
* @private
|
|
237
|
+
*/
|
|
238
|
+
fields?: FieldSettingsModel;
|
|
239
239
|
|
|
240
240
|
/**
|
|
241
|
-
* Specifies menu items with its properties which will be rendered as Menu.
|
|
242
|
-
* @default []
|
|
243
|
-
*/
|
|
244
|
-
items?: MenuItemModel[] | { [key: string]: Object }[];
|
|
241
|
+
* Specifies menu items with its properties which will be rendered as Menu.
|
|
242
|
+
* @default []
|
|
243
|
+
*/
|
|
244
|
+
items?: MenuItemModel[] | { [key: string]: Object }[];
|
|
245
245
|
|
|
246
246
|
/**
|
|
247
|
-
* Specifies the animation settings for the sub menu open.
|
|
248
|
-
* @default { duration: 400, easing: 'ease', effect: 'SlideDown' }
|
|
249
|
-
*/
|
|
250
|
-
animationSettings?: MenuAnimationSettingsModel;
|
|
247
|
+
* Specifies the animation settings for the sub menu open.
|
|
248
|
+
* @default { duration: 400, easing: 'ease', effect: 'SlideDown' }
|
|
249
|
+
*/
|
|
250
|
+
animationSettings?: MenuAnimationSettingsModel;
|
|
251
251
|
|
|
252
252
|
}
|
|
@@ -45,6 +45,22 @@ export declare class FieldSettings extends ChildProperty<FieldSettings> {
|
|
|
45
45
|
*/
|
|
46
46
|
children: string | string[];
|
|
47
47
|
}
|
|
48
|
+
export interface BrowserDetails {
|
|
49
|
+
isAndroid?: boolean;
|
|
50
|
+
isDevice?: boolean;
|
|
51
|
+
isIE?: boolean;
|
|
52
|
+
isIos?: boolean;
|
|
53
|
+
isIos7?: boolean;
|
|
54
|
+
isMSPointer?: boolean;
|
|
55
|
+
isPointer?: boolean;
|
|
56
|
+
isTouch?: boolean;
|
|
57
|
+
isWebView?: boolean;
|
|
58
|
+
isWindows?: boolean;
|
|
59
|
+
touchStartEvent?: string;
|
|
60
|
+
touchMoveEvent?: string;
|
|
61
|
+
touchEndEvent?: string;
|
|
62
|
+
touchCancelEvent?: string;
|
|
63
|
+
}
|
|
48
64
|
/**
|
|
49
65
|
* Specifies menu items.
|
|
50
66
|
*/
|
|
@@ -264,6 +280,8 @@ export declare abstract class MenuBase extends Component<HTMLUListElement> imple
|
|
|
264
280
|
protected initialize(): void;
|
|
265
281
|
private renderItems;
|
|
266
282
|
protected wireEvents(): void;
|
|
283
|
+
private menuIos;
|
|
284
|
+
private getValue;
|
|
267
285
|
private wireKeyboardEvent;
|
|
268
286
|
private mouseDownHandler;
|
|
269
287
|
private keyBoardHandler;
|
|
@@ -308,6 +326,7 @@ export declare abstract class MenuBase extends Component<HTMLUListElement> imple
|
|
|
308
326
|
private getLIByClass;
|
|
309
327
|
private getItem;
|
|
310
328
|
private getItems;
|
|
329
|
+
private setItems;
|
|
311
330
|
private getIdx;
|
|
312
331
|
private getLI;
|
|
313
332
|
private isBlazor;
|
package/src/common/menu-base.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
var __extends = (this && this.__extends) || (function () {
|
|
2
|
-
var extendStatics = function (d, b) {
|
|
3
|
-
extendStatics = Object.setPrototypeOf ||
|
|
4
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
-
return extendStatics(d, b);
|
|
7
|
-
}
|
|
8
|
-
return function (d, b) {
|
|
9
|
-
extendStatics(d, b);
|
|
10
|
-
function __() { this.constructor = d; }
|
|
11
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
-
};
|
|
13
|
-
})();
|
|
14
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
-
};
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
extendStatics(d, b);
|
|
10
|
+
function __() { this.constructor = d; }
|
|
11
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
+
};
|
|
13
|
+
})();
|
|
14
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
+
};
|
|
20
20
|
import { Component, Property, ChildProperty, NotifyPropertyChanges } from '@syncfusion/ej2-base';
|
|
21
21
|
import { Event, EventHandler, KeyboardEvents, Touch } from '@syncfusion/ej2-base';
|
|
22
22
|
import { Animation } from '@syncfusion/ej2-base';
|
|
@@ -80,6 +80,17 @@ var FieldSettings = /** @class */ (function (_super) {
|
|
|
80
80
|
return FieldSettings;
|
|
81
81
|
}(ChildProperty));
|
|
82
82
|
export { FieldSettings };
|
|
83
|
+
var REGX_IOS = /(ipad|iphone|ipod touch)/i;
|
|
84
|
+
var REGX_BROWSER = {
|
|
85
|
+
OPERA: /(opera|opr)(?:.*version|)[ /]([\w.]+)/i,
|
|
86
|
+
EDGE: /(edge)(?:.*version|)[ /]([\w.]+)/i,
|
|
87
|
+
CHROME: /(chrome|crios)[ /]([\w.]+)/i,
|
|
88
|
+
PANTHOMEJS: /(phantomjs)[ /]([\w.]+)/i,
|
|
89
|
+
SAFARI: /(safari)[ /]([\w.]+)/i,
|
|
90
|
+
WEBKIT: /(webkit)[ /]([\w.]+)/i,
|
|
91
|
+
MSIE: /(msie|trident) ([\w.]+)/i,
|
|
92
|
+
MOZILLA: /(mozilla)(?:.*? rv:([\w.]+)|)/i
|
|
93
|
+
};
|
|
83
94
|
/**
|
|
84
95
|
* Specifies menu items.
|
|
85
96
|
*/
|
|
@@ -265,7 +276,7 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
265
276
|
EventHandler.add(target, 'click', this.menuHeaderClickHandler, this);
|
|
266
277
|
}
|
|
267
278
|
else {
|
|
268
|
-
if (
|
|
279
|
+
if (this.menuIos()) {
|
|
269
280
|
new Touch(target, { tapHold: this.touchHandler.bind(this) });
|
|
270
281
|
}
|
|
271
282
|
else {
|
|
@@ -275,6 +286,7 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
275
286
|
}
|
|
276
287
|
this.targetElement = target;
|
|
277
288
|
if (!this.isMenu) {
|
|
289
|
+
EventHandler.add(this.targetElement, 'scroll', this.scrollHandler, this);
|
|
278
290
|
for (var _i = 0, _a = getScrollableParent(this.targetElement); _i < _a.length; _i++) {
|
|
279
291
|
var parent_1 = _a[_i];
|
|
280
292
|
EventHandler.add(parent_1, 'scroll', this.scrollHandler, this);
|
|
@@ -292,6 +304,22 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
292
304
|
this.wireKeyboardEvent(wrapper);
|
|
293
305
|
this.rippleFn = rippleEffect(wrapper, { selector: '.' + ITEM });
|
|
294
306
|
};
|
|
307
|
+
MenuBase.prototype.menuIos = function () {
|
|
308
|
+
return this.getValue('isIos', REGX_IOS);
|
|
309
|
+
};
|
|
310
|
+
MenuBase.prototype.getValue = function (key, regX) {
|
|
311
|
+
var browserDetails = typeof window !== 'undefined' ? window.browserDetails : {};
|
|
312
|
+
if (typeof navigator !== 'undefined' && navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 && Browser.isTouch === true && !REGX_BROWSER.CHROME.test(navigator.userAgent)) {
|
|
313
|
+
browserDetails['isIos'] = true;
|
|
314
|
+
browserDetails['isDevice'] = true;
|
|
315
|
+
browserDetails['isTouch'] = true;
|
|
316
|
+
browserDetails['isPointer'] = true;
|
|
317
|
+
}
|
|
318
|
+
if ('undefined' === typeof browserDetails["" + key]) {
|
|
319
|
+
return browserDetails["" + key] = regX.test(Browser.userAgent);
|
|
320
|
+
}
|
|
321
|
+
return browserDetails["" + key];
|
|
322
|
+
};
|
|
295
323
|
MenuBase.prototype.wireKeyboardEvent = function (element) {
|
|
296
324
|
var keyConfigs = {
|
|
297
325
|
downarrow: DOWNARROW,
|
|
@@ -1067,10 +1095,13 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1067
1095
|
this.clickHandler(e);
|
|
1068
1096
|
}
|
|
1069
1097
|
}
|
|
1098
|
+
else if (this.isMenu && this.showItemOnClick) {
|
|
1099
|
+
this.removeLIStateByClass([FOCUSED], [wrapper].concat(this.getPopups()));
|
|
1100
|
+
}
|
|
1070
1101
|
if (this.isMenu) {
|
|
1071
1102
|
if (!this.showItemOnClick && (trgt.parentElement !== wrapper && !closest(trgt, '.e-' + this.getModuleName() + '-popup'))
|
|
1072
1103
|
&& (!cli || (cli && !this.getIndex(cli.id, true).length))) {
|
|
1073
|
-
this.removeLIStateByClass([FOCUSED
|
|
1104
|
+
this.removeLIStateByClass([FOCUSED], [wrapper]);
|
|
1074
1105
|
if (this.navIdx.length) {
|
|
1075
1106
|
this.isClosed = true;
|
|
1076
1107
|
this.closeMenu(null, e);
|
|
@@ -1137,6 +1168,9 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1137
1168
|
return false;
|
|
1138
1169
|
};
|
|
1139
1170
|
MenuBase.prototype.menuHeaderClickHandler = function (e) {
|
|
1171
|
+
if (closest(e.target, '.e-menu-wrapper').querySelector('ul.e-menu-parent').id !== this.element.id) {
|
|
1172
|
+
return;
|
|
1173
|
+
}
|
|
1140
1174
|
this.element.classList.contains('e-hide-menu') ? this.openHamburgerMenu(e) : this.closeHamburgerMenu(e);
|
|
1141
1175
|
};
|
|
1142
1176
|
MenuBase.prototype.clickHandler = function (e) {
|
|
@@ -1147,9 +1181,16 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1147
1181
|
var wrapper = this.getWrapper();
|
|
1148
1182
|
var trgt = e.target;
|
|
1149
1183
|
var cli = this.cli = this.getLI(trgt);
|
|
1184
|
+
var regex = new RegExp('-ej2menu-(.*)-popup');
|
|
1150
1185
|
var cliWrapper = cli ? closest(cli, '.e-' + this.getModuleName() + '-wrapper') : null;
|
|
1151
1186
|
var isInstLI = cli && cliWrapper && (this.isMenu ? this.getIndex(cli.id, true).length > 0
|
|
1152
1187
|
: wrapper.firstElementChild.id === cliWrapper.firstElementChild.id);
|
|
1188
|
+
if (cli && cliWrapper && this.isMenu) {
|
|
1189
|
+
var cliWrapperId = cliWrapper.id ? regex.exec(cliWrapper.id)[1] : cliWrapper.querySelector('.e-menu-parent').id;
|
|
1190
|
+
if (this.element.id !== cliWrapperId) {
|
|
1191
|
+
return;
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1153
1194
|
if (isInstLI && e.type === 'click' && !cli.classList.contains(HEADER)) {
|
|
1154
1195
|
this.setLISelected(cli);
|
|
1155
1196
|
var navIdx = this.getIndex(cli.id, true);
|
|
@@ -1211,7 +1252,11 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1211
1252
|
this.menuHeaderClickHandler(e);
|
|
1212
1253
|
}
|
|
1213
1254
|
else {
|
|
1214
|
-
if (trgt.tagName !== 'UL' || trgt.parentElement
|
|
1255
|
+
if (trgt.tagName !== 'UL' || (this.isMenu ? trgt.parentElement.classList.contains('e-menu-wrapper') &&
|
|
1256
|
+
!this.getIndex(trgt.querySelector('.' + ITEM).id, true).length : trgt.parentElement !== wrapper)) {
|
|
1257
|
+
if (!cli) {
|
|
1258
|
+
this.removeLIStateByClass([SELECTED], [wrapper]);
|
|
1259
|
+
}
|
|
1215
1260
|
if (!cli || !cli.querySelector('.' + CARET)) {
|
|
1216
1261
|
this.closeMenu(null, e);
|
|
1217
1262
|
}
|
|
@@ -1224,7 +1269,7 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1224
1269
|
if (this.showSubMenu) {
|
|
1225
1270
|
var idx = this.navIdx.concat(this.cliIdx);
|
|
1226
1271
|
var item = this.getItem(idx);
|
|
1227
|
-
if (item[this.getField('children', idx.length - 1)] &&
|
|
1272
|
+
if (item && item[this.getField('children', idx.length - 1)] &&
|
|
1228
1273
|
item[this.getField('children', idx.length - 1)].length) {
|
|
1229
1274
|
if (e.type === 'mouseover' || (Browser.isDevice && this.isMenu)) {
|
|
1230
1275
|
this.setLISelected(this.cli);
|
|
@@ -1272,6 +1317,13 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1272
1317
|
}
|
|
1273
1318
|
return items;
|
|
1274
1319
|
};
|
|
1320
|
+
MenuBase.prototype.setItems = function (newItems, navIdx) {
|
|
1321
|
+
var items = this.getItems(navIdx);
|
|
1322
|
+
items.splice(0, items.length);
|
|
1323
|
+
for (var i = 0; i < newItems.length; i++) {
|
|
1324
|
+
items.splice(i, 0, newItems[i]);
|
|
1325
|
+
}
|
|
1326
|
+
};
|
|
1275
1327
|
MenuBase.prototype.getIdx = function (ul, li, skipHdr) {
|
|
1276
1328
|
if (skipHdr === void 0) { skipHdr = true; }
|
|
1277
1329
|
var idx = Array.prototype.indexOf.call(ul.querySelectorAll('li'), li);
|
|
@@ -1382,8 +1434,8 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1382
1434
|
idx = navIdx.pop();
|
|
1383
1435
|
item = this_1.getItems(navIdx);
|
|
1384
1436
|
this_1.insertAfter([item[idx]], item[idx].text);
|
|
1385
|
-
item = this_1.getItems(navIdx);
|
|
1386
1437
|
this_1.removeItem(item, navIdx, idx);
|
|
1438
|
+
this_1.setItems(item, navIdx);
|
|
1387
1439
|
}
|
|
1388
1440
|
navIdx.length = 0;
|
|
1389
1441
|
}
|
|
@@ -1447,6 +1499,7 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1447
1499
|
}
|
|
1448
1500
|
}
|
|
1449
1501
|
if (!this.isMenu) {
|
|
1502
|
+
EventHandler.remove(this.targetElement, 'scroll', this.scrollHandler);
|
|
1450
1503
|
for (var _i = 0, _a = getScrollableParent(this.targetElement); _i < _a.length; _i++) {
|
|
1451
1504
|
var parent_2 = _a[_i];
|
|
1452
1505
|
EventHandler.remove(parent_2, 'scroll', this.scrollHandler);
|
|
@@ -1619,8 +1672,28 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1619
1672
|
var idx;
|
|
1620
1673
|
var navIdx;
|
|
1621
1674
|
var disabled = DISABLED;
|
|
1675
|
+
var skipItem;
|
|
1622
1676
|
for (var i = 0; i < items.length; i++) {
|
|
1623
1677
|
navIdx = this.getIndex(items[i], isUniqueId);
|
|
1678
|
+
if (this.navIdx.length) {
|
|
1679
|
+
if (navIdx.length !== 1) {
|
|
1680
|
+
skipItem = false;
|
|
1681
|
+
for (var i_1 = 0, len = navIdx.length - 1; i_1 < len; i_1++) {
|
|
1682
|
+
if (navIdx[i_1] !== this.navIdx[i_1]) {
|
|
1683
|
+
skipItem = true;
|
|
1684
|
+
break;
|
|
1685
|
+
}
|
|
1686
|
+
}
|
|
1687
|
+
if (skipItem) {
|
|
1688
|
+
continue;
|
|
1689
|
+
}
|
|
1690
|
+
}
|
|
1691
|
+
}
|
|
1692
|
+
else {
|
|
1693
|
+
if (navIdx.length !== 1) {
|
|
1694
|
+
continue;
|
|
1695
|
+
}
|
|
1696
|
+
}
|
|
1624
1697
|
idx = navIdx.pop();
|
|
1625
1698
|
ul = this.getUlByNavIdx(navIdx.length);
|
|
1626
1699
|
if (ul) {
|