zek 17.3.119 → 19.0.1

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 (187) hide show
  1. package/README.md +49 -10
  2. package/fesm2022/zek.mjs +856 -750
  3. package/fesm2022/zek.mjs.map +1 -1
  4. package/lib/components/base.component.d.ts +1 -1
  5. package/lib/components/core-ui.component.d.ts +1 -1
  6. package/lib/components/core.component.d.ts +1 -1
  7. package/lib/components/edit-base.component.d.ts +3 -3
  8. package/lib/components/list-base.component.d.ts +1 -1
  9. package/lib/modules/bb/bb-modal-base.d.ts +1 -1
  10. package/lib/modules/validators/directive.d.ts +1 -1
  11. package/package.json +3 -5
  12. package/esm2022/lib/components/args.mjs +0 -2
  13. package/esm2022/lib/components/base.component.mjs +0 -101
  14. package/esm2022/lib/components/core-ui.component.mjs +0 -193
  15. package/esm2022/lib/components/core.component.mjs +0 -46
  16. package/esm2022/lib/components/edit-base.component.mjs +0 -226
  17. package/esm2022/lib/components/index.mjs +0 -8
  18. package/esm2022/lib/components/list-base.component.mjs +0 -311
  19. package/esm2022/lib/components/types.mjs +0 -2
  20. package/esm2022/lib/directives/delayed-input.directive.mjs +0 -57
  21. package/esm2022/lib/directives/index.mjs +0 -2
  22. package/esm2022/lib/models/alert-type.mjs +0 -2
  23. package/esm2022/lib/models/api.mjs +0 -2
  24. package/esm2022/lib/models/approve.moodel.mjs +0 -2
  25. package/esm2022/lib/models/batch.model.mjs +0 -2
  26. package/esm2022/lib/models/captcha.model.mjs +0 -2
  27. package/esm2022/lib/models/ctor.mjs +0 -2
  28. package/esm2022/lib/models/edit-base.model.mjs +0 -3
  29. package/esm2022/lib/models/file.model.mjs +0 -2
  30. package/esm2022/lib/models/filter.model.mjs +0 -12
  31. package/esm2022/lib/models/gender.model.mjs +0 -6
  32. package/esm2022/lib/models/index.mjs +0 -22
  33. package/esm2022/lib/models/key-pair.model.mjs +0 -14
  34. package/esm2022/lib/models/list-base.model.mjs +0 -3
  35. package/esm2022/lib/models/login.model.mjs +0 -2
  36. package/esm2022/lib/models/modal-size.mjs +0 -2
  37. package/esm2022/lib/models/month.model.mjs +0 -16
  38. package/esm2022/lib/models/nav.model.mjs +0 -2
  39. package/esm2022/lib/models/pager.model.mjs +0 -33
  40. package/esm2022/lib/models/print.model.mjs +0 -6
  41. package/esm2022/lib/models/tree.mjs +0 -2
  42. package/esm2022/lib/models/tree.model.mjs +0 -7
  43. package/esm2022/lib/models/valid-event-args.model.mjs +0 -6
  44. package/esm2022/lib/modules/age/age.pipe.mjs +0 -22
  45. package/esm2022/lib/modules/age/index.mjs +0 -2
  46. package/esm2022/lib/modules/alert/alert/alert.mjs +0 -48
  47. package/esm2022/lib/modules/alert/index.mjs +0 -5
  48. package/esm2022/lib/modules/alert/toast/toast.mjs +0 -119
  49. package/esm2022/lib/modules/alert/validation/validation.mjs +0 -56
  50. package/esm2022/lib/modules/autocomplete/autocomplete.directive.mjs +0 -25
  51. package/esm2022/lib/modules/autocomplete/index.mjs +0 -2
  52. package/esm2022/lib/modules/bb/bb-modal-base.mjs +0 -74
  53. package/esm2022/lib/modules/bb/bb-modal-toolbar.mjs +0 -44
  54. package/esm2022/lib/modules/bb/bb.component.mjs +0 -207
  55. package/esm2022/lib/modules/bb/bb.module.mjs +0 -37
  56. package/esm2022/lib/modules/bb/index.mjs +0 -5
  57. package/esm2022/lib/modules/callback/callback.pipe.mjs +0 -23
  58. package/esm2022/lib/modules/callback/index.mjs +0 -2
  59. package/esm2022/lib/modules/card/card/card.mjs +0 -48
  60. package/esm2022/lib/modules/card/index.mjs +0 -2
  61. package/esm2022/lib/modules/countdown/countdown.mjs +0 -103
  62. package/esm2022/lib/modules/countdown/index.mjs +0 -2
  63. package/esm2022/lib/modules/date-ago/date-ago.pipe.mjs +0 -45
  64. package/esm2022/lib/modules/date-ago/index.mjs +0 -2
  65. package/esm2022/lib/modules/datepicker/date-value-accessor.mjs +0 -188
  66. package/esm2022/lib/modules/datepicker/datepicker.module.mjs +0 -31
  67. package/esm2022/lib/modules/datepicker/index.mjs +0 -3
  68. package/esm2022/lib/modules/edit-toolbar/edit-toolbar.mjs +0 -94
  69. package/esm2022/lib/modules/edit-toolbar/index.mjs +0 -2
  70. package/esm2022/lib/modules/file/file-size.pipe.mjs +0 -50
  71. package/esm2022/lib/modules/file/index.mjs +0 -2
  72. package/esm2022/lib/modules/file-input/file-input.mjs +0 -79
  73. package/esm2022/lib/modules/file-input/index.mjs +0 -2
  74. package/esm2022/lib/modules/file-viewer/file-viewer.mjs +0 -53
  75. package/esm2022/lib/modules/file-viewer/index.mjs +0 -2
  76. package/esm2022/lib/modules/google-login-button/google-login-button.mjs +0 -135
  77. package/esm2022/lib/modules/google-login-button/index.mjs +0 -3
  78. package/esm2022/lib/modules/google-login-button/loader.mjs +0 -10
  79. package/esm2022/lib/modules/google-login-button/module.mjs +0 -40
  80. package/esm2022/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.mjs +0 -147
  81. package/esm2022/lib/modules/grid-toolbar/grid-toolbar-bar/grid-toolbar-bar.mjs +0 -16
  82. package/esm2022/lib/modules/grid-toolbar/index.mjs +0 -3
  83. package/esm2022/lib/modules/index.mjs +0 -39
  84. package/esm2022/lib/modules/list-toolbar/index.mjs +0 -2
  85. package/esm2022/lib/modules/list-toolbar/list-toolbar.mjs +0 -112
  86. package/esm2022/lib/modules/loading/index.mjs +0 -4
  87. package/esm2022/lib/modules/loading/loading-interceptor.mjs +0 -59
  88. package/esm2022/lib/modules/loading/loading.mjs +0 -33
  89. package/esm2022/lib/modules/loading/loading.module.mjs +0 -32
  90. package/esm2022/lib/modules/modal/filter-modal/filter-modal.component.mjs +0 -23
  91. package/esm2022/lib/modules/modal/index.mjs +0 -5
  92. package/esm2022/lib/modules/modal/modal/modal.component.mjs +0 -355
  93. package/esm2022/lib/modules/modal/modal.module.mjs +0 -62
  94. package/esm2022/lib/modules/modal/sum-modal/sum-modal.component.mjs +0 -27
  95. package/esm2022/lib/modules/numeric/index.mjs +0 -2
  96. package/esm2022/lib/modules/numeric/numeric.directive.mjs +0 -92
  97. package/esm2022/lib/modules/page-title/index.mjs +0 -2
  98. package/esm2022/lib/modules/page-title/page-title.component.mjs +0 -33
  99. package/esm2022/lib/modules/pager/index.mjs +0 -2
  100. package/esm2022/lib/modules/pager/pager/pager.mjs +0 -52
  101. package/esm2022/lib/modules/password/index.mjs +0 -2
  102. package/esm2022/lib/modules/password/password.mjs +0 -48
  103. package/esm2022/lib/modules/progress/index.mjs +0 -2
  104. package/esm2022/lib/modules/progress/progress.mjs +0 -97
  105. package/esm2022/lib/modules/radio/index.mjs +0 -2
  106. package/esm2022/lib/modules/radio/radio.mjs +0 -133
  107. package/esm2022/lib/modules/readonly/index.mjs +0 -2
  108. package/esm2022/lib/modules/readonly/readonly.directive.mjs +0 -29
  109. package/esm2022/lib/modules/recaptcha/index.mjs +0 -4
  110. package/esm2022/lib/modules/recaptcha/loader.mjs +0 -13
  111. package/esm2022/lib/modules/recaptcha/recaptcha.model.mjs +0 -2
  112. package/esm2022/lib/modules/recaptcha/recaptcha.module.mjs +0 -32
  113. package/esm2022/lib/modules/recaptcha/recaptcha.service.mjs +0 -119
  114. package/esm2022/lib/modules/safe/index.mjs +0 -2
  115. package/esm2022/lib/modules/safe/safe.pipe.mjs +0 -40
  116. package/esm2022/lib/modules/select/index.mjs +0 -2
  117. package/esm2022/lib/modules/select/model.mjs +0 -4
  118. package/esm2022/lib/modules/select/select.mjs +0 -201
  119. package/esm2022/lib/modules/select2/index.mjs +0 -2
  120. package/esm2022/lib/modules/select2/select2.mjs +0 -172
  121. package/esm2022/lib/modules/select2-multiple/index.mjs +0 -2
  122. package/esm2022/lib/modules/select2-multiple/select2-multiple.mjs +0 -137
  123. package/esm2022/lib/modules/sort/index.mjs +0 -3
  124. package/esm2022/lib/modules/sort/sort-button-group/sort-button-group.mjs +0 -81
  125. package/esm2022/lib/modules/sort/sort.mjs +0 -120
  126. package/esm2022/lib/modules/tag/index.mjs +0 -2
  127. package/esm2022/lib/modules/tag/tag.mjs +0 -111
  128. package/esm2022/lib/modules/time/index.mjs +0 -4
  129. package/esm2022/lib/modules/time/time.module.mjs +0 -27
  130. package/esm2022/lib/modules/time/time.pipe.mjs +0 -40
  131. package/esm2022/lib/modules/time/timer-service.mjs +0 -89
  132. package/esm2022/lib/modules/tooltip/index.mjs +0 -2
  133. package/esm2022/lib/modules/tooltip/tooltip.mjs +0 -27
  134. package/esm2022/lib/modules/utc-to-local/index.mjs +0 -3
  135. package/esm2022/lib/modules/utc-to-local/local-to-utc.pipe.mjs +0 -39
  136. package/esm2022/lib/modules/utc-to-local/utc-to-local.pipe.mjs +0 -38
  137. package/esm2022/lib/modules/validator/field-validator.mjs +0 -17
  138. package/esm2022/lib/modules/validator/index.mjs +0 -2
  139. package/esm2022/lib/modules/validators/directive.mjs +0 -107
  140. package/esm2022/lib/modules/validators/index.mjs +0 -4
  141. package/esm2022/lib/modules/validators/module.mjs +0 -28
  142. package/esm2022/lib/modules/validators/validator.mjs +0 -119
  143. package/esm2022/lib/modules/wizard/index.mjs +0 -3
  144. package/esm2022/lib/modules/wizard/wizard/wizard.mjs +0 -66
  145. package/esm2022/lib/modules/wizard/wizard2/wizard2.mjs +0 -14
  146. package/esm2022/lib/services/alert.service.mjs +0 -74
  147. package/esm2022/lib/services/auth-guard.service.mjs +0 -13
  148. package/esm2022/lib/services/auth.service.mjs +0 -194
  149. package/esm2022/lib/services/base.service.mjs +0 -8
  150. package/esm2022/lib/services/cache-helper.mjs +0 -35
  151. package/esm2022/lib/services/crud.service.mjs +0 -48
  152. package/esm2022/lib/services/file.service.mjs +0 -32
  153. package/esm2022/lib/services/http-error-handler.service.mjs +0 -141
  154. package/esm2022/lib/services/index.mjs +0 -9
  155. package/esm2022/lib/services/web.api.mjs +0 -139
  156. package/esm2022/lib/tokens.mjs +0 -7
  157. package/esm2022/lib/utils/array-helper.mjs +0 -216
  158. package/esm2022/lib/utils/base64-helper.mjs +0 -18
  159. package/esm2022/lib/utils/bitwise-helper.mjs +0 -14
  160. package/esm2022/lib/utils/bootstrap.helper.mjs +0 -124
  161. package/esm2022/lib/utils/convert.mjs +0 -35
  162. package/esm2022/lib/utils/css-helper.mjs +0 -41
  163. package/esm2022/lib/utils/date-helper.mjs +0 -264
  164. package/esm2022/lib/utils/error-helper.mjs +0 -32
  165. package/esm2022/lib/utils/excel-helper.mjs +0 -13
  166. package/esm2022/lib/utils/file.helper.mjs +0 -75
  167. package/esm2022/lib/utils/filter-helper.mjs +0 -13
  168. package/esm2022/lib/utils/handler.mjs +0 -24
  169. package/esm2022/lib/utils/html-helper.mjs +0 -73
  170. package/esm2022/lib/utils/index.mjs +0 -28
  171. package/esm2022/lib/utils/interval-helper.mjs +0 -32
  172. package/esm2022/lib/utils/jwt-helper.mjs +0 -11
  173. package/esm2022/lib/utils/math-helper.mjs +0 -19
  174. package/esm2022/lib/utils/object-helper.mjs +0 -80
  175. package/esm2022/lib/utils/overlap-helper.mjs +0 -73
  176. package/esm2022/lib/utils/pager-helper.mjs +0 -63
  177. package/esm2022/lib/utils/random-helper.mjs +0 -16
  178. package/esm2022/lib/utils/storage-helper.mjs +0 -28
  179. package/esm2022/lib/utils/string-helper.mjs +0 -84
  180. package/esm2022/lib/utils/thenBy.mjs +0 -41
  181. package/esm2022/lib/utils/time-helper.mjs +0 -46
  182. package/esm2022/lib/utils/tmp-helper.mjs +0 -25
  183. package/esm2022/lib/utils/url-helper.mjs +0 -44
  184. package/esm2022/lib/utils/validation-helper.mjs +0 -10
  185. package/esm2022/lib/zek.module.mjs +0 -28
  186. package/esm2022/public-api.mjs +0 -12
  187. package/esm2022/zek.mjs +0 -5
