@progress/kendo-angular-menu 3.0.6-dev.202203091409 → 4.0.0-dev.202204191048

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.
Files changed (199) hide show
  1. package/bundles/kendo-angular-menu.umd.js +5 -0
  2. package/{dist/es2015/constants.d.ts → constants.d.ts} +0 -0
  3. package/{dist/es2015/context-menu → context-menu}/context-menu-event.d.ts +0 -0
  4. package/{dist/es2015/context-menu → context-menu}/context-menu-items.service.d.ts +3 -0
  5. package/{dist/es2015/context-menu → context-menu}/context-menu-popup-event.d.ts +0 -0
  6. package/{dist/es2015/context-menu → context-menu}/context-menu-select-event.d.ts +0 -0
  7. package/{dist/es2015/context-menu → context-menu}/context-menu-target-container.directive.d.ts +3 -0
  8. package/{dist/es2015/context-menu → context-menu}/context-menu-target.directive.d.ts +3 -0
  9. package/{dist/es2015/context-menu → context-menu}/context-menu-target.service.d.ts +3 -0
  10. package/{dist/es2015/context-menu → context-menu}/context-menu-template.directive.d.ts +3 -0
  11. package/{dist/es2015/context-menu → context-menu}/context-menu.component.d.ts +4 -1
  12. package/{dist/es2015/context-menu → context-menu}/context-menu.module.d.ts +11 -0
  13. package/{dist/es2015/context-menu → context-menu}/context-menu.service.d.ts +3 -0
  14. package/{dist/es2015/data-binding → data-binding}/binding-directive-base.d.ts +3 -0
  15. package/{dist/es2015/data-binding → data-binding}/flat-binding.directive.d.ts +3 -0
  16. package/{dist/es2015/data-binding → data-binding}/hierachy-binding.directive.d.ts +3 -0
  17. package/{dist/es2015/data-binding → data-binding}/utils.d.ts +0 -0
  18. package/{dist/es2015/dom-queries.d.ts → dom-queries.d.ts} +0 -0
  19. package/{dist/es2015 → esm2015}/constants.js +0 -0
  20. package/{dist/es2015 → esm2015}/context-menu/context-menu-event.js +0 -0
  21. package/esm2015/context-menu/context-menu-items.service.js +25 -0
  22. package/{dist/es2015 → esm2015}/context-menu/context-menu-popup-event.js +0 -0
  23. package/{dist/es2015 → esm2015}/context-menu/context-menu-select-event.js +0 -0
  24. package/esm2015/context-menu/context-menu-target-container.directive.js +32 -0
  25. package/esm2015/context-menu/context-menu-target.directive.js +46 -0
  26. package/{dist/es2015 → esm2015}/context-menu/context-menu-target.service.js +8 -10
  27. package/esm2015/context-menu/context-menu-template.directive.js +32 -0
  28. package/{dist/es2015 → esm2015}/context-menu/context-menu.component.js +107 -113
  29. package/{dist/es2015 → esm2015}/context-menu/context-menu.module.js +20 -11
  30. package/{dist/es2015 → esm2015}/context-menu/context-menu.service.js +8 -10
  31. package/{dist/es2015 → esm2015}/data-binding/binding-directive-base.js +12 -0
  32. package/esm2015/data-binding/flat-binding.directive.js +82 -0
  33. package/esm2015/data-binding/hierachy-binding.directive.js +71 -0
  34. package/{dist/es2015 → esm2015}/data-binding/utils.js +0 -1
  35. package/{dist/es2015 → esm2015}/dom-queries.js +0 -3
  36. package/{dist/es/constants.js → esm2015/kendo-angular-menu.js} +2 -2
  37. package/{dist/es → esm2015}/main.js +3 -2
  38. package/{dist/es → esm2015}/menu-animation.interface.js +1 -0
  39. package/esm2015/menu-base.js +69 -0
  40. package/{dist/es2015 → esm2015}/menu-event.js +0 -0
  41. package/{dist/es2015 → esm2015}/menu-item.component.js +41 -60
  42. package/{dist/es → esm2015}/menu-item.interface.js +1 -0
  43. package/{dist/es2015 → esm2015}/menu-select-event.js +0 -0
  44. package/{dist/es2015 → esm2015}/menu.component.js +76 -63
  45. package/{dist/es2015 → esm2015}/menu.module.js +32 -13
  46. package/{dist/es2015 → esm2015}/menus.module.js +12 -9
  47. package/{dist/es2015 → esm2015}/open-on-click-settings.js +0 -1
  48. package/{dist/es2015 → esm2015}/package-metadata.js +1 -1
  49. package/{dist/es2015 → esm2015}/preventable-event.js +0 -0
  50. package/esm2015/rendering/arrow.directive.js +62 -0
  51. package/esm2015/rendering/link.directive.js +54 -0
  52. package/esm2015/rendering/list.component.js +546 -0
  53. package/{dist/es2015 → esm2015}/rendering/popup-settings.js +0 -0
  54. package/{dist/es2015 → esm2015}/services/actions.service.js +21 -14
  55. package/{dist/es2015 → esm2015}/services/hover.service.js +10 -10
  56. package/{dist/es2015 → esm2015}/services/items.service.js +8 -13
  57. package/{dist/es2015 → esm2015}/services/navigation.service.js +12 -15
  58. package/{dist/es2015 → esm2015}/templates/item-content-template.directive.js +14 -12
  59. package/{dist/es2015 → esm2015}/templates/item-link-template.directive.js +14 -12
  60. package/{dist/es2015 → esm2015}/templates/item-template.directive.js +14 -12
  61. package/{dist/es2015 → esm2015}/utils.js +0 -0
  62. package/{dist/fesm2015/index.js → fesm2015/kendo-angular-menu.js} +1113 -1113
  63. package/kendo-angular-menu.d.ts +9 -0
  64. package/{dist/es2015/main.d.ts → main.d.ts} +3 -2
  65. package/{dist/es2015/menu-animation.interface.d.ts → menu-animation.interface.d.ts} +0 -0
  66. package/{dist/es2015/menu-base.d.ts → menu-base.d.ts} +4 -1
  67. package/{dist/es2015/menu-event.d.ts → menu-event.d.ts} +0 -0
  68. package/{dist/es2015/menu-item.component.d.ts → menu-item.component.d.ts} +7 -4
  69. package/{dist/es2015/menu-item.interface.d.ts → menu-item.interface.d.ts} +0 -0
  70. package/{dist/es2015/menu-select-event.d.ts → menu-select-event.d.ts} +0 -0
  71. package/{dist/es2015/menu.component.d.ts → menu.component.d.ts} +7 -4
  72. package/menu.module.d.ts +54 -0
  73. package/{dist/es2015/menus.module.d.ts → menus.module.d.ts} +6 -0
  74. package/{dist/es2015/open-on-click-settings.d.ts → open-on-click-settings.d.ts} +0 -0
  75. package/{dist/es2015/package-metadata.d.ts → package-metadata.d.ts} +0 -0
  76. package/package.json +31 -108
  77. package/{dist/es2015/preventable-event.d.ts → preventable-event.d.ts} +0 -0
  78. package/{dist/es2015/rendering → rendering}/arrow.directive.d.ts +6 -3
  79. package/{dist/es2015/rendering → rendering}/link.directive.d.ts +4 -1
  80. package/rendering/list.component.d.ts +104 -0
  81. package/{dist/es2015/rendering → rendering}/popup-settings.d.ts +0 -0
  82. package/schematics/ngAdd/index.js +5 -2
  83. package/schematics/ngAdd/index.js.map +1 -1
  84. package/{dist/es2015/services → services}/actions.service.d.ts +24 -1
  85. package/{dist/es2015/services → services}/hover.service.d.ts +7 -2
  86. package/{dist/es2015/services → services}/items.service.d.ts +4 -1
  87. package/{dist/es2015/services → services}/navigation.service.d.ts +6 -3
  88. package/{dist/es2015/templates → templates}/item-content-template.directive.d.ts +3 -0
  89. package/{dist/es2015/templates → templates}/item-link-template.directive.d.ts +3 -0
  90. package/{dist/es2015/templates → templates}/item-template.directive.d.ts +3 -0
  91. package/{dist/es2015/utils.d.ts → utils.d.ts} +1 -1
  92. package/dist/cdn/js/kendo-angular-menu.js +0 -20
  93. package/dist/cdn/main.js +0 -5
  94. package/dist/es/context-menu/context-menu-event.js +0 -13
  95. package/dist/es/context-menu/context-menu-items.service.js +0 -26
  96. package/dist/es/context-menu/context-menu-popup-event.js +0 -17
  97. package/dist/es/context-menu/context-menu-select-event.js +0 -17
  98. package/dist/es/context-menu/context-menu-target-container.directive.js +0 -31
  99. package/dist/es/context-menu/context-menu-target.directive.js +0 -48
  100. package/dist/es/context-menu/context-menu-target.service.js +0 -29
  101. package/dist/es/context-menu/context-menu-template.directive.js +0 -31
  102. package/dist/es/context-menu/context-menu.component.js +0 -456
  103. package/dist/es/context-menu/context-menu.module.js +0 -64
  104. package/dist/es/context-menu/context-menu.service.js +0 -30
  105. package/dist/es/data-binding/binding-directive-base.js +0 -32
  106. package/dist/es/data-binding/flat-binding.directive.js +0 -104
  107. package/dist/es/data-binding/hierachy-binding.directive.js +0 -94
  108. package/dist/es/data-binding/utils.js +0 -32
  109. package/dist/es/dom-queries.js +0 -107
  110. package/dist/es/index.js +0 -21
  111. package/dist/es/menu-base.js +0 -79
  112. package/dist/es/menu-event.js +0 -17
  113. package/dist/es/menu-item.component.js +0 -165
  114. package/dist/es/menu-select-event.js +0 -17
  115. package/dist/es/menu.component.js +0 -256
  116. package/dist/es/menu.module.js +0 -79
  117. package/dist/es/menus.module.js +0 -41
  118. package/dist/es/open-on-click-settings.js +0 -13
  119. package/dist/es/package-metadata.js +0 -15
  120. package/dist/es/preventable-event.js +0 -36
  121. package/dist/es/rendering/arrow.directive.js +0 -81
  122. package/dist/es/rendering/item.component.js +0 -337
  123. package/dist/es/rendering/link.directive.js +0 -62
  124. package/dist/es/rendering/list.component.js +0 -219
  125. package/dist/es/rendering/popup-settings.js +0 -66
  126. package/dist/es/services/actions.service.js +0 -178
  127. package/dist/es/services/hover.service.js +0 -136
  128. package/dist/es/services/items.service.js +0 -140
  129. package/dist/es/services/navigation.service.js +0 -274
  130. package/dist/es/templates/item-content-template.directive.js +0 -50
  131. package/dist/es/templates/item-link-template.directive.js +0 -52
  132. package/dist/es/templates/item-template.directive.js +0 -51
  133. package/dist/es/utils.js +0 -18
  134. package/dist/es2015/context-menu/context-menu-items.service.js +0 -25
  135. package/dist/es2015/context-menu/context-menu-target-container.directive.js +0 -30
  136. package/dist/es2015/context-menu/context-menu-target.directive.js +0 -47
  137. package/dist/es2015/context-menu/context-menu-template.directive.js +0 -30
  138. package/dist/es2015/data-binding/flat-binding.directive.js +0 -101
  139. package/dist/es2015/data-binding/hierachy-binding.directive.js +0 -90
  140. package/dist/es2015/index.d.ts +0 -21
  141. package/dist/es2015/index.js +0 -21
  142. package/dist/es2015/index.metadata.json +0 -1
  143. package/dist/es2015/main.js +0 -26
  144. package/dist/es2015/menu-animation.interface.js +0 -4
  145. package/dist/es2015/menu-base.js +0 -73
  146. package/dist/es2015/menu-item.interface.js +0 -4
  147. package/dist/es2015/menu.module.d.ts +0 -38
  148. package/dist/es2015/rendering/arrow.directive.js +0 -68
  149. package/dist/es2015/rendering/item.component.d.ts +0 -64
  150. package/dist/es2015/rendering/item.component.js +0 -327
  151. package/dist/es2015/rendering/link.directive.js +0 -57
  152. package/dist/es2015/rendering/list.component.d.ts +0 -41
  153. package/dist/es2015/rendering/list.component.js +0 -233
  154. package/dist/fesm5/index.js +0 -3222
  155. package/dist/npm/constants.js +0 -10
  156. package/dist/npm/context-menu/context-menu-event.js +0 -15
  157. package/dist/npm/context-menu/context-menu-items.service.js +0 -28
  158. package/dist/npm/context-menu/context-menu-popup-event.js +0 -19
  159. package/dist/npm/context-menu/context-menu-select-event.js +0 -19
  160. package/dist/npm/context-menu/context-menu-target-container.directive.js +0 -33
  161. package/dist/npm/context-menu/context-menu-target.directive.js +0 -50
  162. package/dist/npm/context-menu/context-menu-target.service.js +0 -31
  163. package/dist/npm/context-menu/context-menu-template.directive.js +0 -33
  164. package/dist/npm/context-menu/context-menu.component.js +0 -459
  165. package/dist/npm/context-menu/context-menu.module.js +0 -66
  166. package/dist/npm/context-menu/context-menu.service.js +0 -32
  167. package/dist/npm/data-binding/binding-directive-base.js +0 -34
  168. package/dist/npm/data-binding/flat-binding.directive.js +0 -106
  169. package/dist/npm/data-binding/hierachy-binding.directive.js +0 -96
  170. package/dist/npm/data-binding/utils.js +0 -34
  171. package/dist/npm/dom-queries.js +0 -110
  172. package/dist/npm/index.js +0 -37
  173. package/dist/npm/main.js +0 -50
  174. package/dist/npm/menu-animation.interface.js +0 -6
  175. package/dist/npm/menu-base.js +0 -81
  176. package/dist/npm/menu-event.js +0 -19
  177. package/dist/npm/menu-item.component.js +0 -167
  178. package/dist/npm/menu-item.interface.js +0 -6
  179. package/dist/npm/menu-select-event.js +0 -19
  180. package/dist/npm/menu.component.js +0 -258
  181. package/dist/npm/menu.module.js +0 -81
  182. package/dist/npm/menus.module.js +0 -43
  183. package/dist/npm/open-on-click-settings.js +0 -15
  184. package/dist/npm/package-metadata.js +0 -17
  185. package/dist/npm/preventable-event.js +0 -38
  186. package/dist/npm/rendering/arrow.directive.js +0 -83
  187. package/dist/npm/rendering/item.component.js +0 -339
  188. package/dist/npm/rendering/link.directive.js +0 -64
  189. package/dist/npm/rendering/list.component.js +0 -221
  190. package/dist/npm/rendering/popup-settings.js +0 -68
  191. package/dist/npm/services/actions.service.js +0 -180
  192. package/dist/npm/services/hover.service.js +0 -138
  193. package/dist/npm/services/items.service.js +0 -143
  194. package/dist/npm/services/navigation.service.js +0 -276
  195. package/dist/npm/templates/item-content-template.directive.js +0 -52
  196. package/dist/npm/templates/item-link-template.directive.js +0 -54
  197. package/dist/npm/templates/item-template.directive.js +0 -53
  198. package/dist/npm/utils.js +0 -20
  199. package/dist/systemjs/kendo-angular-menu.js +0 -5
