@acorex/components 7.5.1 → 7.8.0

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 (180) hide show
  1. package/badge/lib/badge.component.d.ts +3 -3
  2. package/button/lib/button-item.component.d.ts +3 -1
  3. package/calendar/lib/calendar.component.d.ts +6 -4
  4. package/chips/lib/chips.component.d.ts +1 -1
  5. package/collapse/lib/collapse.component.d.ts +15 -2
  6. package/collapse/lib/collapse.module.d.ts +2 -1
  7. package/common/index.d.ts +1 -0
  8. package/common/lib/classes/datalist.class.d.ts +0 -31
  9. package/common/lib/classes/datasource.class.d.ts +55 -0
  10. package/common/lib/classes/styles.class.d.ts +1 -1
  11. package/common/lib/components/interactive-component.class.d.ts +1 -7
  12. package/common/lib/components/selection-base.component.class.d.ts +4 -6
  13. package/common/lib/directives/ripple.directive.d.ts +2 -1
  14. package/datetime-box/lib/datetime-box.component.d.ts +2 -1
  15. package/datetime-input/lib/datetime-input.component.d.ts +2 -1
  16. package/esm2022/action-sheet/lib/action-sheet.component.mjs +2 -2
  17. package/esm2022/alert/lib/alert.component.mjs +4 -5
  18. package/esm2022/avatar/lib/avatar.component.mjs +4 -4
  19. package/esm2022/badge/lib/badge.component.mjs +6 -6
  20. package/esm2022/button/lib/button-item.component.mjs +12 -3
  21. package/esm2022/button/lib/button.component.mjs +2 -2
  22. package/esm2022/button-group/lib/button-group.component.mjs +2 -2
  23. package/esm2022/calendar/lib/calendar.class.mjs +1 -58
  24. package/esm2022/calendar/lib/calendar.component.mjs +27 -16
  25. package/esm2022/chips/lib/chips.component.mjs +4 -4
  26. package/esm2022/collapse/lib/collapse-group.component.mjs +8 -4
  27. package/esm2022/collapse/lib/collapse.component.mjs +63 -15
  28. package/esm2022/collapse/lib/collapse.module.mjs +5 -4
  29. package/esm2022/color-box/lib/color-box.module.mjs +1 -1
  30. package/esm2022/common/index.mjs +2 -1
  31. package/esm2022/common/lib/classes/datalist.class.mjs +2 -41
  32. package/esm2022/common/lib/classes/datasource.class.mjs +106 -0
  33. package/esm2022/common/lib/classes/styles.class.mjs +1 -1
  34. package/esm2022/common/lib/components/interactive-component.class.mjs +13 -13
  35. package/esm2022/common/lib/components/selection-base.component.class.mjs +55 -27
  36. package/esm2022/common/lib/directives/ripple.directive.mjs +14 -8
  37. package/esm2022/datetime-box/lib/datetime-box.component.mjs +6 -3
  38. package/esm2022/datetime-input/lib/datetime-input.component.mjs +11 -4
  39. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +3 -3
  40. package/esm2022/list/lib/list.component.mjs +34 -60
  41. package/esm2022/menu/index.mjs +1 -2
  42. package/esm2022/menu/lib/class/root-menu.class.mjs +1 -1
  43. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +60 -18
  44. package/esm2022/menu/lib/menu.component.mjs +37 -342
  45. package/esm2022/menu/lib/menu.module.mjs +3 -4
  46. package/esm2022/notification/lib/notification.component.mjs +2 -2
  47. package/esm2022/otp/lib/otp.component.mjs +4 -3
  48. package/esm2022/otp/lib/otp.module.mjs +4 -3
  49. package/esm2022/picker/lib/picker.component.mjs +2 -2
  50. package/esm2022/progress-bar/lib/progress-bar.component.mjs +2 -2
  51. package/esm2022/range-slider/lib/range-slider.component.mjs +2 -2
  52. package/esm2022/routing-progress/lib/routing-progress.component.mjs +3 -3
  53. package/esm2022/search-box/lib/search-box.component.mjs +5 -4
  54. package/esm2022/select-box/index.mjs +2 -2
  55. package/esm2022/select-box/lib/select-box.component.mjs +168 -308
  56. package/esm2022/select-box/lib/select-box.module.mjs +5 -6
  57. package/esm2022/selection-list/lib/selection-list.component.mjs +11 -1
  58. package/esm2022/side-menu/acorex-components-side-menu.mjs +5 -0
  59. package/esm2022/side-menu/index.mjs +4 -0
  60. package/esm2022/side-menu/lib/side-menu-item/side-menu-item.compoent.mjs +116 -0
  61. package/esm2022/side-menu/lib/side-menu.component.mjs +15 -0
  62. package/esm2022/side-menu/lib/side-menu.module.mjs +23 -0
  63. package/esm2022/skeleton/acorex-components-skeleton.mjs +5 -0
  64. package/esm2022/skeleton/index.mjs +3 -0
  65. package/esm2022/skeleton/lib/skeleton.component.mjs +24 -0
  66. package/esm2022/skeleton/lib/skeleton.module.mjs +18 -0
  67. package/esm2022/tabs/lib/tab-item.component.mjs +9 -2
  68. package/esm2022/tag/lib/tag.component.mjs +6 -12
  69. package/esm2022/toast/lib/toast.component.mjs +3 -3
  70. package/fesm2022/acorex-components-action-sheet.mjs +2 -2
  71. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  72. package/fesm2022/acorex-components-alert.mjs +3 -4
  73. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  74. package/fesm2022/acorex-components-avatar.mjs +3 -3
  75. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  76. package/fesm2022/acorex-components-badge.mjs +5 -5
  77. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  78. package/fesm2022/acorex-components-button-group.mjs +2 -2
  79. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  80. package/fesm2022/acorex-components-button.mjs +13 -4
  81. package/fesm2022/acorex-components-button.mjs.map +1 -1
  82. package/fesm2022/acorex-components-calendar.mjs +27 -73
  83. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  84. package/fesm2022/acorex-components-chips.mjs +3 -3
  85. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  86. package/fesm2022/acorex-components-collapse.mjs +74 -21
  87. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  88. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  89. package/fesm2022/acorex-components-common.mjs +161 -62
  90. package/fesm2022/acorex-components-common.mjs.map +1 -1
  91. package/fesm2022/acorex-components-datetime-box.mjs +5 -2
  92. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  93. package/fesm2022/acorex-components-datetime-input.mjs +10 -3
  94. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  95. package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
  96. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  97. package/fesm2022/acorex-components-list.mjs +33 -59
  98. package/fesm2022/acorex-components-list.mjs.map +1 -1
  99. package/fesm2022/acorex-components-menu.mjs +78 -381
  100. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  101. package/fesm2022/acorex-components-notification.mjs +2 -2
  102. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  103. package/fesm2022/acorex-components-otp.mjs +6 -4
  104. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  105. package/fesm2022/acorex-components-picker.mjs +2 -2
  106. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  107. package/fesm2022/acorex-components-progress-bar.mjs +2 -2
  108. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  109. package/fesm2022/acorex-components-range-slider.mjs +2 -2
  110. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  111. package/fesm2022/acorex-components-routing-progress.mjs +2 -2
  112. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  113. package/fesm2022/acorex-components-search-box.mjs +4 -4
  114. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  115. package/fesm2022/acorex-components-select-box.mjs +96 -417
  116. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  117. package/fesm2022/acorex-components-selection-list.mjs +10 -0
  118. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  119. package/fesm2022/acorex-components-side-menu.mjs +153 -0
  120. package/fesm2022/acorex-components-side-menu.mjs.map +1 -0
  121. package/fesm2022/acorex-components-skeleton.mjs +46 -0
  122. package/fesm2022/acorex-components-skeleton.mjs.map +1 -0
  123. package/fesm2022/acorex-components-tabs.mjs +8 -1
  124. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  125. package/fesm2022/acorex-components-tag.mjs +5 -11
  126. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  127. package/fesm2022/acorex-components-toast.mjs +2 -2
  128. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  129. package/list/lib/list.component.d.ts +11 -23
  130. package/menu/index.d.ts +0 -1
  131. package/menu/lib/class/root-menu.class.d.ts +2 -0
  132. package/menu/lib/menu-item/menu-item.component.d.ts +19 -6
  133. package/menu/lib/menu.component.d.ts +10 -40
  134. package/menu/lib/menu.module.d.ts +7 -8
  135. package/mixin/lib/base-components.class.d.ts +2 -2
  136. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  137. package/mixin/lib/button-mixin.class.d.ts +2 -2
  138. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  139. package/mixin/lib/color-look-mixing.class.d.ts +2 -2
  140. package/mixin/lib/datalist-component.class.d.ts +10 -10
  141. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  142. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  143. package/mixin/lib/mixin.class.d.ts +61 -61
  144. package/mixin/lib/page-component.class.d.ts +2 -2
  145. package/mixin/lib/selection-component.class.d.ts +2 -2
  146. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  147. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  148. package/mixin/lib/value-mixin.class.d.ts +8 -8
  149. package/otp/lib/otp.module.d.ts +2 -1
  150. package/package.json +13 -7
  151. package/search-box/lib/search-box.component.d.ts +2 -1
  152. package/select-box/index.d.ts +1 -1
  153. package/select-box/lib/select-box.component.d.ts +37 -59
  154. package/select-box/lib/select-box.module.d.ts +14 -15
  155. package/selection-list/lib/selection-list.component.d.ts +3 -0
  156. package/side-menu/README.md +3 -0
  157. package/side-menu/index.d.ts +3 -0
  158. package/side-menu/lib/side-menu-item/side-menu-item.compoent.d.ts +37 -0
  159. package/side-menu/lib/side-menu.component.d.ts +8 -0
  160. package/side-menu/lib/side-menu.module.d.ts +10 -0
  161. package/skeleton/README.md +3 -0
  162. package/skeleton/index.d.ts +2 -0
  163. package/skeleton/lib/skeleton.component.d.ts +8 -0
  164. package/skeleton/lib/skeleton.module.d.ts +8 -0
  165. package/tabs/lib/tab-item.component.d.ts +2 -1
  166. package/tag/lib/tag.component.d.ts +3 -4
  167. package/context-menu/README.md +0 -3
  168. package/context-menu/index.d.ts +0 -2
  169. package/context-menu/lib/context-menu.component.d.ts +0 -34
  170. package/context-menu/lib/context-menu.module.d.ts +0 -13
  171. package/esm2022/context-menu/acorex-components-context-menu.mjs +0 -5
  172. package/esm2022/context-menu/index.mjs +0 -3
  173. package/esm2022/context-menu/lib/context-menu.component.mjs +0 -262
  174. package/esm2022/context-menu/lib/context-menu.module.mjs +0 -26
  175. package/esm2022/menu/lib/menu2.component.mjs +0 -45
  176. package/esm2022/select-box/lib/select-box2.component.mjs +0 -191
  177. package/fesm2022/acorex-components-context-menu.mjs +0 -290
  178. package/fesm2022/acorex-components-context-menu.mjs.map +0 -1
  179. package/menu/lib/menu2.component.d.ts +0 -12
  180. package/select-box/lib/select-box2.component.d.ts +0 -44