@@ -1,172 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { RandomHelper, StringHelper } from '../../utils';
3
- import { CommonModule } from '@angular/common';
4
- import { FormsModule } from '@angular/forms';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/forms";
8
- export class ZekSelect2 {
9
- constructor() {
10
- this.elementId = RandomHelper.randomHex();
11
- this._data = [];
12
- this.filteredData = [];
13
- this.placeholder = '';
14
- this.selectedItemChange = new EventEmitter();
15
- this.valueChange = new EventEmitter();
16
- }
17
- get data() {
18
- return this._data;
19
- }
20
- set data(value) {
21
- if (this._data !== value) {
22
- this._data = value;
23
- this.findAndSetItem();
24
- this.filterData();
25
- }
26
- }
27
- get selectedItem() {
28
- return this._selectedItem;
29
- }
30
- get value() {
31
- return this._value;
32
- }
33
- set value(v) {
34
- if (this._value !== v) {
35
- this._value = v;
36
- this.findAndSetItem();
37
- }
38
- }
39
- findAndSetItem() {
40
- let foundItem = null;
41
- if (this._value === undefined || this._value === null || !this.data) {
42
- }
43
- else if (this.valueField === undefined || this.valueField === null || this.valueField === '') {
44
- foundItem = this.data.find(x => x === this._value);
45
- }
46
- else {
47
- foundItem = this.data.find(x => x[this.valueField] === this._value);
48
- }
49
- this._selectedItem = foundItem;
50
- this.setText();
51
- }
52
- // private _dropdown: any;
53
- // public get dropdown(): any {
54
- // if (!this._dropdown) {
55
- // let el = document.getElementById('btn-' + this.elementId);
56
- // this._dropdown = new bootstrap.Dropdown(el);
57
- // }
58
- // return this._dropdown;
59
- // }
60
- // public set dropdown(v: any) {
61
- // this._dropdown = v;
62
- // }
63
- ngOnDestroy() {
64
- // this.dropdown?.dispose();
65
- // this.dropdown = null;
66
- }
67
- onTextChange(text) {
68
- this.filter = StringHelper.tryTrim(text);
69
- this.filterData();
70
- }
71
- filterData() {
72
- if (this.filter && this.filter !== '') {
73
- const searchString = this.filter;
74
- if (this.textField === undefined || this.textField === null) {
75
- this.filteredData = this.data.filter(item => item.toLowerCase().indexOf(searchString.toLowerCase()) !== -1);
76
- }
77
- else {
78
- this.filteredData = this.data.filter(item => item[this.textField].toLowerCase().indexOf(searchString.toLowerCase()) !== -1);
79
- }
80
- }
81
- else // if (this.filter === undefined || this.filter === null || this.filter === '')
82
- {
83
- this.filteredData = this.data;
84
- }
85
- }
86
- onFocus(e) {
87
- // if (this.dropdown){
88
- // this.dropdown.show();
89
- // }
90
- // let dropdown = document.getElementById(`dropdown-menu-container-${this.elementId}`);
91
- // console.log(dropdown);
92
- // if (dropdown) {
93
- // console.log(dropdown.classList);
94
- // if (!dropdown.classList.contains('show')) {
95
- // let el = document.getElementById(`input-${this.elementId}`);
96
- // if (el) {
97
- // el.click();
98
- // }
99
- // }
100
- // }
101
- // let inputId = 'input-' + this.elementId;
102
- // let el = document.getElementById(inputId);
103
- // if (el) {
104
- // if (!el.classList.contains('show')) {
105
- // this.dropdown?.show();
106
- // }
107
- // let menuId = '#dropdown-menu-' + this.elementId + ' ' + 'a';
108
- // el.addEventListener('keydown', function (e) {
109
- // if (e.key == 'ArrowDown') {
110
- // (document.querySelectorAll(menuId)[0] as any).focus();
111
- // }
112
- // });
113
- // }
114
- }
115
- inputUnfocused() {
116
- // this.expanded = false;
117
- }
118
- setText() {
119
- if (this._selectedItem === undefined || this._selectedItem === null) {
120
- this.text = null;
121
- }
122
- else if (this.textField === undefined || this.textField === null) {
123
- this.text = this._selectedItem;
124
- }
125
- else {
126
- this.text = this._selectedItem[this.textField];
127
- }
128
- }
129
- selectItem(item) {
130
- if (this._selectedItem !== item) {
131
- this._selectedItem = item;
132
- this.selectedItemChange.emit(item);
133
- this.setText();
134
- //set value
135
- let v;
136
- if (this.valueField === undefined || this.valueField === null || this.valueField === '') {
137
- // this.value = v
138
- v = item;
139
- }
140
- else {
141
- // this.value = v[this.valueField];
142
- v = item[this.valueField];
143
- }
144
- //if value not equals then emit valueChange
145
- if (this._value !== v) {
146
- this._value = v;
147
- this.valueChange.emit(v);
148
- }
149
- }
150
- }
151
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
152
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelect2, isStandalone: true, selector: "zek-select2,[zek-select2]", inputs: { data: "data", textField: "textField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{entry[textField]}}</a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{textField}}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>\r\n<!-- <kendo-autocomplete\r\n [data]=\"data\"\r\n [filterable]=\"true\"\r\n (valueChange)=\"valueChange($event)\"\r\n (filterChange)=\"filterChange($event)\"\r\n (open)=\"open()\"\r\n (close)=\"close()\"\r\n (focus)=\"focus()\"\r\n (blur)=\"blur()\">\r\n</kendo-autocomplete> -->", styles: [".scrollable-menu{max-height:400px;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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"] }] }); }
153
- }
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2, decorators: [{
155
- type: Component,
156
- args: [{ standalone: true, selector: 'zek-select2,[zek-select2]', imports: [CommonModule, FormsModule], template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{entry[textField]}}</a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{textField}}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>\r\n<!-- <kendo-autocomplete\r\n [data]=\"data\"\r\n [filterable]=\"true\"\r\n (valueChange)=\"valueChange($event)\"\r\n (filterChange)=\"filterChange($event)\"\r\n (open)=\"open()\"\r\n (close)=\"close()\"\r\n (focus)=\"focus()\"\r\n (blur)=\"blur()\">\r\n</kendo-autocomplete> -->", styles: [".scrollable-menu{max-height:400px;overflow-y:auto}\n"] }]
157
- }], propDecorators: { data: [{
158
- type: Input
159
- }], textField: [{
160
- type: Input
161
- }], valueField: [{
162
- type: Input
163
- }], placeholder: [{
164
- type: Input
165
- }], selectedItemChange: [{
166
- type: Output
167
- }], valueChange: [{
168
- type: Output
169
- }], value: [{
170
- type: Input
171
- }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvc2VsZWN0Mi9zZWxlY3QyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3QyL3NlbGVjdDIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBVTdDLE1BQU0sT0FBTyxVQUFVO0lBUnZCO1FBWWEsY0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUV0QyxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBWS9CLGlCQUFZLEdBQWUsRUFBRSxDQUFDO1FBSXJCLGdCQUFXLEdBQVcsRUFBRSxDQUFBO1FBRXZCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFNN0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBa0puRDtJQXpLRyxJQUNJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWlCO1FBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLENBQUM7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IE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmFuZG9tSGVscGVyLCBTdHJpbmdIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgc2VsZWN0b3I6ICd6ZWstc2VsZWN0MixbemVrLXNlbGVjdDJdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QyLmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0Mi5jc3MnXSxcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1NlbGVjdDIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgZmlsdGVyPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIHRleHQ/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIHJlYWRvbmx5IGVsZW1lbnRJZCA9IFJhbmRvbUhlbHBlci5yYW5kb21IZXgoKTtcclxuXHJcbiAgICBwcml2YXRlIF9kYXRhOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRhdGEoKTogQXJyYXk8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgICB9XHJcbiAgICBzZXQgZGF0YSh2YWx1ZTogQXJyYXk8YW55Pikge1xyXG4gICAgICAgIGlmICh0aGlzLl9kYXRhICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9kYXRhID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmluZEFuZFNldEl0ZW0oKTtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZmlsdGVyZWREYXRhOiBBcnJheTxhbnk+ID0gW107XHJcblxyXG4gICAgQElucHV0KCkgdGV4dEZpZWxkOiBhbnk7XHJcbiAgICBASW5wdXQoKSB2YWx1ZUZpZWxkOiBhbnk7XHJcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJydcclxuXHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZEl0ZW06IGFueTtcclxuICAgIGdldCBzZWxlY3RlZEl0ZW0oKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdmFsdWUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG4gICAgc2V0IHZhbHVlKHY6IGFueSkge1xyXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMuZmluZEFuZFNldEl0ZW0oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmaW5kQW5kU2V0SXRlbSgpIHtcclxuICAgICAgICBsZXQgZm91bmRJdGVtID0gbnVsbDtcclxuICAgICAgICBpZiAodGhpcy5fdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl92YWx1ZSA9PT0gbnVsbCB8fCAhdGhpcy5kYXRhKSB7XHJcblxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZUZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZUZpZWxkID09PSBudWxsIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gJycpIHtcclxuICAgICAgICAgICAgZm91bmRJdGVtID0gdGhpcy5kYXRhLmZpbmQoeCA9PiB4ID09PSB0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm91bmRJdGVtID0gdGhpcy5kYXRhLmZpbmQoeCA9PiB4W3RoaXMudmFsdWVGaWVsZF0gPT09IHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IGZvdW5kSXRlbTtcclxuICAgICAgICB0aGlzLnNldFRleHQoKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICAvLyBwcml2YXRlIF9kcm9wZG93bjogYW55O1xyXG4gICAgLy8gcHVibGljIGdldCBkcm9wZG93bigpOiBhbnkge1xyXG4gICAgLy8gICAgIGlmICghdGhpcy5fZHJvcGRvd24pIHtcclxuICAgIC8vICAgICAgICAgbGV0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0bi0nICsgdGhpcy5lbGVtZW50SWQpO1xyXG4gICAgLy8gICAgICAgICB0aGlzLl9kcm9wZG93biA9IG5ldyBib290c3RyYXAuRHJvcGRvd24oZWwpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5fZHJvcGRvd247XHJcbiAgICAvLyB9XHJcbiAgICAvLyBwdWJsaWMgc2V0IGRyb3Bkb3duKHY6IGFueSkge1xyXG4gICAgLy8gICAgIHRoaXMuX2Ryb3Bkb3duID0gdjtcclxuICAgIC8vIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICAvLyB0aGlzLmRyb3Bkb3duPy5kaXNwb3NlKCk7XHJcbiAgICAgICAgLy8gdGhpcy5kcm9wZG93biA9IG51bGw7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG9uVGV4dENoYW5nZSh0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmZpbHRlciA9IFN0cmluZ0hlbHBlci50cnlUcmltKHRleHQpO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZmlsdGVyRGF0YSgpIHtcclxuICAgICAgICBpZiAodGhpcy5maWx0ZXIgJiYgdGhpcy5maWx0ZXIgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaFN0cmluZyA9IHRoaXMuZmlsdGVyO1xyXG4gICAgICAgICAgICBpZiAodGhpcy50ZXh0RmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRleHRGaWVsZCA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmRhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpICE9PSAtMSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtW3RoaXMudGV4dEZpZWxkXS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkpICE9PSAtMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZS8vIGlmICh0aGlzLmZpbHRlciA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZmlsdGVyID09PSBudWxsIHx8IHRoaXMuZmlsdGVyID09PSAnJykgXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25Gb2N1cyhlOiBGb2N1c0V2ZW50KSB7XHJcbiAgICAgICAgLy8gaWYgKHRoaXMuZHJvcGRvd24pe1xyXG4gICAgICAgIC8vICAgdGhpcy5kcm9wZG93bi5zaG93KCk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIGxldCBkcm9wZG93biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBkcm9wZG93bi1tZW51LWNvbnRhaW5lci0ke3RoaXMuZWxlbWVudElkfWApO1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGRyb3Bkb3duKTtcclxuXHJcbiAgICAgICAgLy8gaWYgKGRyb3Bkb3duKSB7XHJcbiAgICAgICAgLy8gICBjb25zb2xlLmxvZyhkcm9wZG93bi5jbGFzc0xpc3QpO1xyXG5cclxuICAgICAgICAvLyAgIGlmICghZHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKCdzaG93JykpIHtcclxuICAgICAgICAvLyAgICAgbGV0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGlucHV0LSR7dGhpcy5lbGVtZW50SWR9YCk7XHJcbiAgICAgICAgLy8gICAgIGlmIChlbCkge1xyXG4gICAgICAgIC8vICAgICAgIGVsLmNsaWNrKCk7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyAgIH1cclxuICAgICAgICAvLyB9XHJcblxyXG5cclxuXHJcbiAgICAgICAgLy8gbGV0IGlucHV0SWQgPSAnaW5wdXQtJyArIHRoaXMuZWxlbWVudElkO1xyXG4gICAgICAgIC8vIGxldCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlucHV0SWQpO1xyXG4gICAgICAgIC8vIGlmIChlbCkge1xyXG5cclxuICAgICAgICAvLyAgIGlmICghZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdzaG93JykpIHtcclxuICAgICAgICAvLyAgICAgdGhpcy5kcm9wZG93bj8uc2hvdygpO1xyXG4gICAgICAgIC8vICAgfVxyXG5cclxuICAgICAgICAvLyBsZXQgbWVudUlkID0gJyNkcm9wZG93bi1tZW51LScgKyB0aGlzLmVsZW1lbnRJZCArICcgJyArICdhJztcclxuICAgICAgICAvLyBlbC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAvLyAgIGlmIChlLmtleSA9PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgIC8vICAgICAoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChtZW51SWQpWzBdIGFzIGFueSkuZm9jdXMoKTtcclxuICAgICAgICAvLyAgIH1cclxuICAgICAgICAvLyB9KTtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICBpbnB1dFVuZm9jdXNlZCgpIHtcclxuICAgICAgICAvLyB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRUZXh0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZEl0ZW0gPT09IHVuZGVmaW5lZCB8fCB0aGlzLl9zZWxlY3RlZEl0ZW0gPT09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy50ZXh0ID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy50ZXh0RmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRleHRGaWVsZCA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSB0aGlzLl9zZWxlY3RlZEl0ZW07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50ZXh0ID0gdGhpcy5fc2VsZWN0ZWRJdGVtW3RoaXMudGV4dEZpZWxkXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0SXRlbShpdGVtOiBhbnkpIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkSXRlbSAhPT0gaXRlbSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSBpdGVtO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbUNoYW5nZS5lbWl0KGl0ZW0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5zZXRUZXh0KCk7XHJcblxyXG4gICAgICAgICAgICAvL3NldCB2YWx1ZVxyXG4gICAgICAgICAgICBsZXQgdjtcclxuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWVGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gbnVsbCB8fCB0aGlzLnZhbHVlRmllbGQgPT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnZhbHVlID0gdlxyXG4gICAgICAgICAgICAgICAgdiA9IGl0ZW07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnZhbHVlID0gdlt0aGlzLnZhbHVlRmllbGRdO1xyXG4gICAgICAgICAgICAgICAgdiA9IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9pZiB2YWx1ZSBub3QgZXF1YWxzIHRoZW4gZW1pdCB2YWx1ZUNoYW5nZVxyXG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUgIT09IHYpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdjtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBwb3NpdGlvbi1yZWxhdGl2ZVwiIGlkPVwiZHJvcGRvd24tbWVudS1jb250YWluZXIte3tlbGVtZW50SWR9fVwiPlxyXG4gIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgaWQ9XCJpbnB1dC17e2VsZW1lbnRJZH19XCIgWyhuZ01vZGVsKV09XCJ0ZXh0XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKCRldmVudClcIiAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCIgKGJsdXIpPVwiaW5wdXRVbmZvY3VzZWQoKVwiPlxyXG4gIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGRyb3Bkb3duLXRvZ2dsZVwiIGlkPVwiYnRuLXt7ZWxlbWVudElkfX1cIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIGRhdGEtYnMtcmVmZXJlbmNlPVwicGFyZW50XCI+PC9idXR0b24+XHJcbiAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LXN0YXJ0IHctMTAwIHNjcm9sbGFibGUtbWVudVwiIGlkPVwiZHJvcGRvd24tbWVudS17e2VsZW1lbnRJZH19XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGV4dEZpZWxkXCI+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZW50cnkgb2YgZmlsdGVyZWREYXRhXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJzZWxlY3RJdGVtKGVudHJ5KVwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPnt7ZW50cnlbdGV4dEZpZWxkXX19PC9hPlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRleHRGaWVsZFwiPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGVudHJ5IG9mIGZpbHRlcmVkRGF0YVwiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwic2VsZWN0SXRlbShlbnRyeSlcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj57e3RleHRGaWVsZH19PC9hPlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC91bD5cclxuPC9kaXY+XHJcbjwhLS0gPGtlbmRvLWF1dG9jb21wbGV0ZVxyXG4gIFtkYXRhXT1cImRhdGFcIlxyXG4gIFtmaWx0ZXJhYmxlXT1cInRydWVcIlxyXG4gICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAoZmlsdGVyQ2hhbmdlKT1cImZpbHRlckNoYW5nZSgkZXZlbnQpXCJcclxuICAob3Blbik9XCJvcGVuKClcIlxyXG4gIChjbG9zZSk9XCJjbG9zZSgpXCJcclxuICAoZm9jdXMpPVwiZm9jdXMoKVwiXHJcbiAgKGJsdXIpPVwiYmx1cigpXCI+XHJcbjwva2VuZG8tYXV0b2NvbXBsZXRlPiAtLT4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './select2-multiple';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDItbXVsdGlwbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0Mi1tdWx0aXBsZSc7Il19
@@ -1,137 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { RandomHelper, StringHelper } from '../../utils';
3
- import { CommonModule } from '@angular/common';
4
- import { FormsModule } from '@angular/forms';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/forms";
8
- //declare let bootstrap: any;
9
- export class ZekSelect2Multiple {
10
- constructor() {
11
- this.elementId = RandomHelper.randomHex();
12
- this._data = [];
13
- this.filteredData = [];
14
- this.placeholder = '';
15
- this.selectedItemChange = new EventEmitter();
16
- this._selectedItems = [];
17
- this.valueChange = new EventEmitter();
18
- }
19
- get data() {
20
- return this._data;
21
- }
22
- set data(value) {
23
- if (this._data !== value) {
24
- this._data = value;
25
- this.findAndSetItems();
26
- this.filterData();
27
- }
28
- }
29
- get selectedItems() {
30
- return this._selectedItems;
31
- }
32
- get value() {
33
- return this._value;
34
- }
35
- set value(v) {
36
- if (this._value !== v) {
37
- this._value = v;
38
- this.findAndSetItems();
39
- }
40
- }
41
- findAndSetItems() {
42
- this._data?.forEach(x => x.selected = false);
43
- this._selectedItems = [];
44
- let foundItems = [];
45
- if (this._value === undefined || this._value === null || !this.data) {
46
- }
47
- else if (this.valueField === undefined || this.valueField === null || this.valueField === '') {
48
- foundItems = this.data.filter(x => this._value?.includes(x));
49
- }
50
- else {
51
- foundItems = this.data.filter(x => this._value?.includes(x[this.valueField]));
52
- }
53
- if (foundItems.length > 0) {
54
- foundItems.forEach(x => x.selected = true);
55
- this._selectedItems = foundItems;
56
- }
57
- this.setText();
58
- }
59
- onTextChange(text) {
60
- this.filter = StringHelper.tryTrim(text);
61
- this.filterData();
62
- }
63
- filterData() {
64
- if (this.filter && this.filter !== '') {
65
- const searchString = this.filter;
66
- if (typeof this.textField === 'undefined' || this.textField === null) {
67
- this.filteredData = this.data.filter(item => item.toLowerCase().indexOf(searchString.toLowerCase()) !== -1);
68
- }
69
- else {
70
- this.filteredData = this.data.filter(item => item[this.textField].toLowerCase().indexOf(searchString.toLowerCase()) !== -1);
71
- }
72
- }
73
- else {
74
- this.filteredData = this.data;
75
- }
76
- }
77
- onFocus(e) {
78
- this.filter = '';
79
- this.text = '';
80
- this.filterData();
81
- }
82
- inputUnfocused() {
83
- this.setText();
84
- }
85
- setText() {
86
- const fieldName = this.selectedField || this.textField;
87
- if (StringHelper.isNullOrEmpty((fieldName))) {
88
- this.text = this._selectedItems.join(', ');
89
- }
90
- else {
91
- this.text = this._selectedItems.map(x => x[fieldName]).join(', ');
92
- }
93
- }
94
- selectItem(item) {
95
- item.selected = !item.selected;
96
- if (item.selected) {
97
- this._selectedItems.push(item);
98
- }
99
- else {
100
- this._selectedItems = this._selectedItems.filter(x => x !== item);
101
- }
102
- this.selectedItemChange.emit(item);
103
- this.setText();
104
- let v;
105
- if (this.valueField === undefined || this.valueField === null || this.valueField === '') {
106
- v = this._selectedItems ? this._selectedItems : null;
107
- }
108
- else {
109
- v = this._selectedItems ? this._selectedItems.map(x => x[this.valueField]) : null;
110
- }
111
- this._value = v;
112
- this.valueChange.emit(v);
113
- }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2Multiple, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelect2Multiple, isStandalone: true, selector: "zek-select2-multiple,[zek-select2-multiple]", inputs: { data: "data", textField: "textField", selectedField: "selectedField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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"] }] }); }
116
- }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2Multiple, decorators: [{
118
- type: Component,
119
- args: [{ standalone: true, selector: 'zek-select2-multiple,[zek-select2-multiple]', imports: [CommonModule, FormsModule], template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>" }]
120
- }], propDecorators: { data: [{
121
- type: Input
122
- }], textField: [{
123
- type: Input
124
- }], selectedField: [{
125
- type: Input
126
- }], valueField: [{
127
- type: Input
128
- }], placeholder: [{
129
- type: Input
130
- }], selectedItemChange: [{
131
- type: Output
132
- }], valueChange: [{
133
- type: Output
134
- }], value: [{
135
- type: Input
136
- }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi1tdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvc2VsZWN0Mi1tdWx0aXBsZS9zZWxlY3QyLW11bHRpcGxlLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3QyLW11bHRpcGxlL3NlbGVjdDItbXVsdGlwbGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBQzdDLDZCQUE2QjtBQVU3QixNQUFNLE9BQU8sa0JBQWtCO0lBUC9CO1FBV2EsY0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUV0QyxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBWS9CLGlCQUFZLEdBQWUsRUFBRSxDQUFDO1FBS3JCLGdCQUFXLEdBQVcsRUFBRSxDQUFBO1FBRXZCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDL0MsbUJBQWMsR0FBZSxFQUFFLENBQUM7UUFLOUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBZ0duRDtJQXhIRyxJQUNJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWlCO1FBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxH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RUFBRSxXQUFXLENBQUM7OEJBV2hDLElBQUk7c0JBRFAsS0FBSztnQkFhRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFNRyxXQUFXO3NCQUFwQixNQUFNO2dCQUdILEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSYW5kb21IZWxwZXIsIFN0cmluZ0hlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbi8vZGVjbGFyZSBsZXQgYm9vdHN0cmFwOiBhbnk7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgc2VsZWN0b3I6ICd6ZWstc2VsZWN0Mi1tdWx0aXBsZSxbemVrLXNlbGVjdDItbXVsdGlwbGVdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QyLW11bHRpcGxlLmh0bWwnLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgWmVrU2VsZWN0Mk11bHRpcGxlIHtcclxuICAgIGZpbHRlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgICB0ZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICByZWFkb25seSBlbGVtZW50SWQgPSBSYW5kb21IZWxwZXIucmFuZG9tSGV4KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkYXRhKCk6IEFycmF5PGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gICAgfVxyXG4gICAgc2V0IGRhdGEodmFsdWU6IEFycmF5PGFueT4pIHtcclxuICAgICAgICBpZiAodGhpcy5fZGF0YSAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLmZpbmRBbmRTZXRJdGVtcygpO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmaWx0ZXJlZERhdGE6IEFycmF5PGFueT4gPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKSB0ZXh0RmllbGQ6IGFueTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkRmllbGQ6IGFueTtcclxuICAgIEBJbnB1dCgpIHZhbHVlRmllbGQ6IGFueTtcclxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJ1xyXG5cclxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIHByaXZhdGUgX3NlbGVjdGVkSXRlbXM6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIGdldCBzZWxlY3RlZEl0ZW1zKCk6IEFycmF5PGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfdmFsdWU/OiBBcnJheTxhbnk+IHwgbnVsbDtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdmFsdWUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG4gICAgc2V0IHZhbHVlKHY6IGFueSkge1xyXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMuZmluZEFuZFNldEl0ZW1zKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZmluZEFuZFNldEl0ZW1zKCkge1xyXG4gICAgICAgIHRoaXMuX2RhdGE/LmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSBbXTtcclxuICAgICAgICBsZXQgZm91bmRJdGVtczogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3ZhbHVlID09PSBudWxsIHx8ICF0aGlzLmRhdGEpIHtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlRmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlRmllbGQgPT09IG51bGwgfHwgdGhpcy52YWx1ZUZpZWxkID09PSAnJykge1xyXG4gICAgICAgICAgICBmb3VuZEl0ZW1zID0gdGhpcy5kYXRhLmZpbHRlcih4ID0+IHRoaXMuX3ZhbHVlPy5pbmNsdWRlcyh4KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm91bmRJdGVtcyA9IHRoaXMuZGF0YS5maWx0ZXIoeCA9PiB0aGlzLl92YWx1ZT8uaW5jbHVkZXMoeFt0aGlzLnZhbHVlRmllbGRdKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZm91bmRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGZvdW5kSXRlbXMuZm9yRWFjaCh4ID0+IHguc2VsZWN0ZWQgPSB0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcyA9IGZvdW5kSXRlbXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0VGV4dCgpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgb25UZXh0Q2hhbmdlKHRleHQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyID0gU3RyaW5nSGVscGVyLnRyeVRyaW0odGV4dCk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmaWx0ZXJEYXRhKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmZpbHRlciAmJiB0aGlzLmZpbHRlciAhPT0gJycpIHtcclxuICAgICAgICAgICAgY29uc3Qgc2VhcmNoU3RyaW5nID0gdGhpcy5maWx0ZXI7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy50ZXh0RmllbGQgPT09ICd1bmRlZmluZWQnIHx8IHRoaXMudGV4dEZpZWxkID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW1bdGhpcy50ZXh0RmllbGRdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uRm9jdXMoZTogRm9jdXNFdmVudCkge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyID0gJyc7XHJcbiAgICAgICAgdGhpcy50ZXh0ID0gJyc7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhKCk7XHJcbiAgICB9XHJcbiAgICBpbnB1dFVuZm9jdXNlZCgpIHtcclxuICAgICAgICB0aGlzLnNldFRleHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFRleHQoKSB7XHJcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gdGhpcy5zZWxlY3RlZEZpZWxkIHx8IHRoaXMudGV4dEZpZWxkO1xyXG5cclxuICAgICAgICBpZiAoU3RyaW5nSGVscGVyLmlzTnVsbE9yRW1wdHkoKGZpZWxkTmFtZSkpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IHRoaXMuX3NlbGVjdGVkSXRlbXMuam9pbignLCAnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSB0aGlzLl9zZWxlY3RlZEl0ZW1zLm1hcCh4ID0+IHhbZmllbGROYW1lXSkuam9pbignLCAnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0SXRlbShpdGVtOiBhbnkpIHtcclxuICAgICAgICBpdGVtLnNlbGVjdGVkID0gIWl0ZW0uc2VsZWN0ZWQ7XHJcblxyXG4gICAgICAgIGlmIChpdGVtLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gdGhpcy5fc2VsZWN0ZWRJdGVtcy5maWx0ZXIoeCA9PiB4ICE9PSBpdGVtKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ2hhbmdlLmVtaXQoaXRlbSk7XHJcbiAgICAgICAgdGhpcy5zZXRUZXh0KCk7XHJcblxyXG4gICAgICAgIGxldCB2OiBBcnJheTxhbnk+IHwgbnVsbDtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZUZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZUZpZWxkID09PSBudWxsIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gJycpIHtcclxuICAgICAgICAgICAgdiA9IHRoaXMuX3NlbGVjdGVkSXRlbXMgPyB0aGlzLl9zZWxlY3RlZEl0ZW1zIDogbnVsbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB2ID0gdGhpcy5fc2VsZWN0ZWRJdGVtcyA/IHRoaXMuX3NlbGVjdGVkSXRlbXMubWFwKHggPT4geFt0aGlzLnZhbHVlRmllbGRdKSA6IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIHBvc2l0aW9uLXJlbGF0aXZlXCIgaWQ9XCJkcm9wZG93bi1tZW51LWNvbnRhaW5lci17e2VsZW1lbnRJZH19XCI+XHJcbiAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBkYXRhLWJzLWF1dG8tY2xvc2U9XCJvdXRzaWRlXCIgaWQ9XCJpbnB1dC17e2VsZW1lbnRJZH19XCIgWyhuZ01vZGVsKV09XCJ0ZXh0XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKCRldmVudClcIiAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCIgKGJsdXIpPVwiaW5wdXRVbmZvY3VzZWQoKVwiPlxyXG4gIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGRyb3Bkb3duLXRvZ2dsZVwiIGlkPVwiYnRuLXt7ZWxlbWVudElkfX1cIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIGRhdGEtYnMtcmVmZXJlbmNlPVwicGFyZW50XCI+PC9idXR0b24+XHJcbiAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LXN0YXJ0IHctMTAwIHNjcm9sbGFibGUtbWVudVwiIGlkPVwiZHJvcGRvd24tbWVudS17e2VsZW1lbnRJZH19XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGV4dEZpZWxkXCI+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZERhdGFcIj5cclxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zZWxlY3RlZFwiPjxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS1zcXVhcmUtY2hlY2tcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5zZWxlY3RlZFwiPjxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS1zcXVhcmVcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAge3tpdGVtW3RleHRGaWVsZF19fVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9saT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0ZXh0RmllbGRcIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkRGF0YVwiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnNlbGVjdGVkXCI+PGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZS1jaGVja1wiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLnNlbGVjdGVkXCI+PGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXNxdWFyZVwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICB7e2l0ZW19fVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9saT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvdWw+XHJcbjwvZGl2PiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './sort';
2
- export * from './sort-button-group/sort-button-group';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NvcnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc29ydCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1idXR0b24tZ3JvdXAvc29ydC1idXR0b24tZ3JvdXAnOyJdfQ==
@@ -1,81 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { RandomHelper } from '../../../utils';
3
- import { TranslateModule } from '@ngx-translate/core';
4
- import { CommonModule } from '@angular/common';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@ngx-translate/core";
8
- export class ZekSortButtonGroup {
9
- get sort() {
10
- return this._sort;
11
- }
12
- set sort(value) {
13
- if (this._sort !== value) {
14
- this._sort = value;
15
- }
16
- }
17
- get asc() {
18
- return this._asc;
19
- }
20
- set asc(value) {
21
- if (this._asc !== value) {
22
- this._asc = value;
23
- }
24
- }
25
- /**
26
- * Default constructor
27
- */
28
- constructor() {
29
- this.elementName = '';
30
- /**
31
- * Executes after 'sort' input changed
32
- */
33
- this.sortChange = new EventEmitter();
34
- /**
35
- * Executes after 'asc' input changed
36
- */
37
- this.ascChange = new EventEmitter();
38
- /**
39
- * Executes after click on column
40
- */
41
- this.onChange = new EventEmitter();
42
- this._sort = null;
43
- this._asc = false;
44
- this.sortFields = null;
45
- this.elementName = 'sort-button-group-' + RandomHelper.randomHex();
46
- }
47
- sortFieldClick(item) {
48
- if (!item || !item.key)
49
- return;
50
- this.sortField = item;
51
- if (this.sort !== item.key) {
52
- this.sort = item.key;
53
- this.sortChange.emit(this.sort);
54
- this.onChange.emit();
55
- }
56
- }
57
- ascDescClick() {
58
- this.asc = !this.asc;
59
- this.ascChange.emit(this.asc);
60
- this.onChange.emit();
61
- }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSortButtonGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSortButtonGroup, isStandalone: true, selector: "zek-sort-button-group", inputs: { sort: "sort", asc: "asc", sortFields: "sortFields" }, outputs: { sortChange: "sortChange", ascChange: "ascChange", onChange: "onChange" }, ngImport: i0, template: "<div class=\"btn-group me-3\" role=\"group\" aria-label=\"Sort group\">\r\n <button type=\"button\" class=\"btn btn-light\" (click)=\"ascDescClick()\">\r\n <span *ngIf=\"asc === undefined || asc === null\"><i class=\"fa-solid fa-sort fa-fw\"></i></span>\r\n <span *ngIf=\"asc === true\"><i class=\"fa-solid fa-arrow-down-z-a fa-fw\"></i></span>\r\n <span *ngIf=\"asc === false\"><i class=\"fa-solid fa-arrow-up-z-a fa-fw\"></i></span>\r\n </button>\r\n <button *ngIf=\"sortFields && sortFields.length > 0\" class=\"btn btn-light dropdown-toggle\" type=\"button\" id=\"{{elementName}}\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <ng-container *ngIf=\"sortField; else elseFieldBlock\">{{ sortField.value | translate }}</ng-container>\r\n <ng-template #elseFieldBlock>{{ 'Action.Sort' | translate }}</ng-template>\r\n </button>\r\n <ul *ngIf=\"sortFields && sortFields.length > 0\" class=\"dropdown-menu\" [attr.aria-labelledby]=\"elementName\">\r\n <li><a *ngFor=\"let item of sortFields\" class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"sortFieldClick(item)\">{{ (item.value) | translate }}</a></li>\r\n </ul>\r\n</div><i class=\"\"></i>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSortButtonGroup, decorators: [{
66
- type: Component,
67
- args: [{ standalone: true, selector: 'zek-sort-button-group', imports: [CommonModule, TranslateModule], template: "<div class=\"btn-group me-3\" role=\"group\" aria-label=\"Sort group\">\r\n <button type=\"button\" class=\"btn btn-light\" (click)=\"ascDescClick()\">\r\n <span *ngIf=\"asc === undefined || asc === null\"><i class=\"fa-solid fa-sort fa-fw\"></i></span>\r\n <span *ngIf=\"asc === true\"><i class=\"fa-solid fa-arrow-down-z-a fa-fw\"></i></span>\r\n <span *ngIf=\"asc === false\"><i class=\"fa-solid fa-arrow-up-z-a fa-fw\"></i></span>\r\n </button>\r\n <button *ngIf=\"sortFields && sortFields.length > 0\" class=\"btn btn-light dropdown-toggle\" type=\"button\" id=\"{{elementName}}\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <ng-container *ngIf=\"sortField; else elseFieldBlock\">{{ sortField.value | translate }}</ng-container>\r\n <ng-template #elseFieldBlock>{{ 'Action.Sort' | translate }}</ng-template>\r\n </button>\r\n <ul *ngIf=\"sortFields && sortFields.length > 0\" class=\"dropdown-menu\" [attr.aria-labelledby]=\"elementName\">\r\n <li><a *ngFor=\"let item of sortFields\" class=\"dropdown-item\" href=\"javascript:void(0)\" (click)=\"sortFieldClick(item)\">{{ (item.value) | translate }}</a></li>\r\n </ul>\r\n</div><i class=\"\"></i>" }]
68
- }], ctorParameters: () => [], propDecorators: { sortChange: [{
69
- type: Output
70
- }], ascChange: [{
71
- type: Output
72
- }], onChange: [{
73
- type: Output
74
- }], sort: [{
75
- type: Input
76
- }], asc: [{
77
- type: Input
78
- }], sortFields: [{
79
- type: Input
80
- }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1idXR0b24tZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NvcnQvc29ydC1idXR0b24tZ3JvdXAvc29ydC1idXR0b24tZ3JvdXAudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NvcnQvc29ydC1idXR0b24tZ3JvdXAvc29ydC1idXR0b24tZ3JvdXAuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBUS9DLE1BQU0sT0FBTyxrQkFBa0I7SUFvQjNCLElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFDSSxJQUFJLENBQUMsS0FBb0I7UUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDO0lBSUQsSUFBSSxHQUFHO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUNJLEdBQUcsQ0FBQyxLQUFjO1FBQ2xCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztJQUlEOztPQUVHO0lBQ0g7UUE5Q0EsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFekI7O1dBRUc7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFekQ7O1dBRUc7UUFDTyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVsRDs7V0FFRztRQUNPLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2hDLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBWTVCLFNBQUksR0FBRyxLQUFLLENBQUM7UUFXWixlQUFVLEdBQXFCLElBQUksQ0FBQztRQU16QyxJQUFJLENBQUMsV0FBVyxHQUFHLG9CQUFvQixHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVM7UUFDcEIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUUvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOzhHQWxFUSxrQkFBa0I7a0dBQWxCLGtCQUFrQixzT0NaL0IsMnNDQWFzQiwyQ0RIUixZQUFZLCtQQUFFLGVBQWU7OzJGQUU5QixrQkFBa0I7a0JBTjlCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLHVCQUF1QixXQUV4QixDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7d0RBUTlCLFVBQVU7c0JBQW5CLE1BQU07Z0JBS0csU0FBUztzQkFBbEIsTUFBTTtnQkFLRyxRQUFRO3NCQUFqQixNQUFNO2dCQVFILElBQUk7c0JBRFAsS0FBSztnQkFhRixHQUFHO3NCQUROLEtBQUs7Z0JBT0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMva2V5LXBhaXIubW9kZWwnO1xyXG5pbXBvcnQgeyBSYW5kb21IZWxwZXIgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgc2VsZWN0b3I6ICd6ZWstc29ydC1idXR0b24tZ3JvdXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NvcnQtYnV0dG9uLWdyb3VwLmh0bWwnLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1NvcnRCdXR0b25Hcm91cCB7XHJcbiAgICBlbGVtZW50TmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFeGVjdXRlcyBhZnRlciAnc29ydCcgaW5wdXQgY2hhbmdlZFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV4ZWN1dGVzIGFmdGVyICdhc2MnIGlucHV0IGNoYW5nZWRcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGFzY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqICBFeGVjdXRlcyBhZnRlciBjbGljayBvbiBjb2x1bW5cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIHNvcnRGaWVsZDogYW55O1xyXG4gICAgcHJpdmF0ZSBfc29ydDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgICBnZXQgc29ydCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc29ydDtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgc29ydCh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9zb3J0ICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zb3J0ID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9hc2MgPSBmYWxzZTtcclxuICAgIGdldCBhc2MoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FzYztcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgYXNjKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2FzYyAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fYXNjID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpIHNvcnRGaWVsZHM6IEtleVBhaXJbXSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmYXVsdCBjb25zdHJ1Y3RvclxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnROYW1lID0gJ3NvcnQtYnV0dG9uLWdyb3VwLScgKyBSYW5kb21IZWxwZXIucmFuZG9tSGV4KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc29ydEZpZWxkQ2xpY2soaXRlbTogYW55KSB7XHJcbiAgICAgICAgaWYgKCFpdGVtIHx8ICFpdGVtLmtleSkgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLnNvcnRGaWVsZCA9IGl0ZW07XHJcbiAgICAgICAgaWYgKHRoaXMuc29ydCAhPT0gaXRlbS5rZXkpIHtcclxuICAgICAgICAgICAgdGhpcy5zb3J0ID0gaXRlbS5rZXk7XHJcbiAgICAgICAgICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHRoaXMuc29ydCk7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc2NEZXNjQ2xpY2soKSB7XHJcbiAgICAgICAgdGhpcy5hc2MgPSAhdGhpcy5hc2M7XHJcbiAgICAgICAgdGhpcy5hc2NDaGFuZ2UuZW1pdCh0aGlzLmFzYyk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImJ0bi1ncm91cCBtZS0zXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIlNvcnQgZ3JvdXBcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodFwiIChjbGljayk9XCJhc2NEZXNjQ2xpY2soKVwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiYXNjID09PSB1bmRlZmluZWQgfHwgYXNjID09PSBudWxsXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1zb3J0IGZhLWZ3XCI+PC9pPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImFzYyA9PT0gdHJ1ZVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtYXJyb3ctZG93bi16LWEgZmEtZndcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiYXNjID09PSBmYWxzZVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtYXJyb3ctdXAtei1hIGZhLWZ3XCI+PC9pPjwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cInNvcnRGaWVsZHMgJiYgc29ydEZpZWxkcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IGRyb3Bkb3duLXRvZ2dsZVwiIHR5cGU9XCJidXR0b25cIiBpZD1cInt7ZWxlbWVudE5hbWV9fVwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic29ydEZpZWxkOyBlbHNlIGVsc2VGaWVsZEJsb2NrXCI+e3sgc29ydEZpZWxkLnZhbHVlIHwgdHJhbnNsYXRlIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlRmllbGRCbG9jaz57eyAnQWN0aW9uLlNvcnQnIHwgdHJhbnNsYXRlIH19PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPHVsICpuZ0lmPVwic29ydEZpZWxkcyAmJiBzb3J0RmllbGRzLmxlbmd0aCA+IDBcIiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZWxlbWVudE5hbWVcIj5cclxuICAgICAgICA8bGk+PGEgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc29ydEZpZWxkc1wiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwic29ydEZpZWxkQ2xpY2soaXRlbSlcIj57eyAoaXRlbS52YWx1ZSkgfCB0cmFuc2xhdGUgfX08L2E+PC9saT5cclxuICAgIDwvdWw+XHJcbjwvZGl2PjxpIGNsYXNzPVwiXCI+PC9pPiJdfQ==
@@ -1,120 +0,0 @@
1
- import { Directive, HostListener, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ZekSort {
4
- constructor(el /*, renderer: Renderer, private templateRef: TemplateRef<any>, private viewContainer: ViewContainerRef */) {
5
- this.el = el;
6
- this.innerHtml = '';
7
- /**
8
- * name of sorting column
9
- */
10
- this.header = null;
11
- /**
12
- * Executes after 'sort' input changed
13
- */
14
- this.sortChange = new EventEmitter();
15
- /**
16
- * Executes after 'asc' input changed
17
- */
18
- this.ascChange = new EventEmitter();
19
- /**
20
- * Executes after click on column
21
- */
22
- this.onChange = new EventEmitter();
23
- this._sort = null;
24
- this._asc = false;
25
- }
26
- // @Input() set myIf(shouldAdd: boolean) {
27
- // if (shouldAdd) {
28
- // // If condition is true add template to DOM
29
- // this.viewContainer.createEmbeddedView(this.templateRef);
30
- // } else {
31
- // // Else remove template from DOM
32
- // this.viewContainer.clear();
33
- // }
34
- // }
35
- ngAfterViewInit() {
36
- // Use renderer to render the element with styles
37
- //renderer.setElementStyle(el.nativeElement, 'display', 'none');
38
- this.innerHtml = this.el.nativeElement.innerHTML;
39
- this.initIcon();
40
- }
41
- initIcon() {
42
- if (!this.innerHtml)
43
- return;
44
- let tmpAsc = 0;
45
- if (!this.header || this.header !== this.sort) {
46
- tmpAsc = 1;
47
- }
48
- else if (this.asc) {
49
- tmpAsc = 2;
50
- }
51
- else {
52
- tmpAsc = 3;
53
- }
54
- this.el.nativeElement.innerHTML = (this.innerHtml || '')
55
- + '<span class="float-end' + (tmpAsc === 1 ? ' text-muted' : '') + '">'
56
- + (tmpAsc === 1 ? '<i class="fa-solid fa-sort"></i>' : '')
57
- + (tmpAsc === 2 ? '<i class="fa-solid fa-sort-up"></i>' : '')
58
- + (tmpAsc === 3 ? '<i class="fa-solid fa-sort-down"></i>' : '')
59
- + '</span>';
60
- }
61
- // @HostListener('click', ['$event.target']) onClick(btn) {
62
- // console.log('button', btn, 'number of clicks:', this.numberOfClicks++);
63
- // }
64
- onClick() {
65
- if (this.sort !== this.header) {
66
- this.sort = this.header;
67
- this.sortChange.emit(this.sort);
68
- this.asc = true;
69
- this.ascChange.emit(this.asc);
70
- }
71
- else {
72
- this.asc = !this.asc;
73
- this.ascChange.emit(this.asc);
74
- }
75
- this.onChange.emit();
76
- }
77
- get sort() {
78
- return this._sort;
79
- }
80
- set sort(value) {
81
- if (this._sort !== value) {
82
- this._sort = value;
83
- this.initIcon();
84
- }
85
- }
86
- get asc() {
87
- return this._asc;
88
- }
89
- set asc(value) {
90
- if (this._asc !== value) {
91
- this._asc = value;
92
- this.initIcon();
93
- }
94
- }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSort, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
96
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: ZekSort, isStandalone: true, selector: "[zek-sort]", inputs: { header: "header", sort: "sort", asc: "asc" }, outputs: { sortChange: "sortChange", ascChange: "ascChange", onChange: "onChange" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
97
- }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSort, decorators: [{
99
- type: Directive,
100
- args: [{
101
- standalone: true,
102
- selector: '[zek-sort]'
103
- }]
104
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { header: [{
105
- type: Input
106
- }], sortChange: [{
107
- type: Output
108
- }], ascChange: [{
109
- type: Output
110
- }], onChange: [{
111
- type: Output
112
- }], onClick: [{
113
- type: HostListener,
114
- args: ['click']
115
- }], sort: [{
116
- type: Input
117
- }], asc: [{
118
- type: Input
119
- }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvc29ydC9zb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNeEgsTUFBTSxPQUFPLE9BQU87SUF3QmhCLFlBQW9CLEVBQWMsQ0FBQSx5R0FBeUc7UUFBdkgsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXZCMUIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUUvQjs7V0FFRztRQUNNLFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBRXRDOztXQUVHO1FBQ08sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRXpEOztXQUVHO1FBQ08sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFbEQ7O1dBRUc7UUFDTyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQW1FaEMsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFhNUIsU0FBSSxHQUFHLEtBQUssQ0FBQztJQTVFckIsQ0FBQztJQUVELDBDQUEwQztJQUMxQyx1QkFBdUI7SUFDdkIsb0RBQW9EO0lBQ3BELGlFQUFpRTtJQUNqRSxlQUFlO0lBQ2Ysd0NBQXdDO0lBQ3hDLG9DQUFvQztJQUNwQyxRQUFRO0lBQ1IsTUFBTTtJQUdOLGVBQWU7UUFDWCxpREFBaUQ7UUFDakQsZ0VBQWdFO1FBRWhFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFNUIsSUFBSSxNQUFNLEdBQUcsQ0FB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QTdCLFlBQVk7dUJBQUMsT0FBTztnQkF3QmpCLElBQUk7c0JBRFAsS0FBSztnQkFjRixHQUFHO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHNlbGVjdG9yOiAnW3play1zb3J0XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1NvcnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICAgIHByaXZhdGUgaW5uZXJIdG1sOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIG5hbWUgb2Ygc29ydGluZyBjb2x1bW5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgaGVhZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV4ZWN1dGVzIGFmdGVyICdzb3J0JyBpbnB1dCBjaGFuZ2VkXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXhlY3V0ZXMgYWZ0ZXIgJ2FzYycgaW5wdXQgY2hhbmdlZFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgYXNjQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogIEV4ZWN1dGVzIGFmdGVyIGNsaWNrIG9uIGNvbHVtblxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYvKiwgcmVuZGVyZXI6IFJlbmRlcmVyLCBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LCBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYgKi8pIHtcclxuICAgIH1cclxuXHJcbiAgICAvLyBASW5wdXQoKSBzZXQgbXlJZihzaG91bGRBZGQ6IGJvb2xlYW4pIHtcclxuICAgIC8vICAgICBpZiAoc2hvdWxkQWRkKSB7XHJcbiAgICAvLyAgICAgICAvLyBJZiBjb25kaXRpb24gaXMgdHJ1ZSBhZGQgdGVtcGxhdGUgdG8gRE9NXHJcbiAgICAvLyAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgLy8gICAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgIC8vIEVsc2UgcmVtb3ZlIHRlbXBsYXRlIGZyb20gRE9NXHJcbiAgICAvLyAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH1cclxuXHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIC8vIFVzZSByZW5kZXJlciB0byByZW5kZXIgdGhlIGVsZW1lbnQgd2l0aCBzdHlsZXNcclxuICAgICAgICAvL3JlbmRlcmVyLnNldEVsZW1lbnRTdHlsZShlbC5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XHJcblxyXG4gICAgICAgIHRoaXMuaW5uZXJIdG1sID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTDtcclxuICAgICAgICB0aGlzLmluaXRJY29uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdEljb24oKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlubmVySHRtbCkgcmV0dXJuO1xyXG5cclxuICAgICAgICBsZXQgdG1wQXNjID0gMDtcclxuICAgICAgICBpZiAoIXRoaXMuaGVhZGVyIHx8IHRoaXMuaGVhZGVyICE9PSB0aGlzLnNvcnQpIHtcclxuICAgICAgICAgICAgdG1wQXNjID0gMTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYXNjKSB7XHJcbiAgICAgICAgICAgIHRtcEFzYyA9IDI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdG1wQXNjID0gMztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSAodGhpcy5pbm5lckh0bWwgfHwgJycpXHJcbiAgICAgICAgICAgICsgJzxzcGFuIGNsYXNzPVwiZmxvYXQtZW5kJyArICh0bXBBc2MgPT09IDEgPyAnIHRleHQtbXV0ZWQnIDogJycpICsgJ1wiPidcclxuICAgICAgICAgICAgKyAodG1wQXNjID09PSAxID8gJzxpIGNsYXNzPVwiZmEtc29saWQgZmEtc29ydFwiPjwvaT4nIDogJycpXHJcbiAgICAgICAgICAgICsgKHRtcEFzYyA9PT0gMiA/ICc8aSBjbGFzcz1cImZhLXNvbGlkIGZhLXNvcnQtdXBcIj48L2k+JyA6ICcnKVxyXG4gICAgICAgICAgICArICh0bXBBc2MgPT09IDMgPyAnPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1zb3J0LWRvd25cIj48L2k+JyA6ICcnKVxyXG4gICAgICAgICAgICArICc8L3NwYW4+JztcclxuICAgIH1cclxuXHJcbiAgICAvLyAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKSBvbkNsaWNrKGJ0bikge1xyXG4gICAgLy8gICAgICBjb25zb2xlLmxvZygnYnV0dG9uJywgYnRuLCAnbnVtYmVyIG9mIGNsaWNrczonLCB0aGlzLm51bWJlck9mQ2xpY2tzKyspO1xyXG4gICAgLy8gICB9XHJcbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpIG9uQ2xpY2soKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc29ydCAhPT0gdGhpcy5oZWFkZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5zb3J0ID0gdGhpcy5oZWFkZXI7XHJcbiAgICAgICAgICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHRoaXMuc29ydCk7XHJcbiAgICAgICAgICAgIHRoaXMuYXNjID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5hc2NDaGFuZ2UuZW1pdCh0aGlzLmFzYyk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXNjID0gIXRoaXMuYXNjO1xyXG4gICAgICAgICAgICB0aGlzLmFzY0NoYW5nZS5lbWl0KHRoaXMuYXNjKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zb3J0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAgIGdldCBzb3J0KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zb3J0O1xyXG4gICAgfVxyXG4gICAgQElucHV0KClcclxuICAgIHNldCBzb3J0KHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NvcnQgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvcnQgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5pbml0SWNvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfYXNjID0gZmFsc2U7XHJcbiAgICBnZXQgYXNjKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9hc2M7XHJcbiAgICB9XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGFzYyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIGlmICh0aGlzLl9hc2MgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FzYyA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRJY29uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
@@ -1,2 +0,0 @@
1
- export * from './tag';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3RhZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGFnJzsiXX0=