@progress/kendo-angular-menu 3.0.6 → 4.0.0-next.202203230842

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 +11 -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} +1112 -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 -106
  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,178 +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
- import * as tslib_1 from "tslib";
6
- import { NgZone, Injectable } from '@angular/core';
7
- import { ItemsService } from './items.service';
8
- import { MenuEvent } from '../menu-event';
9
- import { hasObservers } from '@progress/kendo-angular-common';
10
- var canPerformAction = function (item, action) {
11
- return !((action === 'open' && item.opened) || (action === 'close' && !item.opened));
12
- };
13
- var ɵ0 = canPerformAction;
14
- /**
15
- * @hidden
16
- */
17
- var ActionsService = /** @class */ (function () {
18
- function ActionsService(ngZone, items) {
19
- this.ngZone = ngZone;
20
- this.items = items;
21
- this.actions = [];
22
- }
23
- ActionsService.prototype.open = function (item, finished) {
24
- if (item.disabled) {
25
- return;
26
- }
27
- if (item.hasContent && !item.opened) {
28
- this.actions.push({
29
- name: 'open',
30
- requiresZone: item.hasContentTemplates(),
31
- item: item,
32
- finished: finished
33
- });
34
- }
35
- else if (finished) {
36
- finished();
37
- }
38
- };
39
- ActionsService.prototype.close = function (item) {
40
- this.closeChildren(item);
41
- this.closeItem(item);
42
- };
43
- ActionsService.prototype.closeItem = function (item) {
44
- if (item.opened) {
45
- this.actions.push({
46
- name: 'close',
47
- item: item
48
- });
49
- }
50
- };
51
- ActionsService.prototype.closeToRoot = function (item) {
52
- this.closeChildren(item);
53
- var current = item;
54
- do {
55
- this.closeItem(current);
56
- current = this.items.parent(current);
57
- } while (current);
58
- };
59
- ActionsService.prototype.closeOthers = function (item) {
60
- this.closeChildren(item);
61
- var current = item;
62
- while (current) {
63
- var siblings = this.items.otherSiblings(current);
64
- this.closeItems(siblings);
65
- current = this.items.parent(current);
66
- }
67
- };
68
- ActionsService.prototype.closeAll = function () {
69
- var _this = this;
70
- this.items.forEach(function (item) {
71
- if (item.opened && item.level === 0) {
72
- _this.close(item);
73
- }
74
- });
75
- };
76
- ActionsService.prototype.select = function (item, domEvent, prevented, finished) {
77
- this.actions.push({
78
- name: 'select',
79
- item: item,
80
- prevented: prevented,
81
- finished: finished,
82
- domEvent: domEvent
83
- });
84
- };
85
- ActionsService.prototype.emit = function (name, item, domEvent) {
86
- var owner = this.owner;
87
- var eventArgs = new MenuEvent({
88
- sender: owner,
89
- item: item.item,
90
- index: item.index,
91
- originalEvent: domEvent,
92
- hasContent: item.hasContent
93
- });
94
- owner[name].emit(eventArgs);
95
- if (owner.contextService) {
96
- owner.contextService.emit(name, eventArgs);
97
- }
98
- return eventArgs.isDefaultPrevented();
99
- };
100
- Object.defineProperty(ActionsService.prototype, "hasPending", {
101
- get: function () {
102
- return this.actions.length > 0;
103
- },
104
- enumerable: true,
105
- configurable: true
106
- });
107
- ActionsService.prototype.execute = function (toExecute) {
108
- var _this = this;
109
- if (!this.hasPending && !toExecute) {
110
- return;
111
- }
112
- var actions = toExecute || this.clear();
113
- if (!NgZone.isInAngularZone() && this.requiresZone(actions)) {
114
- this.ngZone.run(function () {
115
- _this.executeActions(actions);
116
- });
117
- }
118
- else {
119
- this.executeActions(actions);
120
- }
121
- };
122
- ActionsService.prototype.clear = function () {
123
- var actions = this.actions;
124
- this.actions = [];
125
- return actions;
126
- };
127
- ActionsService.prototype.executeActions = function (actions) {
128
- for (var idx = 0; idx < actions.length; idx++) {
129
- var _a = actions[idx], item = _a.item, name_1 = _a.name, prevented = _a.prevented, finished = _a.finished, domEvent = _a.domEvent;
130
- if (!canPerformAction(item, name_1)) {
131
- continue;
132
- }
133
- if (!this.emit(name_1, item, domEvent)) {
134
- if (item[name_1]) {
135
- item[name_1]();
136
- }
137
- if (finished) {
138
- finished();
139
- }
140
- }
141
- else if (prevented) {
142
- prevented();
143
- }
144
- }
145
- };
146
- ActionsService.prototype.requiresZone = function (toExecute) {
147
- var actions = toExecute || this.actions;
148
- var owner = this.owner;
149
- var contextService = owner.contextService;
150
- for (var idx = 0; idx < actions.length; idx++) {
151
- var action = actions[idx];
152
- var name_2 = action.name;
153
- if (action.requiresZone || (name_2 && (hasObservers(owner[name_2]) || (contextService && contextService.hasObservers(name_2))))) {
154
- return true;
155
- }
156
- }
157
- return false;
158
- };
159
- ActionsService.prototype.closeChildren = function (item) {
160
- if (!item.opened) {
161
- return;
162
- }
163
- var children = this.items.children(item);
164
- this.closeItems(children);
165
- };
166
- ActionsService.prototype.closeItems = function (items) {
167
- for (var idx = 0; idx < items.length; idx++) {
168
- this.close(items[idx]);
169
- }
170
- };
171
- ActionsService = tslib_1.__decorate([
172
- Injectable(),
173
- tslib_1.__metadata("design:paramtypes", [NgZone, ItemsService])
174
- ], ActionsService);
175
- return ActionsService;
176
- }());
177
- export { ActionsService };
178
- export { ɵ0 };
@@ -1,136 +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
- import * as tslib_1 from "tslib";
6
- import { Injectable } from '@angular/core';
7
- import { ItemsService } from './items.service';
8
- import { ActionsService } from './actions.service';
9
- var DISABLE_OPEN_ON_OVER_DELAY = 500;
10
- /**
11
- * @hidden
12
- */
13
- var HoverService = /** @class */ (function () {
14
- function HoverService(actions, items) {
15
- this.actions = actions;
16
- this.items = items;
17
- this.delay = 100;
18
- this._openOnOver = true;
19
- this.scheduled = [];
20
- }
21
- Object.defineProperty(HoverService.prototype, "openOnOver", {
22
- get: function () {
23
- return this._openOnOver;
24
- },
25
- set: function (value) {
26
- this.cancelActions();
27
- this._openOnOver = value;
28
- },
29
- enumerable: true,
30
- configurable: true
31
- });
32
- Object.defineProperty(HoverService.prototype, "hovered", {
33
- get: function () {
34
- return this.items.get(this.hoveredIdx);
35
- },
36
- set: function (item) {
37
- this.hoveredIdx = item ? item.index : null;
38
- },
39
- enumerable: true,
40
- configurable: true
41
- });
42
- HoverService.prototype.ngOnDestroy = function () {
43
- this.cancelActions();
44
- };
45
- HoverService.prototype.over = function (item) {
46
- var _this = this;
47
- this.cancelActions(function (action) { return action.name === 'openOnOver'; });
48
- if (!this.hovered || this.hovered !== item) {
49
- this.actions.closeOthers(item);
50
- this.hovered = item;
51
- if ((item.level > 0 || this.openOnOver) && !item.disabled) {
52
- this.actions.open(item);
53
- this.cancelActions(function (action) {
54
- return (action.name === 'close' && (item === action.item || _this.items.hasParent(item, action.item))) ||
55
- (action.name === 'open' && !_this.items.hasParent(item, action.item));
56
- });
57
- }
58
- this.scheduleActions();
59
- }
60
- };
61
- HoverService.prototype.leave = function (disableOpenOnOver) {
62
- var hovered = this.hovered;
63
- if (hovered) {
64
- this.actions.closeToRoot(hovered);
65
- this.cancelActions(function (action) { return action.name === 'open'; });
66
- this.scheduleActions();
67
- }
68
- if (disableOpenOnOver && this._openOnOver) {
69
- this.scheduleDisableOpenOnOver();
70
- }
71
- this.hovered = null;
72
- };
73
- HoverService.prototype.closeCurrent = function () {
74
- var hovered = this.hovered;
75
- if (hovered) {
76
- this.actions.closeToRoot(hovered);
77
- this.hovered = null;
78
- }
79
- };
80
- HoverService.prototype.scheduleActions = function () {
81
- var _this = this;
82
- if (this.actions.hasPending) {
83
- var item_1 = {};
84
- item_1.actions = this.actions.clear();
85
- item_1.id = setTimeout(function () {
86
- _this.actions.execute(item_1.actions);
87
- _this.removeScheduled(item_1);
88
- }, this.delay);
89
- this.scheduled.push(item_1);
90
- }
91
- };
92
- HoverService.prototype.scheduleDisableOpenOnOver = function () {
93
- var _this = this;
94
- var item = {
95
- actions: [{ name: 'openOnOver' }]
96
- };
97
- item.id = setTimeout(function () {
98
- _this._openOnOver = false;
99
- _this.removeScheduled(item);
100
- }, Math.max(this.delay, DISABLE_OPEN_ON_OVER_DELAY));
101
- this.scheduled.push(item);
102
- };
103
- HoverService.prototype.removeScheduled = function (item) {
104
- var scheduled = this.scheduled;
105
- for (var idx = 0; idx < scheduled.length; idx++) {
106
- if (scheduled[idx] === item) {
107
- scheduled.splice(idx, 1);
108
- return;
109
- }
110
- }
111
- };
112
- HoverService.prototype.cancelActions = function (predicate) {
113
- var scheduled = this.scheduled;
114
- for (var idx = scheduled.length - 1; idx >= 0; idx--) {
115
- var item = scheduled[idx];
116
- var actions = item.actions;
117
- if (predicate) {
118
- for (var actionIdx = actions.length - 1; actionIdx >= 0; actionIdx--) {
119
- if (predicate(actions[actionIdx])) {
120
- actions.splice(actionIdx, 1);
121
- }
122
- }
123
- }
124
- if (!predicate || actions.length === 0) {
125
- clearTimeout(item.id);
126
- scheduled.splice(idx, 1);
127
- }
128
- }
129
- };
130
- HoverService = tslib_1.__decorate([
131
- Injectable(),
132
- tslib_1.__metadata("design:paramtypes", [ActionsService, ItemsService])
133
- ], HoverService);
134
- return HoverService;
135
- }());
136
- export { HoverService };
@@ -1,140 +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
- import * as tslib_1 from "tslib";
6
- import { Injectable } from '@angular/core';
7
- var PARENT_REGEX = /_?\d+$/;
8
- var SEPARATOR = '_';
9
- var id = 0;
10
- var itemIndexComparer = function (a, b) { return a.siblingIndex - b.siblingIndex; };
11
- var ɵ0 = itemIndexComparer;
12
- var next = function (idx, items, dir) {
13
- var current = items[idx + dir];
14
- while (!current) {
15
- if (idx < 0) {
16
- idx = items.length - 1;
17
- }
18
- else if (idx >= items.length) {
19
- idx = 0;
20
- }
21
- else {
22
- idx += dir;
23
- }
24
- current = items[idx];
25
- }
26
- return current;
27
- };
28
- var ɵ1 = next;
29
- /**
30
- * @hidden
31
- */
32
- var ItemsService = /** @class */ (function () {
33
- function ItemsService() {
34
- this.items = {};
35
- this.lists = [];
36
- this.idPrefix = "k-menu" + id++;
37
- }
38
- Object.defineProperty(ItemsService.prototype, "hasItems", {
39
- get: function () {
40
- return Object.keys(this.items).length > 0;
41
- },
42
- enumerable: true,
43
- configurable: true
44
- });
45
- ItemsService.prototype.childId = function (index) {
46
- return this.idPrefix + "-child" + index;
47
- };
48
- ItemsService.prototype.itemIndex = function (parentIndex, index) {
49
- return (parentIndex ? parentIndex + SEPARATOR : '') + index;
50
- };
51
- ItemsService.prototype.get = function (index) {
52
- return this.items[index];
53
- };
54
- ItemsService.prototype.add = function (item) {
55
- this.items[item.index] = item;
56
- };
57
- ItemsService.prototype.remove = function (item) {
58
- if (this.items[item.index] === item) {
59
- delete this.items[item.index];
60
- }
61
- };
62
- ItemsService.prototype.addList = function (list) {
63
- this.lists.push(list);
64
- };
65
- ItemsService.prototype.removeList = function (list) {
66
- var index = this.lists.indexOf(list);
67
- if (index >= 0) {
68
- this.lists.splice(index, 1);
69
- }
70
- };
71
- ItemsService.prototype.containsList = function (element) {
72
- return Boolean(this.lists.find(function (list) { return list.element.nativeElement === element; }));
73
- };
74
- ItemsService.prototype.siblings = function (item) {
75
- var _this = this;
76
- var parentIndex = this.parentIndex(item.index);
77
- return this.filter(function (index) { return _this.parentIndex(index) === parentIndex; });
78
- };
79
- ItemsService.prototype.otherSiblings = function (item) {
80
- var _this = this;
81
- var parentIndex = this.parentIndex(item.index);
82
- return this.filter(function (index) { return _this.parentIndex(index) === parentIndex && index !== item.index; });
83
- };
84
- ItemsService.prototype.children = function (item) {
85
- var _this = this;
86
- return this.filter(function (index) { return _this.parentIndex(index) === item.index; });
87
- };
88
- ItemsService.prototype.parent = function (item) {
89
- return this.items[this.parentIndex(item.index)];
90
- };
91
- ItemsService.prototype.root = function (item) {
92
- return this.items[this.indices(item.index)[0]];
93
- };
94
- ItemsService.prototype.indices = function (index) {
95
- return index.split(SEPARATOR);
96
- };
97
- ItemsService.prototype.filter = function (predicate) {
98
- var result = [];
99
- var items = this.items;
100
- for (var index in items) {
101
- if (predicate(index, items[index])) {
102
- result.push(items[index]);
103
- }
104
- }
105
- return result.sort(itemIndexComparer);
106
- };
107
- ItemsService.prototype.previous = function (item) {
108
- var siblings = this.siblings(item);
109
- var itemIndex = siblings.indexOf(item);
110
- return next(itemIndex, siblings, -1);
111
- };
112
- ItemsService.prototype.next = function (item) {
113
- var siblings = this.siblings(item);
114
- var itemIndex = siblings.indexOf(item);
115
- return next(itemIndex, siblings, 1);
116
- };
117
- ItemsService.prototype.hasParent = function (item, parent) {
118
- return item.index.startsWith(parent.index);
119
- };
120
- ItemsService.prototype.areSiblings = function (item1, item2) {
121
- return item1 !== item2 && this.parent(item1) === this.parent(item2);
122
- };
123
- ItemsService.prototype.forEach = function (callback) {
124
- var items = this.items;
125
- for (var index in items) {
126
- if (items.hasOwnProperty(index)) {
127
- callback(items[index]);
128
- }
129
- }
130
- };
131
- ItemsService.prototype.parentIndex = function (index) {
132
- return index.replace(PARENT_REGEX, '');
133
- };
134
- ItemsService = tslib_1.__decorate([
135
- Injectable()
136
- ], ItemsService);
137
- return ItemsService;
138
- }());
139
- export { ItemsService };
140
- export { ɵ0, ɵ1 };