@@ -1,191 +0,0 @@
1
- import { AXClearableComponent, AXComponent, AXFocusableComponent, AXSearchableComponent, AXValuableComponent, MXLookComponent, MXSelectionValueComponent, } from '@acorex/components/common';
2
- import { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';
3
- import { AXListComponent } from '@acorex/components/list';
4
- import { AXPlatform } from '@acorex/core/platform';
5
- import { ChangeDetectionStrategy, Component, HostListener, Input, TemplateRef, ViewChild, ViewEncapsulation, forwardRef, inject, } from '@angular/core';
6
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
- import { findLastIndex, last, nth } from 'lodash-es';
8
- import { classes } from 'polytype';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common";
11
- import * as i2 from "@angular/forms";
12
- import * as i3 from "@acorex/components/decorators";
13
- import * as i4 from "@acorex/components/loading";
14
- import * as i5 from "@acorex/components/dropdown";
15
- import * as i6 from "@acorex/components/list";
16
- /**
17
- * The Button is a component which detects user interaction and triggers a corresponding event
18
- *
19
- * @category Components
20
- */
21
- export class AXSelectBox2Component extends classes(MXDropdownBoxBaseComponent, MXSelectionValueComponent, MXLookComponent) {
22
- constructor() {
23
- super(...arguments);
24
- this.isLoading = false;
25
- this.renderList = false;
26
- //_dataSource:AXDate
27
- this.source = [];
28
- this.autoHeight = false;
29
- this.platform = inject(AXPlatform);
30
- }
31
- ngOnInit() {
32
- this.setDropdownSize();
33
- }
34
- getItemByKey(key) {
35
- return { [this.valueField]: key, [this.textField]: key };
36
- }
37
- _handleOnOpenedEvent() {
38
- this.renderList = true;
39
- this.list?.render();
40
- setTimeout(() => {
41
- this.list?.focus();
42
- }, 100);
43
- }
44
- _handleOnClosedEvent() {
45
- //this.input.focus();
46
- }
47
- _handleBadgeRemove(e, item) {
48
- this.unselectItems(item);
49
- }
50
- _handleOnDataLoad(items) {
51
- this.setDropdownSize(items.length);
52
- }
53
- _handleValueChanged(e) {
54
- if (e.isUserInteraction)
55
- this.commitValue(e.value, e.isUserInteraction);
56
- }
57
- internalValueChanged() {
58
- if (!this.multiple)
59
- this.close();
60
- setTimeout(() => {
61
- this.detectAutoHeight();
62
- }, 100);
63
- }
64
- detectAutoHeight() {
65
- const containerWidth = this.getHostElement().querySelector('.ax-select-box-selection').clientWidth;
66
- const itemsWidth = Array.from(this.getHostElement().querySelectorAll('.ax-select-multi-item')).reduce((a, i) => a + i.clientWidth, 0);
67
- this.autoHeight = containerWidth - itemsWidth <= 8;
68
- this.dropdown.updatePosition();
69
- this.cdr.markForCheck();
70
- }
71
- setDropdownSize(count = 0) {
72
- this.dropdownSizes = {
73
- width: this.platform.is('SM') ? '100%' : `${this.getHostElement().offsetWidth}px`,
74
- height: count == 0 ? 'auto' : `${Math.min(5, count) * 40}px`,
75
- };
76
- }
77
- _handleKeydown(e) {
78
- if (e.code === 'ArrowDown' || e.code === 'ArrowUp') {
79
- this.selectItemByNav(e.code === 'ArrowDown' ? 1 : -1);
80
- e.preventDefault();
81
- }
82
- else if (e.code === 'Backspace') {
83
- this.unselectItems(this.selectedItems.pop());
84
- e.preventDefault();
85
- }
86
- // if ((e.code === 'Space' || e.code === 'Enter') && this.hasItems) {
87
- // if (this.readonly || this.disabled) {
88
- // e.preventDefault();
89
- // e.stopPropagation();
90
- // return;
91
- // }
92
- // const id = document.activeElement?.closest('li')?.dataset?.id;
93
- // this.toggleSelect(id);
94
- // e.preventDefault();
95
- // e.stopPropagation()
96
- // }
97
- }
98
- selectItemByNav(sign) {
99
- if (Array.isArray(this.source) && !this.multiple) {
100
- const items = this.normalizeItemsList(this.source);
101
- const _last = last(this.selectedItems);
102
- let i = -1;
103
- if (_last) {
104
- i = findLastIndex(items, [this.valueField, _last[this.valueField]]);
105
- }
106
- i += sign;
107
- if (i < 0 || i >= items.length)
108
- return;
109
- const next = nth(items, i);
110
- if (next) {
111
- this.selectItems(next);
112
- }
113
- }
114
- else {
115
- this.open();
116
- }
117
- }
118
- search(term) {
119
- this.source;
120
- }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXSelectBox2Component, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXSelectBox2Component, selector: "ax-select-box2", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", minValue: "minValue", maxValue: "maxValue", value: "value", state: "state", name: "name", id: "id", type: "type", look: "look", multiple: "multiple", source: "source", itemTemplate: "itemTemplate", emptyTemplate: "emptyTemplate", loadingTemplate: "loadingTemplate" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange" }, host: { listeners: { "keydown": "_handleKeydown($event)" } }, providers: [
123
- { provide: AXComponent, useExisting: AXSelectBox2Component },
124
- { provide: AXFocusableComponent, useExisting: AXSelectBox2Component },
125
- { provide: AXValuableComponent, useExisting: AXSelectBox2Component },
126
- { provide: AXClearableComponent, useExisting: AXSelectBox2Component },
127
- { provide: AXSearchableComponent, useExisting: AXSelectBox2Component },
128
- {
129
- provide: NG_VALUE_ACCESSOR,
130
- useExisting: forwardRef(() => AXSelectBox2Component),
131
- multi: true,
132
- },
133
- ], viewQueries: [{ propertyName: "list", first: true, predicate: AXListComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent()\" (onClosed)=\"_handleOnClosedEvent()\"\n [look]=\"look\" [class.ax-auto-height]=\"autoHeight\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div class=\"ax-select-box-selection ax-select-box-multi-selection\" [tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" (click)=\"toggle()\">\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\" *ngIf=\"selectedItems.length === 0\">\n {{ placeholder }}\n </div>\n <ng-container *ngFor=\"let item of selectedItems\">\n <div class=\"ax-select-multi-item\">\n {{ item[textField] }}\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"\n *ngIf=\"selectedItems.length > 1\">\n </span>\n </div>\n </ng-container>\n </div>\n <ng-content select=\" ax-clear-button\"></ng-content>\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button ax-button-icon\"\n (click)=\"toggle()\">\n <ng-container *ngIf=\"isLoading && !isOpen; else iconTemplate\">\n <ax-loading type=\"spinner\"></ax-loading>\n </ng-container>\n <ng-template #iconTemplate>\n <span class=\"ax-icon ax-icon-chevron-left ax-arrow-button\" [ngClass]=\"{\n '-rotation-90': !isOpen,\n 'rotation-90': isOpen\n }\"></span>\n </ng-template>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <div class=\"ax-select-box2-panel\">\n <ax-header class=\"ax-default\" *ngIf=\"dropdown.isActionsheetStyle\">\n <ax-title>{{ placeholder }}</ax-title>\n <ax-close-button\n [icon]=\"multiple ? 'ax-icon ax-icon-done !ax-text-primary-500' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n <div class=\"ax-search-container\">\n <ng-content select=\"ax-search-box\"> </ng-content>\n </div>\n <ax-list *ngIf=\"renderList\" [source]=\"source\" [multiple]=\"multiple\" [style.width]=\"dropdownSizes.width\"\n [style.height]=\"dropdownSizes.height\" [emptyTemplate]=\"emptyTemplate ?? empty\" [itemTemplate]=\"itemTemplate\"\n [loadingTemplate]=\"loadingTemplate\" [ngModel]=\"value\" (onValueChanged)=\"_handleValueChanged($event)\"\n (onDataLoad)=\"_handleOnDataLoad($event)\">\n <ng-template #empty> No Items! </ng-template>\n </ax-list>\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>", styles: ["ax-select-box2 ax-dropdown-box.ax-auto-height{height:auto!important}ax-select-box2 .ax-editor-container.ax-look-fill .ax-select-multi-item{background-color:rgba(var(--ax-color-surface))!important}ax-select-box2 .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgba(var(--ax-color-on-surface));color:rgba(var(--ax-color-text-default));border-radius:var(--ax-rounded-border-default)}ax-select-box2 .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box2 .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;outline:transparent;-webkit-user-select:none;user-select:none;cursor:pointer;justify-content:flex-start;flex:1}ax-select-box2 .ax-select-box-selection>span{padding-inline-start:1rem;padding-inline-end:.75rem;white-space:nowrap}ax-select-box2 .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}ax-select-box2 .ax-select-box-multi-selection{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem}ax-select-box2 .ax-placeholder{padding-inline-start:1rem;padding-inline-end:.75rem}ax-select-box2 .ax-general-button .ax-arrow-button{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-select-box2 .ax-general-button .ax-arrow-button.-rotation-90{transform:rotate(-90deg)}ax-select-box2 .ax-general-button .ax-arrow-button.rotation-90{transform:rotate(90deg)}.ax-select-box2-panel>ax-header.ax-default{border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}.ax-select-box2-panel .ax-search-container{padding:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title" }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i5.AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "component", type: i6.AXListComponent, selector: "ax-list", inputs: ["id", "name", "disabled", "readonly", "valueField", "textField", "disabledField", "multiple", "source", "itemHeight", "itemTemplate", "emptyTemplate", "loadingTemplate", "checkbox"], outputs: ["onValueChanged", "disabledChange", "readOnlyChange", "onBlur", "onFocus", "onDataLoad", "onScrolledIndexChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
134
- }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXSelectBox2Component, decorators: [{
136
- type: Component,
137
- args: [{ selector: 'ax-select-box2', inputs: [
138
- 'disabled',
139
- 'readonly',
140
- 'tabIndex',
141
- 'placeholder',
142
- 'minValue',
143
- 'maxValue',
144
- 'value',
145
- 'state',
146
- 'name',
147
- 'id',
148
- 'type',
149
- 'look',
150
- 'multiple',
151
- ], outputs: [
152
- 'valueChange',
153
- 'stateChange',
154
- 'onValueChanged',
155
- 'onBlur',
156
- 'onFocus',
157
- 'readonlyChange',
158
- 'disabledChange',
159
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
160
- { provide: AXComponent, useExisting: AXSelectBox2Component },
161
- { provide: AXFocusableComponent, useExisting: AXSelectBox2Component },
162
- { provide: AXValuableComponent, useExisting: AXSelectBox2Component },
163
- { provide: AXClearableComponent, useExisting: AXSelectBox2Component },
164
- { provide: AXSearchableComponent, useExisting: AXSelectBox2Component },
165
- {
166
- provide: NG_VALUE_ACCESSOR,
167
- useExisting: forwardRef(() => AXSelectBox2Component),
168
- multi: true,
169
- },
170
- ], template: "<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent()\" (onClosed)=\"_handleOnClosedEvent()\"\n [look]=\"look\" [class.ax-auto-height]=\"autoHeight\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div class=\"ax-select-box-selection ax-select-box-multi-selection\" [tabindex]=\"tabIndex\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" (click)=\"toggle()\">\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\" *ngIf=\"selectedItems.length === 0\">\n {{ placeholder }}\n </div>\n <ng-container *ngFor=\"let item of selectedItems\">\n <div class=\"ax-select-multi-item\">\n {{ item[textField] }}\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"\n *ngIf=\"selectedItems.length > 1\">\n </span>\n </div>\n </ng-container>\n </div>\n <ng-content select=\" ax-clear-button\"></ng-content>\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-general-button ax-button-icon\"\n (click)=\"toggle()\">\n <ng-container *ngIf=\"isLoading && !isOpen; else iconTemplate\">\n <ax-loading type=\"spinner\"></ax-loading>\n </ng-container>\n <ng-template #iconTemplate>\n <span class=\"ax-icon ax-icon-chevron-left ax-arrow-button\" [ngClass]=\"{\n '-rotation-90': !isOpen,\n 'rotation-90': isOpen\n }\"></span>\n </ng-template>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <div class=\"ax-select-box2-panel\">\n <ax-header class=\"ax-default\" *ngIf=\"dropdown.isActionsheetStyle\">\n <ax-title>{{ placeholder }}</ax-title>\n <ax-close-button\n [icon]=\"multiple ? 'ax-icon ax-icon-done !ax-text-primary-500' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n <div class=\"ax-search-container\">\n <ng-content select=\"ax-search-box\"> </ng-content>\n </div>\n <ax-list *ngIf=\"renderList\" [source]=\"source\" [multiple]=\"multiple\" [style.width]=\"dropdownSizes.width\"\n [style.height]=\"dropdownSizes.height\" [emptyTemplate]=\"emptyTemplate ?? empty\" [itemTemplate]=\"itemTemplate\"\n [loadingTemplate]=\"loadingTemplate\" [ngModel]=\"value\" (onValueChanged)=\"_handleValueChanged($event)\"\n (onDataLoad)=\"_handleOnDataLoad($event)\">\n <ng-template #empty> No Items! </ng-template>\n </ax-list>\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>", styles: ["ax-select-box2 ax-dropdown-box.ax-auto-height{height:auto!important}ax-select-box2 .ax-editor-container.ax-look-fill .ax-select-multi-item{background-color:rgba(var(--ax-color-surface))!important}ax-select-box2 .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgba(var(--ax-color-on-surface));color:rgba(var(--ax-color-text-default));border-radius:var(--ax-rounded-border-default)}ax-select-box2 .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box2 .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;outline:transparent;-webkit-user-select:none;user-select:none;cursor:pointer;justify-content:flex-start;flex:1}ax-select-box2 .ax-select-box-selection>span{padding-inline-start:1rem;padding-inline-end:.75rem;white-space:nowrap}ax-select-box2 .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}ax-select-box2 .ax-select-box-multi-selection{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem}ax-select-box2 .ax-placeholder{padding-inline-start:1rem;padding-inline-end:.75rem}ax-select-box2 .ax-general-button .ax-arrow-button{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-select-box2 .ax-general-button .ax-arrow-button.-rotation-90{transform:rotate(-90deg)}ax-select-box2 .ax-general-button .ax-arrow-button.rotation-90{transform:rotate(90deg)}.ax-select-box2-panel>ax-header.ax-default{border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default))}.ax-select-box2-panel .ax-search-container{padding:.5rem}\n"] }]
171
- }], propDecorators: { source: [{
172
- type: Input
173
- }], placeholder: [{
174
- type: Input
175
- }], itemTemplate: [{
176
- type: Input
177
- }], emptyTemplate: [{
178
- type: Input
179
- }], loadingTemplate: [{
180
- type: Input
181
- }], list: [{
182
- type: ViewChild,
183
- args: [AXListComponent]
184
- }], dropdown: [{
185
- type: ViewChild,
186
- args: [AXDropdownBoxComponent, { static: true }]
187
- }], _handleKeydown: [{
188
- type: HostListener,
189
- args: ['keydown', ['$event']]
190
- }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJveDIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NlbGVjdC1ib3gvc3JjL2xpYi9zZWxlY3QtYm94Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc2VsZWN0LWJveC9zcmMvbGliL3NlbGVjdC1ib3gyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsV0FBVyxFQUVYLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsbUJBQW1CLEVBRW5CLGVBQWUsRUFDZix5QkFBeUIsR0FDMUIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7QUFFbkM7Ozs7R0FJRztBQTRDSCxNQUFNLE9BQU8scUJBQ1gsU0FBUSxPQUFPLENBQUMsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsZUFBZSxDQUFDO0lBNUN6Rjs7UUErQ0Us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LFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ2xlYXJhYmxlQ29tcG9uZW50LFxuICBBWENvbXBvbmVudCxcbiAgQVhEYXRhTGlzdEl0ZW1zLFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhTZWFyY2hhYmxlQ29tcG9uZW50LFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBBWFZhbHVlQ2hhbmdlZEV2ZW50LFxuICBNWExvb2tDb21wb25lbnQsXG4gIE1YU2VsZWN0aW9uVmFsdWVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhEcm9wZG93bkJveENvbXBvbmVudCwgTVhEcm9wZG93bkJveEJhc2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhMaXN0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xpc3QnO1xuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmaW5kTGFzdEluZGV4LCBsYXN0LCBudGggfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcblxuLyoqXG4gKiBUaGUgQnV0dG9uIGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtc2VsZWN0LWJveDInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWJveDIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtYm94Mi5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFtcbiAgICAnZGlzYWJsZWQnLFxuICAgICdyZWFkb25seScsXG4gICAgJ3RhYkluZGV4JyxcbiAgICAncGxhY2Vob2xkZXInLFxuICAgICdtaW5WYWx1ZScsXG4gICAgJ21heFZhbHVlJyxcbiAgICAndmFsdWUnLFxuICAgICdzdGF0ZScsXG4gICAgJ25hbWUnLFxuICAgICdpZCcsXG4gICAgJ3R5cGUnLFxuICAgICdsb29rJyxcbiAgICAnbXVsdGlwbGUnLFxuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnc3RhdGVDaGFuZ2UnLFxuICAgICdvblZhbHVlQ2hhbmdlZCcsXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICdyZWFkb25seUNoYW5nZScsXG4gICAgJ2Rpc2FibGVkQ2hhbmdlJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFNlbGVjdEJveDJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhTZWxlY3RCb3gyQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhTZWxlY3RCb3gyQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWENsZWFyYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYU2VsZWN0Qm94MkNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhTZWFyY2hhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhTZWxlY3RCb3gyQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFNlbGVjdEJveDJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhTZWxlY3RCb3gyQ29tcG9uZW50XG4gIGV4dGVuZHMgY2xhc3NlcyhNWERyb3Bkb3duQm94QmFzZUNvbXBvbmVudCwgTVhTZWxlY3Rpb25WYWx1ZUNvbXBvbmVudCwgTVhMb29rQ29tcG9uZW50KVxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHJlbmRlckxpc3QgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgZHJvcGRvd25TaXplczogeyB3aWR0aDogc3RyaW5nOyBoZWlnaHQ6IHN0cmluZyB9O1xuXG4gIC8vX2RhdGFTb3VyY2U6QVhEYXRlXG5cbiAgQElucHV0KClcbiAgc291cmNlOiBBWERhdGFMaXN0SXRlbXMgPSBbXTtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgZW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgbG9hZGluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAVmlld0NoaWxkKEFYTGlzdENvbXBvbmVudClcbiAgbGlzdDogQVhMaXN0Q29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQVhEcm9wZG93bkJveENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIGRyb3Bkb3duOiBBWERyb3Bkb3duQm94Q29tcG9uZW50O1xuXG4gIHByb3RlY3RlZCBhdXRvSGVpZ2h0ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBwbGF0Zm9ybSA9IGluamVjdChBWFBsYXRmb3JtKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldERyb3Bkb3duU2l6ZSgpO1xuICB9XG5cbiAgZ2V0SXRlbUJ5S2V5KGtleTogdW5rbm93bik6IHVua25vd24ge1xuICAgIHJldHVybiB7IFt0aGlzLnZhbHVlRmllbGRdOiBrZXksIFt0aGlzLnRleHRGaWVsZF06IGtleSB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVPbk9wZW5lZEV2ZW50KCkge1xuICAgIHRoaXMucmVuZGVyTGlzdCA9IHRydWU7XG4gICAgdGhpcy5saXN0Py5yZW5kZXIoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubGlzdD8uZm9jdXMoKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVPbkNsb3NlZEV2ZW50KCkge1xuICAgIC8vdGhpcy5pbnB1dC5mb2N1cygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVCYWRnZVJlbW92ZShlOiBNb3VzZUV2ZW50LCBpdGVtKSB7XG4gICAgdGhpcy51bnNlbGVjdEl0ZW1zKGl0ZW0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVPbkRhdGFMb2FkKGl0ZW1zOiB1bmtub3duW10pIHtcbiAgICB0aGlzLnNldERyb3Bkb3duU2l6ZShpdGVtcy5sZW5ndGgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVWYWx1ZUNoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCkge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB0aGlzLmNvbW1pdFZhbHVlKGUudmFsdWUsIGUuaXNVc2VySW50ZXJhY3Rpb24pO1xuICB9XG5cbiAgb3ZlcnJpZGUgaW50ZXJuYWxWYWx1ZUNoYW5nZWQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB0aGlzLmNsb3NlKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRldGVjdEF1dG9IZWlnaHQoKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RBdXRvSGVpZ2h0KCkge1xuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoOiBudW1iZXIgPVxuICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtc2VsZWN0LWJveC1zZWxlY3Rpb24nKS5jbGllbnRXaWR0aDtcbiAgICBjb25zdCBpdGVtc1dpZHRoOiBudW1iZXIgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTERpdkVsZW1lbnQ+KCcuYXgtc2VsZWN0LW11bHRpLWl0ZW0nKSxcbiAgICApLnJlZHVjZSgoYSwgaSkgPT4gYSArIGkuY2xpZW50V2lkdGgsIDApO1xuICAgIHRoaXMuYXV0b0hlaWdodCA9IGNvbnRhaW5lcldpZHRoIC0gaXRlbXNXaWR0aCA8PSA4O1xuICAgIHRoaXMuZHJvcGRvd24udXBkYXRlUG9zaXRpb24oKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RHJvcGRvd25TaXplKGNvdW50ID0gMCkge1xuICAgIHRoaXMuZHJvcGRvd25TaXplcyA9IHtcbiAgICAgIHdpZHRoOiB0aGlzLnBsYXRmb3JtLmlzKCdTTScpID8gJzEwMCUnIDogYCR7dGhpcy5nZXRIb3N0RWxlbWVudCgpLm9mZnNldFdpZHRofXB4YCxcbiAgICAgIGhlaWdodDogY291bnQgPT0gMCA/ICdhdXRvJyA6IGAke01hdGgubWluKDUsIGNvdW50KSAqIDQwfXB4YCxcbiAgICB9O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIF9oYW5kbGVLZXlkb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZS5jb2RlID09PSAnQXJyb3dEb3duJyB8fCBlLmNvZGUgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5zZWxlY3RJdGVtQnlOYXYoZS5jb2RlID09PSAnQXJyb3dEb3duJyA/IDEgOiAtMSk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfSBlbHNlIGlmIChlLmNvZGUgPT09ICdCYWNrc3BhY2UnKSB7XG4gICAgICB0aGlzLnVuc2VsZWN0SXRlbXModGhpcy5zZWxlY3RlZEl0ZW1zLnBvcCgpKTtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gICAgLy8gaWYgKChlLmNvZGUgPT09ICdTcGFjZScgfHwgZS5jb2RlID09PSAnRW50ZXInKSAmJiB0aGlzLmhhc0l0ZW1zKSB7XG4gICAgLy8gICAgIGlmICh0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAvLyAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAvLyAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgLy8gICAgICAgICByZXR1cm47XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgY29uc3QgaWQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdsaScpPy5kYXRhc2V0Py5pZDtcbiAgICAvLyAgICAgdGhpcy50b2dnbGVTZWxlY3QoaWQpO1xuICAgIC8vICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgLy8gICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAvLyB9XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEl0ZW1CeU5hdihzaWduOiAxIHwgLTEpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnNvdXJjZSkgJiYgIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5ub3JtYWxpemVJdGVtc0xpc3QodGhpcy5zb3VyY2UpO1xuICAgICAgY29uc3QgX2xhc3Q6IGFueSA9IGxhc3QodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAgIGxldCBpID0gLTE7XG4gICAgICBpZiAoX2xhc3QpIHtcbiAgICAgICAgaSA9IGZpbmRMYXN0SW5kZXgoaXRlbXMsIFt0aGlzLnZhbHVlRmllbGQsIF9sYXN0W3RoaXMudmFsdWVGaWVsZF1dKTtcbiAgICAgIH1cbiAgICAgIGkgKz0gc2lnbjtcbiAgICAgIGlmIChpIDwgMCB8fCBpID49IGl0ZW1zLmxlbmd0aCkgcmV0dXJuO1xuICAgICAgY29uc3QgbmV4dCA9IG50aDx1bmtub3duPihpdGVtcywgaSk7XG4gICAgICBpZiAobmV4dCkge1xuICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKG5leHQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICBzZWFyY2godGVybTogc3RyaW5nKSB7XG4gICAgdGhpcy5zb3VyY2U7XG4gIH1cbn1cbiIsIjxheC1kcm9wZG93bi1ib3ggW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKG9uT3BlbmVkKT1cIl9oYW5kbGVPbk9wZW5lZEV2ZW50KClcIiAob25DbG9zZWQpPVwiX2hhbmRsZU9uQ2xvc2VkRXZlbnQoKVwiXG4gIFtsb29rXT1cImxvb2tcIiBbY2xhc3MuYXgtYXV0by1oZWlnaHRdPVwiYXV0b0hlaWdodFwiPlxuICA8bmctY29udGFpbmVyIGlucHV0PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPiA8L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImF4LXNlbGVjdC1ib3gtc2VsZWN0aW9uIGF4LXNlbGVjdC1ib3gtbXVsdGktc2VsZWN0aW9uXCIgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgICAgIChmb2N1cyk9XCJlbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIiAoYmx1cik9XCJlbWl0T25CbHVyRXZlbnQoJGV2ZW50KVwiIChjbGljayk9XCJ0b2dnbGUoKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LXBsYWNlaG9sZGVyXCIgcm9sZT1cInRleHRib3hcIiBhcmVhLXJlYWRvbmx5PVwidHJ1ZVwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZEl0ZW1zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1zZWxlY3QtbXVsdGktaXRlbVwiPlxuICAgICAgICAgIHt7IGl0ZW1bdGV4dEZpZWxkXSB9fVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNsb3NlXCIgKGNsaWNrKT1cIl9oYW5kbGVCYWRnZVJlbW92ZSgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAxXCI+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIiBheC1jbGVhci1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3RhYkluZGV4XT1cIi0xXCIgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24taWNvblwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlKClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xvYWRpbmcgJiYgIWlzT3BlbjsgZWxzZSBpY29uVGVtcGxhdGVcIj5cbiAgICAgICAgPGF4LWxvYWRpbmcgdHlwZT1cInNwaW5uZXJcIj48L2F4LWxvYWRpbmc+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLWxlZnQgYXgtYXJyb3ctYnV0dG9uXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJy1yb3RhdGlvbi05MCc6ICFpc09wZW4sXG4gICAgICAgICAgICAncm90YXRpb24tOTAnOiBpc09wZW5cbiAgICAgICAgICB9XCI+PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2J1dHRvbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj4gPC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBwYW5lbD5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtc2VsZWN0LWJveDItcGFuZWxcIj5cbiAgICAgIDxheC1oZWFkZXIgY2xhc3M9XCJheC1kZWZhdWx0XCIgKm5nSWY9XCJkcm9wZG93bi5pc0FjdGlvbnNoZWV0U3R5bGVcIj5cbiAgICAgICAgPGF4LXRpdGxlPnt7IHBsYWNlaG9sZGVyIH19PC9heC10aXRsZT5cbiAgICAgICAgPGF4LWNsb3NlLWJ1dHRvblxuICAgICAgICAgIFtpY29uXT1cIm11bHRpcGxlID8gJ2F4LWljb24gYXgtaWNvbi1kb25lICFheC10ZXh0LXByaW1hcnktNTAwJyA6ICdheC1pY29uIGF4LWljb24tY2xvc2UnXCI+PC9heC1jbG9zZS1idXR0b24+XG4gICAgICA8L2F4LWhlYWRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1zZWFyY2gtY29udGFpbmVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXNlYXJjaC1ib3hcIj4gPC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8YXgtbGlzdCAqbmdJZj1cInJlbmRlckxpc3RcIiBbc291cmNlXT1cInNvdXJjZVwiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiIFtzdHlsZS53aWR0aF09XCJkcm9wZG93blNpemVzLndpZHRoXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJkcm9wZG93blNpemVzLmhlaWdodFwiIFtlbXB0eVRlbXBsYXRlXT1cImVtcHR5VGVtcGxhdGUgPz8gZW1wdHlcIiBbaXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVwiXG4gICAgICAgIFtsb2FkaW5nVGVtcGxhdGVdPVwibG9hZGluZ1RlbXBsYXRlXCIgW25nTW9kZWxdPVwidmFsdWVcIiAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZVZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgKG9uRGF0YUxvYWQpPVwiX2hhbmRsZU9uRGF0YUxvYWQoJGV2ZW50KVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5PiBObyBJdGVtcyEgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvYXgtbGlzdD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWZvb3RlclwiPiA8L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9heC1kcm9wZG93bi1ib3g+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj4gPC9uZy1jb250ZW50PiJdfQ==
@@ -1,290 +0,0 @@
1
- import * as i1 from '@angular/cdk/overlay';
2
- import { OverlayModule } from '@angular/cdk/overlay';
3
- import { AXBaseMenuMixin, AXBaseComponent } from '@acorex/components/mixin';
4
- import * as i2 from '@acorex/core/platform';
5
- import { TemplatePortal } from '@angular/cdk/portal';
6
- import * as i0 from '@angular/core';
7
- import { ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input, NgModule } from '@angular/core';
8
- import * as i3 from '@angular/common';
9
- import { CommonModule } from '@angular/common';
10
- import * as i4 from '@acorex/components/menu';
11
- import { AXMenuModule } from '@acorex/components/menu';
12
- import { AXDecoratorModule } from '@acorex/components/decorators';
13
- import { AXLoadingModule } from '@acorex/components/loading';
14
- import { AXTranslationModule } from '@acorex/core/translation';
15
-
16
- /**
17
- * The Button is a component which detects user interaction and triggers a corresponding event
18
- *
19
- * @category Components
20
- */
21
- class AXContextMenuComponent extends AXBaseMenuMixin {
22
- get contextTemplate() {
23
- return this._contextTemplate;
24
- }
25
- get target() {
26
- return this._target;
27
- }
28
- set target(v) {
29
- if (v instanceof HTMLElement)
30
- this._target = v;
31
- else if (v instanceof ElementRef)
32
- this._target = v.nativeElement;
33
- else if (v instanceof AXBaseComponent)
34
- this._target = v._getInnerElement();
35
- }
36
- constructor(_elementRef, cdr, _overlay, _viewContainerRef, _platform) {
37
- super(_elementRef, cdr);
38
- this._elementRef = _elementRef;
39
- this.cdr = cdr;
40
- this._overlay = _overlay;
41
- this._viewContainerRef = _viewContainerRef;
42
- this._platform = _platform;
43
- }
44
- onInit() {
45
- super.onInit();
46
- }
47
- ngAfterViewInit() {
48
- super.onViewInit();
49
- this._templatePortal = new TemplatePortal(this._contextTemplate ? this._contextTemplate : this._menuTmp, this._viewContainerRef);
50
- if (this._target) {
51
- this._target.addEventListener('contextmenu', (e) => {
52
- e.preventDefault();
53
- const position = {
54
- getBoundingClientRect: () => ({
55
- bottom: e.clientY,
56
- height: 0,
57
- left: e.clientX,
58
- right: e.clientX,
59
- top: e.clientY,
60
- width: 0,
61
- }),
62
- };
63
- this._openAsOverlay(new ElementRef(position));
64
- });
65
- }
66
- }
67
- _openAsOverlay(position) {
68
- this._overlayRef = this._overlay.create({
69
- positionStrategy: this._overlay
70
- .position()
71
- .flexibleConnectedTo(position)
72
- .withPositions([
73
- {
74
- originX: 'end',
75
- originY: 'top',
76
- overlayX: 'start',
77
- overlayY: 'top',
78
- },
79
- {
80
- originX: 'end',
81
- originY: 'center',
82
- overlayX: 'start',
83
- overlayY: 'top',
84
- },
85
- {
86
- originX: 'end',
87
- originY: 'bottom',
88
- overlayX: 'start',
89
- overlayY: 'top',
90
- },
91
- {
92
- originX: 'end',
93
- originY: 'top',
94
- overlayX: 'center',
95
- overlayY: 'top',
96
- },
97
- {
98
- originX: 'end',
99
- originY: 'top',
100
- overlayX: 'end',
101
- overlayY: 'top',
102
- },
103
- {
104
- originX: 'end',
105
- originY: 'top',
106
- overlayX: 'end',
107
- overlayY: 'center',
108
- },
109
- {
110
- originX: 'end',
111
- originY: 'top',
112
- overlayX: 'end',
113
- overlayY: 'bottom',
114
- },
115
- {
116
- originX: 'start',
117
- originY: 'top',
118
- overlayX: 'start',
119
- overlayY: 'top',
120
- },
121
- {
122
- originX: 'start',
123
- originY: 'center',
124
- overlayX: 'start',
125
- overlayY: 'top',
126
- },
127
- {
128
- originX: 'start',
129
- originY: 'bottom',
130
- overlayX: 'start',
131
- overlayY: 'top',
132
- },
133
- {
134
- originX: 'start',
135
- originY: 'top',
136
- overlayX: 'center',
137
- overlayY: 'top',
138
- },
139
- {
140
- originX: 'start',
141
- originY: 'top',
142
- overlayX: 'end',
143
- overlayY: 'top',
144
- },
145
- {
146
- originX: 'start',
147
- originY: 'top',
148
- overlayX: 'end',
149
- overlayY: 'center',
150
- },
151
- {
152
- originX: 'start',
153
- originY: 'top',
154
- overlayX: 'end',
155
- overlayY: 'bottom',
156
- },
157
- {
158
- originX: 'center',
159
- originY: 'top',
160
- overlayX: 'start',
161
- overlayY: 'top',
162
- },
163
- {
164
- originX: 'center',
165
- originY: 'center',
166
- overlayX: 'start',
167
- overlayY: 'top',
168
- },
169
- {
170
- originX: 'center',
171
- originY: 'bottom',
172
- overlayX: 'start',
173
- overlayY: 'top',
174
- },
175
- {
176
- originX: 'center',
177
- originY: 'top',
178
- overlayX: 'center',
179
- overlayY: 'top',
180
- },
181
- {
182
- originX: 'center',
183
- originY: 'top',
184
- overlayX: 'end',
185
- overlayY: 'top',
186
- },
187
- {
188
- originX: 'center',
189
- originY: 'top',
190
- overlayX: 'end',
191
- overlayY: 'center',
192
- },
193
- {
194
- originX: 'center',
195
- originY: 'top',
196
- overlayX: 'end',
197
- overlayY: 'bottom',
198
- },
199
- ])
200
- .withPush(false),
201
- direction: this._platform.isRtl() ? 'rtl' : 'ltr',
202
- disposeOnNavigation: true,
203
- panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', 'ax-overlay-menu'],
204
- maxHeight: 'unset',
205
- hasBackdrop: false,
206
- backdropClass: ['cdk-overlay-transparent-backdrop'],
207
- });
208
- this._overlayRef.attach(this._templatePortal);
209
- this._overlayRef.outsidePointerEvents().subscribe(() => {
210
- if (this._overlayRef && this.openMode === 'click') {
211
- this.close();
212
- }
213
- });
214
- this._platform.scroll.subscribe(() => {
215
- if (this._overlayRef) {
216
- this.close();
217
- }
218
- });
219
- this._platform.resize.subscribe(() => {
220
- if (this._overlayRef) {
221
- this.close();
222
- }
223
- });
224
- }
225
- close() {
226
- this._overlayRef.detach();
227
- this.displayItems.forEach((element) => {
228
- element.opened = false;
229
- element.active = false;
230
- });
231
- this.cdr.detectChanges();
232
- }
233
- /***********defultTmp***********/
234
- onContextMenuClick(e) {
235
- this.onMenuItemClick.emit(e);
236
- }
237
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXContextMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component }); }
238
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXContextMenuComponent, selector: "ax-context-menu", inputs: { disabled: "disabled", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", opened: "opened", active: "active", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", displayMode: "displayMode", target: "target" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, viewQueries: [{ propertyName: "_contextTemplate", first: true, predicate: ["contextTemplate"], descendants: true }, { propertyName: "_menuTmp", first: true, predicate: ["menuTmp"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contextTemplateRef>\n <ng-container *ngIf=\"contextTemplate else menuTmp\">\n <ng-container *ngTemplateOutlet=\"contextTemplate\">\n </ng-container>\n </ng-container>\n</ng-template>\n<ng-template #menuTmp>\n <ax-menu class=\"ax-context-menu\" displayMode=\"vertical\" openMode=\"hover\" [items]='items'\n [disableField]=\"disableField\" [hasChildField]=\"hasChildField\" [textField]=\"textField\" [iconField]=\"iconField\"\n [valueField]=\"valueField\" [dividerField]=\"dividerField\" (onMenuItemClick)='onContextMenuClick($event)'>\n </ax-menu>\n</ng-template>", styles: [".ax-context-menu{background-color:rgba(var(--ax-color-surface));border:1px solid;border-color:rgba(var(--ax-color-border-default));min-width:12rem;border-radius:var(--ax-rounded-border-default)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXMenuComponent, selector: "ax-menu", inputs: ["disabled", "tabIndex", "textField", "valueField", "items", "parentId", "iconField", "tooltip", "opened", "visibleField", "disableField", "hasChildField", "dividerField", "openMode", "displayMode", "showModal", "activeCallback"], outputs: ["onBlur", "onFocus", "onMenuItemClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
239
- }
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXContextMenuComponent, decorators: [{
241
- type: Component,
242
- args: [{ selector: 'ax-context-menu', inputs: [
243
- 'disabled',
244
- 'textField',
245
- 'valueField',
246
- 'items',
247
- 'parentId',
248
- 'iconField',
249
- 'opened',
250
- 'active',
251
- 'visibleField',
252
- 'disableField',
253
- 'hasChildField',
254
- 'dividerField',
255
- 'openMode',
256
- 'displayMode',
257
- ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #contextTemplateRef>\n <ng-container *ngIf=\"contextTemplate else menuTmp\">\n <ng-container *ngTemplateOutlet=\"contextTemplate\">\n </ng-container>\n </ng-container>\n</ng-template>\n<ng-template #menuTmp>\n <ax-menu class=\"ax-context-menu\" displayMode=\"vertical\" openMode=\"hover\" [items]='items'\n [disableField]=\"disableField\" [hasChildField]=\"hasChildField\" [textField]=\"textField\" [iconField]=\"iconField\"\n [valueField]=\"valueField\" [dividerField]=\"dividerField\" (onMenuItemClick)='onContextMenuClick($event)'>\n </ax-menu>\n</ng-template>", styles: [".ax-context-menu{background-color:rgba(var(--ax-color-surface));border:1px solid;border-color:rgba(var(--ax-color-border-default));min-width:12rem;border-radius:var(--ax-rounded-border-default)}\n"] }]
258
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.AXPlatform }]; }, propDecorators: { _contextTemplate: [{
259
- type: ViewChild,
260
- args: ['contextTemplate']
261
- }], _menuTmp: [{
262
- type: ViewChild,
263
- args: ['menuTmp', { static: true }]
264
- }], target: [{
265
- type: Input
266
- }] } });
267
-
268
- const COMPONENT = [AXContextMenuComponent];
269
- const MODULES = [AXDecoratorModule, AXLoadingModule, AXTranslationModule, OverlayModule, AXMenuModule];
270
- class AXContextMenuModule {
271
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
272
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXContextMenuModule, declarations: [AXContextMenuComponent], imports: [CommonModule, AXDecoratorModule, AXLoadingModule, AXTranslationModule, OverlayModule, AXMenuModule], exports: [AXContextMenuComponent] }); }
273
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXContextMenuModule, imports: [CommonModule, MODULES] }); }
274
- }
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXContextMenuModule, decorators: [{
276
- type: NgModule,
277
- args: [{
278
- declarations: [...COMPONENT],
279
- imports: [CommonModule, ...MODULES],
280
- exports: [...COMPONENT],
281
- providers: [],
282
- }]
283
- }] });
284
-
285
- /**
286
- * Generated bundle index. Do not edit.
287
- */
288
-
289
- export { AXContextMenuComponent, AXContextMenuModule };
290
- //# sourceMappingURL=acorex-components-context-menu.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-components-context-menu.mjs","sources":["../../../../libs/components/context-menu/src/lib/context-menu.component.ts","../../../../libs/components/context-menu/src/lib/context-menu.component.html","../../../../libs/components/context-menu/src/lib/context-menu.module.ts","../../../../libs/components/context-menu/src/acorex-components-context-menu.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\n\nimport { AXBaseComponent, AXBaseMenuMixin } from '@acorex/components/mixin';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.scss'],\n inputs: [\n 'disabled',\n 'textField',\n 'valueField',\n 'items',\n 'parentId',\n 'iconField',\n 'opened',\n 'active',\n 'visibleField',\n 'disableField',\n 'hasChildField',\n 'dividerField',\n 'openMode',\n 'displayMode',\n ],\n outputs: ['onBlur', 'onFocus', 'onMenuItemClick'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXContextMenuComponent extends AXBaseMenuMixin implements OnInit {\n @ViewChild('contextTemplate')\n _contextTemplate: TemplateRef<any>;\n\n get contextTemplate(): TemplateRef<any> {\n return this._contextTemplate;\n }\n\n @ViewChild('menuTmp', { static: true })\n _menuTmp: TemplateRef<any>;\n\n private _overlayRef: OverlayRef;\n\n private _templatePortal: TemplatePortal;\n\n private _target: HTMLElement;\n\n @Input()\n public get target(): HTMLElement {\n return this._target;\n }\n\n public set target(v: HTMLElement | ElementRef | AXBaseComponent) {\n if (v instanceof HTMLElement) this._target = v;\n else if (v instanceof ElementRef) this._target = v.nativeElement;\n else if (v instanceof AXBaseComponent) this._target = v._getInnerElement();\n }\n\n constructor(\n private _elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n private _overlay: Overlay,\n private _viewContainerRef: ViewContainerRef,\n private _platform: AXPlatform,\n ) {\n super(_elementRef, cdr);\n }\n\n override onInit(): void {\n super.onInit();\n }\n\n override ngAfterViewInit(): void {\n super.onViewInit();\n\n this._templatePortal = new TemplatePortal(\n this._contextTemplate ? this._contextTemplate : this._menuTmp,\n this._viewContainerRef,\n );\n\n if (this._target) {\n this._target.addEventListener('contextmenu', (e) => {\n e.preventDefault();\n const position = {\n getBoundingClientRect: () => ({\n bottom: e.clientY,\n height: 0,\n left: e.clientX,\n right: e.clientX,\n top: e.clientY,\n width: 0,\n }),\n };\n this._openAsOverlay(new ElementRef(position));\n });\n }\n }\n\n private _openAsOverlay(position): void {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(position)\n .withPositions([\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'center',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'center',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'center',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'top',\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'center',\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n ])\n .withPush(false),\n direction: this._platform.isRtl() ? 'rtl' : 'ltr',\n disposeOnNavigation: true,\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', 'ax-overlay-menu'],\n maxHeight: 'unset',\n hasBackdrop: false,\n backdropClass: ['cdk-overlay-transparent-backdrop'],\n });\n this._overlayRef.attach(this._templatePortal);\n this._overlayRef.outsidePointerEvents().subscribe(() => {\n if (this._overlayRef && this.openMode === 'click') {\n this.close();\n }\n });\n\n this._platform.scroll.subscribe(() => {\n if (this._overlayRef) {\n this.close();\n }\n });\n\n this._platform.resize.subscribe(() => {\n if (this._overlayRef) {\n this.close();\n }\n });\n }\n\n private close() {\n this._overlayRef.detach();\n this.displayItems.forEach((element) => {\n element.opened = false;\n element.active = false;\n });\n this.cdr.detectChanges();\n }\n\n /***********defultTmp***********/\n onContextMenuClick(e) {\n this.onMenuItemClick.emit(e);\n }\n}\n","<ng-template #contextTemplateRef>\n <ng-container *ngIf=\"contextTemplate else menuTmp\">\n <ng-container *ngTemplateOutlet=\"contextTemplate\">\n </ng-container>\n </ng-container>\n</ng-template>\n<ng-template #menuTmp>\n <ax-menu class=\"ax-context-menu\" displayMode=\"vertical\" openMode=\"hover\" [items]='items'\n [disableField]=\"disableField\" [hasChildField]=\"hasChildField\" [textField]=\"textField\" [iconField]=\"iconField\"\n [valueField]=\"valueField\" [dividerField]=\"dividerField\" (onMenuItemClick)='onContextMenuClick($event)'>\n </ax-menu>\n</ng-template>","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXMenuModule } from '@acorex/components/menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXContextMenuComponent } from './context-menu.component';\n\nconst COMPONENT = [AXContextMenuComponent];\nconst MODULES = [AXDecoratorModule, AXLoadingModule, AXTranslationModule, OverlayModule, AXMenuModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [CommonModule, ...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXContextMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { AXOrientation, MXBaseComponent } from '@acorex/components/common';
2
- import { AfterViewInit, QueryList } from '@angular/core';
3
- import { AXMenuItemComponent } from './menu-item/menu-item.component';
4
- import * as i0 from "@angular/core";
5
- export declare class AXMenu2Component extends MXBaseComponent implements AfterViewInit {
6
- oriatation: AXOrientation;
7
- children: QueryList<AXMenuItemComponent>;
8
- ngAfterViewInit(): void;
9
- get __hostClass(): string;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<AXMenu2Component, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<AXMenu2Component, "ax-menu2", never, { "oriatation": { "alias": "oriatation"; "required": false; }; }, {}, ["children"], ["ax-menu-item"], false, never>;
12
- }