@syncfusion/ej2-navigations 17.3.9-beta → 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 -800
- 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 +325 -170
- package/dist/es6/ej2-navigations.es2015.js.map +1 -1
- package/dist/es6/ej2-navigations.es5.js +455 -300
- 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 -149
- package/src/accordion/accordion-model.d.ts +156 -156
- package/src/accordion/accordion.d.ts +1 -0
- package/src/accordion/accordion.js +40 -41
- package/src/common/h-scroll-model.d.ts +5 -5
- package/src/common/h-scroll.js +19 -20
- 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 +94 -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 +117 -82
- package/src/toolbar/toolbar-model.d.ts +175 -175
- package/src/toolbar/toolbar.d.ts +1 -0
- package/src/toolbar/toolbar.js +30 -24
- package/src/treeview/treeview-model.d.ts +323 -323
- package/src/treeview/treeview.js +79 -33
- 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/bootstrap-dark.css +7 -9
- package/styles/bootstrap.css +7 -9
- package/styles/bootstrap4.css +7 -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 -175
- 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 +0 -1
- package/styles/context-menu/bootstrap.css +0 -1
- package/styles/context-menu/bootstrap4.css +0 -1
- package/styles/context-menu/fabric-dark.css +0 -1
- package/styles/context-menu/fabric.css +0 -1
- package/styles/context-menu/highcontrast-light.css +0 -1
- package/styles/context-menu/highcontrast.css +0 -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 +0 -1
- package/styles/context-menu/material.css +3 -4
- package/styles/fabric-dark.css +7 -9
- package/styles/fabric.css +7 -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 +7 -9
- package/styles/highcontrast.css +7 -9
- package/styles/material-dark.css +7 -9
- package/styles/material.css +21 -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 -638
- 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 +0 -1
- package/styles/menu/bootstrap.css +0 -1
- package/styles/menu/bootstrap.scss +1 -0
- package/styles/menu/bootstrap4.css +0 -1
- package/styles/menu/fabric-dark.css +0 -1
- package/styles/menu/fabric.css +0 -1
- package/styles/menu/fabric.scss +1 -0
- package/styles/menu/highcontrast-light.css +0 -1
- package/styles/menu/highcontrast.css +0 -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 +0 -1
- package/styles/menu/material.css +2 -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
- package/.gitlab/merge_request_templates/Bug.md +0 -63
- package/.gitlab/merge_request_templates/feature.md +0 -39
|
@@ -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,
|
|
@@ -1073,7 +1101,7 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1073
1101
|
if (this.isMenu) {
|
|
1074
1102
|
if (!this.showItemOnClick && (trgt.parentElement !== wrapper && !closest(trgt, '.e-' + this.getModuleName() + '-popup'))
|
|
1075
1103
|
&& (!cli || (cli && !this.getIndex(cli.id, true).length))) {
|
|
1076
|
-
this.removeLIStateByClass([FOCUSED
|
|
1104
|
+
this.removeLIStateByClass([FOCUSED], [wrapper]);
|
|
1077
1105
|
if (this.navIdx.length) {
|
|
1078
1106
|
this.isClosed = true;
|
|
1079
1107
|
this.closeMenu(null, e);
|
|
@@ -1140,6 +1168,9 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1140
1168
|
return false;
|
|
1141
1169
|
};
|
|
1142
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
|
+
}
|
|
1143
1174
|
this.element.classList.contains('e-hide-menu') ? this.openHamburgerMenu(e) : this.closeHamburgerMenu(e);
|
|
1144
1175
|
};
|
|
1145
1176
|
MenuBase.prototype.clickHandler = function (e) {
|
|
@@ -1150,9 +1181,16 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1150
1181
|
var wrapper = this.getWrapper();
|
|
1151
1182
|
var trgt = e.target;
|
|
1152
1183
|
var cli = this.cli = this.getLI(trgt);
|
|
1184
|
+
var regex = new RegExp('-ej2menu-(.*)-popup');
|
|
1153
1185
|
var cliWrapper = cli ? closest(cli, '.e-' + this.getModuleName() + '-wrapper') : null;
|
|
1154
1186
|
var isInstLI = cli && cliWrapper && (this.isMenu ? this.getIndex(cli.id, true).length > 0
|
|
1155
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
|
+
}
|
|
1156
1194
|
if (isInstLI && e.type === 'click' && !cli.classList.contains(HEADER)) {
|
|
1157
1195
|
this.setLISelected(cli);
|
|
1158
1196
|
var navIdx = this.getIndex(cli.id, true);
|
|
@@ -1214,7 +1252,11 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1214
1252
|
this.menuHeaderClickHandler(e);
|
|
1215
1253
|
}
|
|
1216
1254
|
else {
|
|
1217
|
-
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
|
+
}
|
|
1218
1260
|
if (!cli || !cli.querySelector('.' + CARET)) {
|
|
1219
1261
|
this.closeMenu(null, e);
|
|
1220
1262
|
}
|
|
@@ -1227,7 +1269,7 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1227
1269
|
if (this.showSubMenu) {
|
|
1228
1270
|
var idx = this.navIdx.concat(this.cliIdx);
|
|
1229
1271
|
var item = this.getItem(idx);
|
|
1230
|
-
if (item[this.getField('children', idx.length - 1)] &&
|
|
1272
|
+
if (item && item[this.getField('children', idx.length - 1)] &&
|
|
1231
1273
|
item[this.getField('children', idx.length - 1)].length) {
|
|
1232
1274
|
if (e.type === 'mouseover' || (Browser.isDevice && this.isMenu)) {
|
|
1233
1275
|
this.setLISelected(this.cli);
|
|
@@ -1275,6 +1317,13 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1275
1317
|
}
|
|
1276
1318
|
return items;
|
|
1277
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
|
+
};
|
|
1278
1327
|
MenuBase.prototype.getIdx = function (ul, li, skipHdr) {
|
|
1279
1328
|
if (skipHdr === void 0) { skipHdr = true; }
|
|
1280
1329
|
var idx = Array.prototype.indexOf.call(ul.querySelectorAll('li'), li);
|
|
@@ -1385,8 +1434,8 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1385
1434
|
idx = navIdx.pop();
|
|
1386
1435
|
item = this_1.getItems(navIdx);
|
|
1387
1436
|
this_1.insertAfter([item[idx]], item[idx].text);
|
|
1388
|
-
item = this_1.getItems(navIdx);
|
|
1389
1437
|
this_1.removeItem(item, navIdx, idx);
|
|
1438
|
+
this_1.setItems(item, navIdx);
|
|
1390
1439
|
}
|
|
1391
1440
|
navIdx.length = 0;
|
|
1392
1441
|
}
|
|
@@ -1450,6 +1499,7 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1450
1499
|
}
|
|
1451
1500
|
}
|
|
1452
1501
|
if (!this.isMenu) {
|
|
1502
|
+
EventHandler.remove(this.targetElement, 'scroll', this.scrollHandler);
|
|
1453
1503
|
for (var _i = 0, _a = getScrollableParent(this.targetElement); _i < _a.length; _i++) {
|
|
1454
1504
|
var parent_2 = _a[_i];
|
|
1455
1505
|
EventHandler.remove(parent_2, 'scroll', this.scrollHandler);
|
|
@@ -1622,8 +1672,28 @@ var MenuBase = /** @class */ (function (_super) {
|
|
|
1622
1672
|
var idx;
|
|
1623
1673
|
var navIdx;
|
|
1624
1674
|
var disabled = DISABLED;
|
|
1675
|
+
var skipItem;
|
|
1625
1676
|
for (var i = 0; i < items.length; i++) {
|
|
1626
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
|
+
}
|
|
1627
1697
|
idx = navIdx.pop();
|
|
1628
1698
|
ul = this.getUlByNavIdx(navIdx.length);
|
|
1629
1699
|
if (ul) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Touch, ScrollEventArgs, TouchEventArgs, Component, EventHandler, selectAll, getUniqueID, removeClass } from '@syncfusion/ej2-base';
|
|
1
|
+
import { Touch, ScrollEventArgs, TouchEventArgs, Component, EventHandler, selectAll, getUniqueID, removeClass } from '@syncfusion/ej2-base';
|
|
2
2
|
import {ComponentModel} from '@syncfusion/ej2-base';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -7,9 +7,9 @@ import {ComponentModel} from '@syncfusion/ej2-base';
|
|
|
7
7
|
export interface VScrollModel extends ComponentModel{
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* Specifies the up or down scrolling distance of the vertical scrollbar moving.
|
|
11
|
-
* @default null
|
|
12
|
-
*/
|
|
13
|
-
scrollStep?: number;
|
|
10
|
+
* Specifies the up or down scrolling distance of the vertical scrollbar moving.
|
|
11
|
+
* @default null
|
|
12
|
+
*/
|
|
13
|
+
scrollStep?: number;
|
|
14
14
|
|
|
15
15
|
}
|