@@ -1,221 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- "use strict";
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- var tslib_1 = require("tslib");
8
- var core_1 = require("@angular/core");
9
- var items_service_1 = require("../services/items.service");
10
- var actions_service_1 = require("../services/actions.service");
11
- var navigation_service_1 = require("../services/navigation.service");
12
- var hover_service_1 = require("../services/hover.service");
13
- var constants_1 = require("../constants");
14
- var dom_queries_1 = require("../dom-queries");
15
- var kendo_angular_common_1 = require("@progress/kendo-angular-common");
16
- /* tslint:disable:component-selector */
17
- /**
18
- * @hidden
19
- */
20
- var ListComponent = /** @class */ (function () {
21
- function ListComponent(itemsService, hover, actions, navigation, renderer, ngZone, element) {
22
- this.itemsService = itemsService;
23
- this.hover = hover;
24
- this.actions = actions;
25
- this.navigation = navigation;
26
- this.renderer = renderer;
27
- this.ngZone = ngZone;
28
- this.element = element;
29
- this.animate = true;
30
- }
31
- ListComponent.prototype.hierarchyIndex = function (index) {
32
- return this.itemsService.itemIndex(this.index, index);
33
- };
34
- ListComponent.prototype.ngOnInit = function () {
35
- this.itemsService.addList(this);
36
- this.initDomEvents();
37
- };
38
- ListComponent.prototype.ngOnDestroy = function () {
39
- this.itemsService.removeList(this);
40
- if (this.domSubscriptions) {
41
- this.domSubscriptions();
42
- }
43
- };
44
- ListComponent.prototype.initDomEvents = function () {
45
- var _this = this;
46
- if (!kendo_angular_common_1.isDocumentAvailable() || !this.element) {
47
- return;
48
- }
49
- this.ngZone.runOutsideAngular(function () {
50
- var element = _this.element.nativeElement;
51
- var container = _this.level > 0 ? dom_queries_1.closest(element, function (node) { return dom_queries_1.hasClass(node, 'k-popup'); }) : element;
52
- var overSubscription = _this.renderer.listen(element, 'mouseover', function (e) {
53
- if (e.target === element && _this.level === 0) {
54
- _this.onLeave();
55
- }
56
- else {
57
- var item = _this.nodeItem(e.target) || _this.itemsService.get(_this.index);
58
- if (item && !(_this.openOnClick && _this.openOnClick.toggle === 'click' && item.level === 0 && !item.hasContent)) {
59
- _this.hover.over(item);
60
- }
61
- }
62
- });
63
- var leaveSubscription = _this.renderer.listen(container, 'mouseleave', function (e) {
64
- if (_this.leavesMenu(e)) {
65
- _this.onLeave();
66
- }
67
- });
68
- var keydownSubscription = _this.renderer.listen(element, 'keydown', function (e) {
69
- if (dom_queries_1.hasClass(e.target, 'k-menu-item')) {
70
- _this.navigation.keydown(e);
71
- }
72
- });
73
- var blurSubscription = _this.renderer.listen(element, 'focusout', function (e) {
74
- if (_this.leavesMenu(e)) {
75
- _this.navigation.focusLeave();
76
- }
77
- });
78
- /**
79
- * Handle focus/blur open/close for iOS devices since it behaves inconsistently with the rest
80
- * Refer to: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html
81
- */
82
- var touchSubscription = _this.renderer.listen(document, 'touchstart', function (e) {
83
- if (dom_queries_1.inMenu(e.target, _this.itemsService)) {
84
- var item = _this.nodeItem(e.target);
85
- // Needs to be called because the 'click' handler will be called only on secondary tap and the item will remain unfocused
86
- _this.navigation.focus(item);
87
- // This is needed since the 'mouseover' event is not always dispatched
88
- if (!item.opened) {
89
- _this.hover.over(item);
90
- }
91
- }
92
- else if (_this.navigation.focusedIdx) {
93
- // If the touch is outside of the menu and the menu is not currently in focus
94
- var activeItem = _this.itemsService.get(_this.navigation.activeIndex);
95
- _this.onLeave(); // needs to be called explicitly since mouseleave event is not triggered
96
- activeItem.blur(); // needs to be called explicitly otherwise the item remains focused => triggers focusout
97
- }
98
- });
99
- var clickSubscription = _this.renderer.listen(element, 'click', _this.clickHandler.bind(_this));
100
- _this.domSubscriptions = function () {
101
- overSubscription();
102
- leaveSubscription();
103
- keydownSubscription();
104
- blurSubscription();
105
- clickSubscription();
106
- touchSubscription();
107
- };
108
- });
109
- };
110
- ListComponent.prototype.leavesMenu = function (e) {
111
- if (!e.relatedTarget) {
112
- return true;
113
- }
114
- return !dom_queries_1.inMenu(e.relatedTarget, this.itemsService);
115
- };
116
- ListComponent.prototype.onLeave = function () {
117
- var openOnClick = this.openOnClick;
118
- if (!openOnClick || openOnClick.toggle !== 'click') {
119
- this.hover.leave(openOnClick && openOnClick.toggle === 'leave');
120
- }
121
- };
122
- ListComponent.prototype.nodeItem = function (target) {
123
- var node = dom_queries_1.closestItem(target, this.element.nativeElement);
124
- if (node) {
125
- var index = dom_queries_1.nodeIndex(node);
126
- return this.itemsService.get(index);
127
- }
128
- };
129
- ListComponent.prototype.clickHandler = function (e) {
130
- if (dom_queries_1.isFocusable(e.target) && !dom_queries_1.hasClass(e.target, 'k-menu-item')) {
131
- return;
132
- }
133
- var item = this.nodeItem(e.target);
134
- if (!item || item.isContent || item.navigating) {
135
- return;
136
- }
137
- if (item.disabled) {
138
- e.preventDefault();
139
- return;
140
- }
141
- this.actions.select(item, e, function () {
142
- e.preventDefault();
143
- });
144
- this.navigation.focus(item);
145
- if (item.level > 0 && !item.hasContent) {
146
- this.actions.closeToRoot(item);
147
- }
148
- if (this.openOnClick) {
149
- var hover = this.hover;
150
- if (item.opened) {
151
- if (item.level === 0) {
152
- hover.openOnOver = false;
153
- this.actions.close(item);
154
- }
155
- }
156
- else if (item.hasContent) {
157
- hover.openOnOver = true;
158
- this.actions.closeOthers(item);
159
- this.actions.open(item);
160
- }
161
- else {
162
- hover.openOnOver = false;
163
- if (item.level === 0 && this.openOnClick.toggle === 'click') {
164
- this.hover.closeCurrent();
165
- }
166
- }
167
- }
168
- this.actions.execute();
169
- };
170
- tslib_1.__decorate([
171
- core_1.Input(),
172
- tslib_1.__metadata("design:type", Array)
173
- ], ListComponent.prototype, "items", void 0);
174
- tslib_1.__decorate([
175
- core_1.Input(),
176
- tslib_1.__metadata("design:type", Number)
177
- ], ListComponent.prototype, "level", void 0);
178
- tslib_1.__decorate([
179
- core_1.Input(),
180
- tslib_1.__metadata("design:type", String)
181
- ], ListComponent.prototype, "index", void 0);
182
- tslib_1.__decorate([
183
- core_1.Input(),
184
- tslib_1.__metadata("design:type", Object)
185
- ], ListComponent.prototype, "animate", void 0);
186
- tslib_1.__decorate([
187
- core_1.Input(),
188
- tslib_1.__metadata("design:type", Boolean)
189
- ], ListComponent.prototype, "vertical", void 0);
190
- tslib_1.__decorate([
191
- core_1.Input(),
192
- tslib_1.__metadata("design:type", Boolean)
193
- ], ListComponent.prototype, "rtl", void 0);
194
- tslib_1.__decorate([
195
- core_1.Input(),
196
- tslib_1.__metadata("design:type", Object)
197
- ], ListComponent.prototype, "openOnClick", void 0);
198
- tslib_1.__decorate([
199
- core_1.Input(),
200
- tslib_1.__metadata("design:type", core_1.TemplateRef)
201
- ], ListComponent.prototype, "itemTemplate", void 0);
202
- tslib_1.__decorate([
203
- core_1.Input(),
204
- tslib_1.__metadata("design:type", core_1.TemplateRef)
205
- ], ListComponent.prototype, "itemLinkTemplate", void 0);
206
- ListComponent = tslib_1.__decorate([
207
- core_1.Component({
208
- selector: '[kendoMenuList]',
209
- template: "\n <ng-container *ngFor=\"let item of items; let idx = index\">\n <li *ngIf=\"!item.separator\" kendoMenuItem\n [item]=\"item\" [level]=\"level\" [vertical]=\"vertical\" [animate]=\"animate\" [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\" [itemLinkTemplate]=\"itemLinkTemplate\" [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\" [siblingIndex]=\"idx\" [attr." + constants_1.NODE_INDEX + "]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\" [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\" [class.k-last]=\"idx === items.length - 1\"\n [class.k-state-disabled]=\"item.disabled\"></li>\n <li *ngIf=\"item.separator\" class=\"k-separator k-item\"\n role=\"separator\" [ngClass]=\"item.cssClass\" [ngStyle]=\"item.cssStyle\">\n &nbsp;\n </li>\n </ng-container>\n "
210
- }),
211
- tslib_1.__metadata("design:paramtypes", [items_service_1.ItemsService,
212
- hover_service_1.HoverService,
213
- actions_service_1.ActionsService,
214
- navigation_service_1.NavigationService,
215
- core_1.Renderer2,
216
- core_1.NgZone,
217
- core_1.ElementRef])
218
- ], ListComponent);
219
- return ListComponent;
220
- }());
221
- exports.ListComponent = ListComponent;
@@ -1,68 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- "use strict";
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- var POPUP_ALIGN = {
8
- vertical: 'top',
9
- horizontal: 'left'
10
- };
11
- var POPUP_ALIGN_RTL = {
12
- vertical: 'top',
13
- horizontal: 'right'
14
- };
15
- var VERTICAL_COLLISION = {
16
- vertical: 'flip',
17
- horizontal: 'fit'
18
- };
19
- var HORIZONTAL_COLLISION = {
20
- vertical: 'fit',
21
- horizontal: 'flip'
22
- };
23
- /**
24
- * @hidden
25
- */
26
- exports.POPUP_SETTINGS_RTL = {
27
- vertical: {
28
- anchor: {
29
- vertical: 'bottom',
30
- horizontal: 'right'
31
- },
32
- popup: POPUP_ALIGN_RTL,
33
- collision: VERTICAL_COLLISION,
34
- animate: 'down'
35
- },
36
- horizontal: {
37
- anchor: {
38
- vertical: 'top',
39
- horizontal: 'left'
40
- },
41
- popup: POPUP_ALIGN_RTL,
42
- collision: HORIZONTAL_COLLISION,
43
- animate: 'left'
44
- }
45
- };
46
- /**
47
- * @hidden
48
- */
49
- exports.POPUP_SETTINGS = {
50
- vertical: {
51
- anchor: {
52
- vertical: 'bottom',
53
- horizontal: 'left'
54
- },
55
- popup: POPUP_ALIGN,
56
- collision: VERTICAL_COLLISION,
57
- animate: 'down'
58
- },
59
- horizontal: {
60
- anchor: {
61
- vertical: 'top',
62
- horizontal: 'right'
63
- },
64
- popup: POPUP_ALIGN,
65
- collision: HORIZONTAL_COLLISION,
66
- animate: 'right'
67
- }
68
- };
@@ -1,180 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- "use strict";
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- var tslib_1 = require("tslib");
8
- var core_1 = require("@angular/core");
9
- var items_service_1 = require("./items.service");
10
- var menu_event_1 = require("../menu-event");
11
- var kendo_angular_common_1 = require("@progress/kendo-angular-common");
12
- var canPerformAction = function (item, action) {
13
- return !((action === 'open' && item.opened) || (action === 'close' && !item.opened));
14
- };
15
- var ɵ0 = canPerformAction;
16
- exports.ɵ0 = ɵ0;
17
- /**
18
- * @hidden
19
- */
20
- var ActionsService = /** @class */ (function () {
21
- function ActionsService(ngZone, items) {
22
- this.ngZone = ngZone;
23
- this.items = items;
24
- this.actions = [];
25
- }
26
- ActionsService.prototype.open = function (item, finished) {
27
- if (item.disabled) {
28
- return;
29
- }
30
- if (item.hasContent && !item.opened) {
31
- this.actions.push({
32
- name: 'open',
33
- requiresZone: item.hasContentTemplates(),
34
- item: item,
35
- finished: finished
36
- });
37
- }
38
- else if (finished) {
39
- finished();
40
- }
41
- };
42
- ActionsService.prototype.close = function (item) {
43
- this.closeChildren(item);
44
- this.closeItem(item);
45
- };
46
- ActionsService.prototype.closeItem = function (item) {
47
- if (item.opened) {
48
- this.actions.push({
49
- name: 'close',
50
- item: item
51
- });
52
- }
53
- };
54
- ActionsService.prototype.closeToRoot = function (item) {
55
- this.closeChildren(item);
56
- var current = item;
57
- do {
58
- this.closeItem(current);
59
- current = this.items.parent(current);
60
- } while (current);
61
- };
62
- ActionsService.prototype.closeOthers = function (item) {
63
- this.closeChildren(item);
64
- var current = item;
65
- while (current) {
66
- var siblings = this.items.otherSiblings(current);
67
- this.closeItems(siblings);
68
- current = this.items.parent(current);
69
- }
70
- };
71
- ActionsService.prototype.closeAll = function () {
72
- var _this = this;
73
- this.items.forEach(function (item) {
74
- if (item.opened && item.level === 0) {
75
- _this.close(item);
76
- }
77
- });
78
- };
79
- ActionsService.prototype.select = function (item, domEvent, prevented, finished) {
80
- this.actions.push({
81
- name: 'select',
82
- item: item,
83
- prevented: prevented,
84
- finished: finished,
85
- domEvent: domEvent
86
- });
87
- };
88
- ActionsService.prototype.emit = function (name, item, domEvent) {
89
- var owner = this.owner;
90
- var eventArgs = new menu_event_1.MenuEvent({
91
- sender: owner,
92
- item: item.item,
93
- index: item.index,
94
- originalEvent: domEvent,
95
- hasContent: item.hasContent
96
- });
97
- owner[name].emit(eventArgs);
98
- if (owner.contextService) {
99
- owner.contextService.emit(name, eventArgs);
100
- }
101
- return eventArgs.isDefaultPrevented();
102
- };
103
- Object.defineProperty(ActionsService.prototype, "hasPending", {
104
- get: function () {
105
- return this.actions.length > 0;
106
- },
107
- enumerable: true,
108
- configurable: true
109
- });
110
- ActionsService.prototype.execute = function (toExecute) {
111
- var _this = this;
112
- if (!this.hasPending && !toExecute) {
113
- return;
114
- }
115
- var actions = toExecute || this.clear();
116
- if (!core_1.NgZone.isInAngularZone() && this.requiresZone(actions)) {
117
- this.ngZone.run(function () {
118
- _this.executeActions(actions);
119
- });
120
- }
121
- else {
122
- this.executeActions(actions);
123
- }
124
- };
125
- ActionsService.prototype.clear = function () {
126
- var actions = this.actions;
127
- this.actions = [];
128
- return actions;
129
- };
130
- ActionsService.prototype.executeActions = function (actions) {
131
- for (var idx = 0; idx < actions.length; idx++) {
132
- var _a = actions[idx], item = _a.item, name_1 = _a.name, prevented = _a.prevented, finished = _a.finished, domEvent = _a.domEvent;
133
- if (!canPerformAction(item, name_1)) {
134
- continue;
135
- }
136
- if (!this.emit(name_1, item, domEvent)) {
137
- if (item[name_1]) {
138
- item[name_1]();
139
- }
140
- if (finished) {
141
- finished();
142
- }
143
- }
144
- else if (prevented) {
145
- prevented();
146
- }
147
- }
148
- };
149
- ActionsService.prototype.requiresZone = function (toExecute) {
150
- var actions = toExecute || this.actions;
151
- var owner = this.owner;
152
- var contextService = owner.contextService;
153
- for (var idx = 0; idx < actions.length; idx++) {
154
- var action = actions[idx];
155
- var name_2 = action.name;
156
- if (action.requiresZone || (name_2 && (kendo_angular_common_1.hasObservers(owner[name_2]) || (contextService && contextService.hasObservers(name_2))))) {
157
- return true;
158
- }
159
- }
160
- return false;
161
- };
162
- ActionsService.prototype.closeChildren = function (item) {
163
- if (!item.opened) {
164
- return;
165
- }
166
- var children = this.items.children(item);
167
- this.closeItems(children);
168
- };
169
- ActionsService.prototype.closeItems = function (items) {
170
- for (var idx = 0; idx < items.length; idx++) {
171
- this.close(items[idx]);
172
- }
173
- };
174
- ActionsService = tslib_1.__decorate([
175
- core_1.Injectable(),
176
- tslib_1.__metadata("design:paramtypes", [core_1.NgZone, items_service_1.ItemsService])
177
- ], ActionsService);
178
- return ActionsService;
179
- }());
180
- exports.ActionsService = ActionsService;
@@ -1,138 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- "use strict";
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- var tslib_1 = require("tslib");
8
- var core_1 = require("@angular/core");
9
- var items_service_1 = require("./items.service");
10
- var actions_service_1 = require("./actions.service");
11
- var DISABLE_OPEN_ON_OVER_DELAY = 500;
12
- /**
13
- * @hidden
14
- */
15
- var HoverService = /** @class */ (function () {
16
- function HoverService(actions, items) {
17
- this.actions = actions;
18
- this.items = items;
19
- this.delay = 100;
20
- this._openOnOver = true;
21
- this.scheduled = [];
22
- }
23
- Object.defineProperty(HoverService.prototype, "openOnOver", {
24
- get: function () {
25
- return this._openOnOver;
26
- },
27
- set: function (value) {
28
- this.cancelActions();
29
- this._openOnOver = value;
30
- },
31
- enumerable: true,
32
- configurable: true
33
- });
34
- Object.defineProperty(HoverService.prototype, "hovered", {
35
- get: function () {
36
- return this.items.get(this.hoveredIdx);
37
- },
38
- set: function (item) {
39
- this.hoveredIdx = item ? item.index : null;
40
- },
41
- enumerable: true,
42
- configurable: true
43
- });
44
- HoverService.prototype.ngOnDestroy = function () {
45
- this.cancelActions();
46
- };
47
- HoverService.prototype.over = function (item) {
48
- var _this = this;
49
- this.cancelActions(function (action) { return action.name === 'openOnOver'; });
50
- if (!this.hovered || this.hovered !== item) {
51
- this.actions.closeOthers(item);
52
- this.hovered = item;
53
- if ((item.level > 0 || this.openOnOver) && !item.disabled) {
54
- this.actions.open(item);
55
- this.cancelActions(function (action) {
56
- return (action.name === 'close' && (item === action.item || _this.items.hasParent(item, action.item))) ||
57
- (action.name === 'open' && !_this.items.hasParent(item, action.item));
58
- });
59
- }
60
- this.scheduleActions();
61
- }
62
- };
63
- HoverService.prototype.leave = function (disableOpenOnOver) {
64
- var hovered = this.hovered;
65
- if (hovered) {
66
- this.actions.closeToRoot(hovered);
67
- this.cancelActions(function (action) { return action.name === 'open'; });
68
- this.scheduleActions();
69
- }
70
- if (disableOpenOnOver && this._openOnOver) {
71
- this.scheduleDisableOpenOnOver();
72
- }
73
- this.hovered = null;
74
- };
75
- HoverService.prototype.closeCurrent = function () {
76
- var hovered = this.hovered;
77
- if (hovered) {
78
- this.actions.closeToRoot(hovered);
79
- this.hovered = null;
80
- }
81
- };
82
- HoverService.prototype.scheduleActions = function () {
83
- var _this = this;
84
- if (this.actions.hasPending) {
85
- var item_1 = {};
86
- item_1.actions = this.actions.clear();
87
- item_1.id = setTimeout(function () {
88
- _this.actions.execute(item_1.actions);
89
- _this.removeScheduled(item_1);
90
- }, this.delay);
91
- this.scheduled.push(item_1);
92
- }
93
- };
94
- HoverService.prototype.scheduleDisableOpenOnOver = function () {
95
- var _this = this;
96
- var item = {
97
- actions: [{ name: 'openOnOver' }]
98
- };
99
- item.id = setTimeout(function () {
100
- _this._openOnOver = false;
101
- _this.removeScheduled(item);
102
- }, Math.max(this.delay, DISABLE_OPEN_ON_OVER_DELAY));
103
- this.scheduled.push(item);
104
- };
105
- HoverService.prototype.removeScheduled = function (item) {
106
- var scheduled = this.scheduled;
107
- for (var idx = 0; idx < scheduled.length; idx++) {
108
- if (scheduled[idx] === item) {
109
- scheduled.splice(idx, 1);
110
- return;
111
- }
112
- }
113
- };
114
- HoverService.prototype.cancelActions = function (predicate) {
115
- var scheduled = this.scheduled;
116
- for (var idx = scheduled.length - 1; idx >= 0; idx--) {
117
- var item = scheduled[idx];
118
- var actions = item.actions;
119
- if (predicate) {
120
- for (var actionIdx = actions.length - 1; actionIdx >= 0; actionIdx--) {
121
- if (predicate(actions[actionIdx])) {
122
- actions.splice(actionIdx, 1);
123
- }
124
- }
125
- }
126
- if (!predicate || actions.length === 0) {
127
- clearTimeout(item.id);
128
- scheduled.splice(idx, 1);
129
- }
130
- }
131
- };
132
- HoverService = tslib_1.__decorate([
133
- core_1.Injectable(),
134
- tslib_1.__metadata("design:paramtypes", [actions_service_1.ActionsService, items_service_1.ItemsService])
135
- ], HoverService);
136
- return HoverService;
137
- }());
138
- exports.HoverService = HoverService;