ngx-sumax-erp-components 0.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 (142) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/date-picker/CustomDatePickerFormat.mjs +43 -0
  3. package/esm2022/lib/date-picker/CustomDatePickerI18n.mjs +50 -0
  4. package/esm2022/lib/date-picker/date-picker.component.mjs +366 -0
  5. package/esm2022/lib/date-picker/date-picker.mjs +3 -0
  6. package/esm2022/lib/date-picker/date-picker.module.mjs +69 -0
  7. package/esm2022/lib/date-picker/date-picker.service.mjs +68 -0
  8. package/esm2022/lib/date-time-picker/date-time-picker.component.mjs +311 -0
  9. package/esm2022/lib/date-time-picker/date-time-picker.mjs +3 -0
  10. package/esm2022/lib/date-time-picker/date-time-picker.module.mjs +76 -0
  11. package/esm2022/lib/date-time-picker/date-time-picker.service.mjs +64 -0
  12. package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.component.mjs +1140 -0
  13. package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.module.mjs +93 -0
  14. package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.service.mjs +85 -0
  15. package/esm2022/lib/dialog-ag-grid-search/dialog-ag-grid-search.component.mjs +283 -0
  16. package/esm2022/lib/dialog-ag-grid-search/dialog-ag-grid-search.module.mjs +23 -0
  17. package/esm2022/lib/error-message/error-message.component.mjs +24 -0
  18. package/esm2022/lib/error-message/error-message.module.mjs +19 -0
  19. package/esm2022/lib/input-number/input-number.component.mjs +351 -0
  20. package/esm2022/lib/input-number/input-number.mjs +3 -0
  21. package/esm2022/lib/input-number/input-number.module.mjs +65 -0
  22. package/esm2022/lib/input-number/input-number.service.mjs +68 -0
  23. package/esm2022/lib/input-text/input-text.component.mjs +345 -0
  24. package/esm2022/lib/input-text/input-text.mjs +3 -0
  25. package/esm2022/lib/input-text/input-text.module.mjs +73 -0
  26. package/esm2022/lib/input-text/input-text.service.mjs +96 -0
  27. package/esm2022/lib/ng-select-multiple/ng-select-multiple.component.mjs +375 -0
  28. package/esm2022/lib/ng-select-multiple/ng-select-multiple.mjs +3 -0
  29. package/esm2022/lib/ng-select-multiple/ng-select-multiple.module.mjs +69 -0
  30. package/esm2022/lib/ng-select-multiple/ng-select-multiple.service.mjs +96 -0
  31. package/esm2022/lib/ng-select-simple/ng-select-simple.component.mjs +461 -0
  32. package/esm2022/lib/ng-select-simple/ng-select-simple.mjs +3 -0
  33. package/esm2022/lib/ng-select-simple/ng-select-simple.module.mjs +53 -0
  34. package/esm2022/lib/ng-select-simple/ng-select-simple.service.mjs +138 -0
  35. package/esm2022/lib/sc-ag-grid/cell-editors/container-shared/container-shared.component.mjs +144 -0
  36. package/esm2022/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayCustom.component.mjs +27 -0
  37. package/esm2022/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayDefault.component.mjs +22 -0
  38. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-button/sc-cell-render-button.component.mjs +242 -0
  39. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-checkbox-list/sc-cell-render-checkbox-list.component.mjs +62 -0
  40. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-config.mjs +27 -0
  41. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-select/sc-cell-render-select.component.mjs +70 -0
  42. package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-toggle/sc-cell-render-toggle.component.mjs +45 -0
  43. package/esm2022/lib/sc-ag-grid/directives/scAgGrid.directive.mjs +25 -0
  44. package/esm2022/lib/sc-ag-grid/index.mjs +14 -0
  45. package/esm2022/lib/sc-ag-grid/input-search/input-search.component.mjs +20 -0
  46. package/esm2022/lib/sc-ag-grid/input-search/input-search.module.mjs +31 -0
  47. package/esm2022/lib/sc-ag-grid/sc-ag-grid-customizable/sc-ag-grid-customizable.component.mjs +564 -0
  48. package/esm2022/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.component.mjs +80 -0
  49. package/esm2022/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.module.mjs +31 -0
  50. package/esm2022/lib/sc-ag-grid/sc-ag-grid.module.mjs +118 -0
  51. package/esm2022/lib/sc-ag-grid/sc-grid.uitl.mjs +10 -0
  52. package/esm2022/lib/sc-wizard/sc-wizard.component.mjs +75 -0
  53. package/esm2022/lib/sc-wizard/sc-wizard.module.mjs +44 -0
  54. package/esm2022/lib/text-area/text-area.component.mjs +272 -0
  55. package/esm2022/lib/text-area/text-area.mjs +3 -0
  56. package/esm2022/lib/text-area/text-area.module.mjs +60 -0
  57. package/esm2022/lib/text-area/text-area.service.mjs +54 -0
  58. package/esm2022/lib/tooltip-message/tooltip-message.component.mjs +25 -0
  59. package/esm2022/lib/tooltip-message/tooltip-message.module.mjs +21 -0
  60. package/esm2022/lib/utils/DateTimeModel.mjs +56 -0
  61. package/esm2022/lib/utils/DateTimePickerEditable.mjs +3 -0
  62. package/esm2022/lib/utils/DateUtil.mjs +196 -0
  63. package/esm2022/lib/utils/INgSelect.mjs +2 -0
  64. package/esm2022/lib/utils/IScAgGrid.mjs +7 -0
  65. package/esm2022/lib/utils/ScWizardBase.mjs +14 -0
  66. package/esm2022/lib/utils/SharedComponentsUtil.mjs +38 -0
  67. package/esm2022/lib/utils/ValidateUtil.mjs +18 -0
  68. package/esm2022/lib/utils/message-util.service.mjs +75 -0
  69. package/esm2022/ngx-sumax-erp-components.mjs +5 -0
  70. package/esm2022/public-api.mjs +33 -0
  71. package/fesm2022/ngx-sumax-erp-components.mjs +7045 -0
  72. package/fesm2022/ngx-sumax-erp-components.mjs.map +1 -0
  73. package/index.d.ts +5 -0
  74. package/lib/date-picker/CustomDatePickerFormat.d.ts +11 -0
  75. package/lib/date-picker/CustomDatePickerI18n.d.ts +25 -0
  76. package/lib/date-picker/date-picker.component.d.ts +108 -0
  77. package/lib/date-picker/date-picker.d.ts +10 -0
  78. package/lib/date-picker/date-picker.module.d.ts +18 -0
  79. package/lib/date-picker/date-picker.service.d.ts +22 -0
  80. package/lib/date-time-picker/date-time-picker.component.d.ts +96 -0
  81. package/lib/date-time-picker/date-time-picker.d.ts +9 -0
  82. package/lib/date-time-picker/date-time-picker.module.d.ts +18 -0
  83. package/lib/date-time-picker/date-time-picker.service.d.ts +20 -0
  84. package/lib/date-time-picker-editable/date-time-picker-editable.component.d.ts +118 -0
  85. package/lib/date-time-picker-editable/date-time-picker-editable.module.d.ts +16 -0
  86. package/lib/date-time-picker-editable/date-time-picker-editable.service.d.ts +27 -0
  87. package/lib/dialog-ag-grid-search/dialog-ag-grid-search.component.d.ts +82 -0
  88. package/lib/dialog-ag-grid-search/dialog-ag-grid-search.module.d.ts +13 -0
  89. package/lib/error-message/error-message.component.d.ts +13 -0
  90. package/lib/error-message/error-message.module.d.ts +9 -0
  91. package/lib/input-number/input-number.component.d.ts +74 -0
  92. package/lib/input-number/input-number.d.ts +10 -0
  93. package/lib/input-number/input-number.module.d.ts +17 -0
  94. package/lib/input-number/input-number.service.d.ts +22 -0
  95. package/lib/input-text/input-text.component.d.ts +85 -0
  96. package/lib/input-text/input-text.d.ts +17 -0
  97. package/lib/input-text/input-text.module.d.ts +18 -0
  98. package/lib/input-text/input-text.service.d.ts +35 -0
  99. package/lib/ng-select-multiple/ng-select-multiple.component.d.ts +83 -0
  100. package/lib/ng-select-multiple/ng-select-multiple.d.ts +14 -0
  101. package/lib/ng-select-multiple/ng-select-multiple.module.d.ts +17 -0
  102. package/lib/ng-select-multiple/ng-select-multiple.service.d.ts +30 -0
  103. package/lib/ng-select-simple/ng-select-simple.component.d.ts +124 -0
  104. package/lib/ng-select-simple/ng-select-simple.d.ts +20 -0
  105. package/lib/ng-select-simple/ng-select-simple.module.d.ts +17 -0
  106. package/lib/ng-select-simple/ng-select-simple.service.d.ts +42 -0
  107. package/lib/sc-ag-grid/cell-editors/container-shared/container-shared.component.d.ts +61 -0
  108. package/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayCustom.component.d.ts +10 -0
  109. package/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayDefault.component.d.ts +9 -0
  110. package/lib/sc-ag-grid/cell-render/sc-cell-render-button/sc-cell-render-button.component.d.ts +49 -0
  111. package/lib/sc-ag-grid/cell-render/sc-cell-render-checkbox-list/sc-cell-render-checkbox-list.component.d.ts +11 -0
  112. package/lib/sc-ag-grid/cell-render/sc-cell-render-config.d.ts +20 -0
  113. package/lib/sc-ag-grid/cell-render/sc-cell-render-select/sc-cell-render-select.component.d.ts +16 -0
  114. package/lib/sc-ag-grid/cell-render/sc-cell-render-toggle/sc-cell-render-toggle.component.d.ts +16 -0
  115. package/lib/sc-ag-grid/directives/scAgGrid.directive.d.ts +10 -0
  116. package/lib/sc-ag-grid/index.d.ts +13 -0
  117. package/lib/sc-ag-grid/input-search/input-search.component.d.ts +11 -0
  118. package/lib/sc-ag-grid/input-search/input-search.module.d.ts +9 -0
  119. package/lib/sc-ag-grid/sc-ag-grid-customizable/sc-ag-grid-customizable.component.d.ts +191 -0
  120. package/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.component.d.ts +25 -0
  121. package/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.module.d.ts +9 -0
  122. package/lib/sc-ag-grid/sc-ag-grid.module.d.ts +32 -0
  123. package/lib/sc-ag-grid/sc-grid.uitl.d.ts +5 -0
  124. package/lib/sc-wizard/sc-wizard.component.d.ts +38 -0
  125. package/lib/sc-wizard/sc-wizard.module.d.ts +13 -0
  126. package/lib/text-area/text-area.component.d.ts +66 -0
  127. package/lib/text-area/text-area.d.ts +8 -0
  128. package/lib/text-area/text-area.module.d.ts +16 -0
  129. package/lib/text-area/text-area.service.d.ts +18 -0
  130. package/lib/tooltip-message/tooltip-message.component.d.ts +13 -0
  131. package/lib/tooltip-message/tooltip-message.module.d.ts +11 -0
  132. package/lib/utils/DateTimeModel.d.ts +16 -0
  133. package/lib/utils/DateTimePickerEditable.d.ts +13 -0
  134. package/lib/utils/DateUtil.d.ts +37 -0
  135. package/lib/utils/INgSelect.d.ts +6 -0
  136. package/lib/utils/IScAgGrid.d.ts +65 -0
  137. package/lib/utils/ScWizardBase.d.ts +9 -0
  138. package/lib/utils/SharedComponentsUtil.d.ts +6 -0
  139. package/lib/utils/ValidateUtil.d.ts +4 -0
  140. package/lib/utils/message-util.service.d.ts +10 -0
  141. package/package.json +32 -0
  142. package/public-api.d.ts +29 -0
@@ -0,0 +1,461 @@
1
+ import { Component, EventEmitter, forwardRef, Input, Output, ViewChild, ViewEncapsulation, } from "@angular/core";
2
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { of } from "rxjs";
4
+ import { shareReplay } from "rxjs/operators";
5
+ import { DialogAgGridSearchComponent } from '../dialog-ag-grid-search/dialog-ag-grid-search.component';
6
+ import { SharedComponentsUtil } from "../utils/SharedComponentsUtil";
7
+ import { ValidateUtil } from "../utils/ValidateUtil";
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../utils/message-util.service";
10
+ import * as i2 from "@angular/material/dialog";
11
+ import * as i3 from "./ng-select-simple.service";
12
+ import * as i4 from "@angular/common";
13
+ import * as i5 from "@angular/forms";
14
+ import * as i6 from "../error-message/error-message.component";
15
+ import * as i7 from "../tooltip-message/tooltip-message.component";
16
+ import * as i8 from "@angular/material/tooltip";
17
+ import * as i9 from "@ng-select/ng-select";
18
+ export class SearchParams {
19
+ constructor(columnDefs = [], title = "", width = "990px", rowData = of([])) {
20
+ this.columnDefs = columnDefs;
21
+ this.title = title;
22
+ this.width = width;
23
+ this.rowData = rowData;
24
+ }
25
+ }
26
+ export class ColumnDefs {
27
+ }
28
+ export class NgSelectSimpleComponent {
29
+ openEnlace() {
30
+ window.open(this.urlRedirect);
31
+ }
32
+ constructor(messageUtilService, dialog, ngSelectSimpleService) {
33
+ this.messageUtilService = messageUtilService;
34
+ this.dialog = dialog;
35
+ this.ngSelectSimpleService = ngSelectSimpleService;
36
+ this.showLabel = true;
37
+ this.label = null;
38
+ this.autocomplete = "no-autocomplete-ng-select";
39
+ this.required = false;
40
+ this.disabled = false;
41
+ this.readonly = false;
42
+ this.validatorMessage = false;
43
+ this.tooltipMessage = true;
44
+ this.openWhenFocus = false;
45
+ this.searchBy = "value";
46
+ this.markFirstItem = false;
47
+ this.markWhenHaveOneItem = false;
48
+ this.submitted = true;
49
+ this.setNgClass = "";
50
+ this.searchable = true;
51
+ this.validatorAlert = false;
52
+ this.upperCase = false;
53
+ this.templateLabel = null;
54
+ this.appendTo = "body";
55
+ this.loading = true;
56
+ this.loadingText = "Cargando...";
57
+ this.clearAllText = "Limpiar";
58
+ this.notFoundText = "No se encontraron resultados";
59
+ this.markFirst = true;
60
+ this.clearable = true;
61
+ this.clearOnBackspace = false;
62
+ this.virtualScroll = true;
63
+ this.openOnEnter = false;
64
+ this.refresh = false;
65
+ this.isRefreshDisabled = false;
66
+ this.search = false;
67
+ this.redirect = false;
68
+ this.searchParams = new SearchParams();
69
+ this.labelInfo = false;
70
+ this.textLabelInfo = "";
71
+ this.urlRedirect = "";
72
+ this.titleRedirect = "";
73
+ this.isRedirectDisabled = false;
74
+ this.onNext = new EventEmitter();
75
+ this.onBack = new EventEmitter();
76
+ this.change = new EventEmitter();
77
+ this.blur = new EventEmitter();
78
+ this.onfocus = new EventEmitter();
79
+ this.onrefresh = new EventEmitter();
80
+ this.onsearch = new EventEmitter();
81
+ this.validateUtil = new ValidateUtil();
82
+ this.sharedComponentsUtil = new SharedComponentsUtil();
83
+ this.allItems = [];
84
+ this.subscriptions = [];
85
+ this.onChange = (_) => { };
86
+ this.onValidationChange = () => { };
87
+ this.onTouched = () => { };
88
+ this.focus = () => {
89
+ this.ngSelectSimple.focus();
90
+ if (this.openWhenFocus) {
91
+ this.ngSelectSimple.open();
92
+ }
93
+ };
94
+ this.close = () => {
95
+ this.ngSelectSimple.close();
96
+ };
97
+ this.validatorMessage = this.ngSelectSimpleService.getValidatorMessage();
98
+ this.tooltipMessage = this.ngSelectSimpleService.getTooltipMessage();
99
+ this.openWhenFocus = this.ngSelectSimpleService.getOpenWhenFocus();
100
+ this.searchBy = this.ngSelectSimpleService.getSearchBy();
101
+ this.markFirstItem = this.ngSelectSimpleService.getMarkFirstItem();
102
+ this.submitted = this.ngSelectSimpleService.getSubmitted();
103
+ this.searchable = this.ngSelectSimpleService.getSearchable();
104
+ this.validatorAlert = this.ngSelectSimpleService.getValidatorAlert();
105
+ this.upperCase = this.ngSelectSimpleService.getUpperCase();
106
+ this.appendTo = this.ngSelectSimpleService.getAppendTo();
107
+ this.loadingText = this.ngSelectSimpleService.getLoadingText();
108
+ this.clearAllText = this.ngSelectSimpleService.getClearAllText();
109
+ this.markFirst = this.ngSelectSimpleService.getMarkFirst();
110
+ this.clearable = this.ngSelectSimpleService.getClearable();
111
+ this.clearOnBackspace = this.ngSelectSimpleService.getClearOnBackspace();
112
+ this.virtualScroll = this.ngSelectSimpleService.getVirtualScroll();
113
+ this.openOnEnter = this.ngSelectSimpleService.getOpenOnEnter();
114
+ this.notFoundText = this.ngSelectSimpleService.getNotFoundText();
115
+ }
116
+ ngOnDestroy() {
117
+ this.subscriptions.forEach(s => s.unsubscribe());
118
+ }
119
+ ngOnChanges(changes) {
120
+ if (changes["items"]) {
121
+ this.loading = true;
122
+ this.carga();
123
+ }
124
+ if (changes["submitted"]) {
125
+ if (this.controls !== undefined && changes["submitted"].currentValue) {
126
+ this.controls.markAsDirty();
127
+ this.controls.markAsTouched();
128
+ }
129
+ }
130
+ }
131
+ async carga() {
132
+ this.allItems = await new Promise((resolve, reject) => {
133
+ this.items = this.items.pipe(shareReplay({ refCount: true }));
134
+ const subscription = this.items.subscribe((res) => {
135
+ resolve(res);
136
+ });
137
+ this.subscriptions.push(subscription);
138
+ });
139
+ this.loading = false;
140
+ if (this._value != null) {
141
+ this.allItems.forEach((element) => {
142
+ if (!this.validateUtil.isUndefinedOrNull(this.getObject(element, this.searchBy)) &&
143
+ this.getObject(element, this.searchBy) === this._value) {
144
+ this._value = element;
145
+ this.onChange(this._value);
146
+ this.onValidationChange();
147
+ this.change.emit(this._value);
148
+ }
149
+ });
150
+ }
151
+ else {
152
+ if (this.markFirstItem && this.allItems.length > 0) {
153
+ this._value = this.allItems[0];
154
+ this.onChange(this._value);
155
+ this.onValidationChange();
156
+ this.change.emit(this._value);
157
+ }
158
+ if (this.markWhenHaveOneItem && this.allItems.length === 1) {
159
+ this._value = this.allItems[0];
160
+ this.onChange(this._value);
161
+ this.onValidationChange();
162
+ this.change.emit(this._value);
163
+ }
164
+ }
165
+ }
166
+ ngOnInit() { }
167
+ getObject(obj, key) {
168
+ return key.split(".").reduce(function (o, x) {
169
+ return typeof o == "undefined" || o === null ? o : o[x];
170
+ }, obj);
171
+ }
172
+ writeValue(value) {
173
+ if (value != null) {
174
+ if (this.loading) {
175
+ this._value = value;
176
+ }
177
+ else {
178
+ this._value = value;
179
+ this.allItems.forEach((element) => {
180
+ if (!this.validateUtil.isUndefinedOrNull(this.getObject(element, this.searchBy)) &&
181
+ this.getObject(element, this.searchBy) === this._value) {
182
+ this._value = element;
183
+ this.onChange(this._value);
184
+ this.onValidationChange();
185
+ this.change.emit(this._value);
186
+ }
187
+ });
188
+ }
189
+ //this.searchElement(value);
190
+ this.onValidationChange();
191
+ }
192
+ else {
193
+ this._value = null;
194
+ this.onValidationChange();
195
+ }
196
+ }
197
+ registerOnChange(fn) {
198
+ this.onChange = fn;
199
+ }
200
+ registerOnTouched(fn) {
201
+ this.onTouched = fn;
202
+ }
203
+ setDisabledState(isDisabled) {
204
+ this.disabled = isDisabled;
205
+ }
206
+ validate(control) {
207
+ this.controls = control;
208
+ return null;
209
+ }
210
+ registerOnValidatorChange(fn) {
211
+ this.onValidationChange = fn;
212
+ }
213
+ eventChange(e) {
214
+ this.onChange(e);
215
+ this.onValidationChange();
216
+ this.change.emit(e);
217
+ }
218
+ eventBlur(e) {
219
+ this.onTouched();
220
+ this.onValidationChange();
221
+ this.blur.emit(e);
222
+ }
223
+ eventFocus(e) {
224
+ // this.ngSelectSimple.focus();
225
+ if (this.openWhenFocus) {
226
+ this.ngSelectSimple.open();
227
+ }
228
+ this.onfocus.emit(e);
229
+ }
230
+ eventSearch(e) {
231
+ this.onsearch.emit(e);
232
+ }
233
+ enterKeyUp() {
234
+ this.ngSelectSimple.close();
235
+ if (!this.disabled) {
236
+ let validator = this.sharedComponentsUtil.stopByValidator(this.controls, this.validatorAlert, this.label);
237
+ if (validator.error) {
238
+ this.messageUtilService.getMessageError("000046", "Error", validator.message);
239
+ return;
240
+ }
241
+ }
242
+ if (this.next != undefined) {
243
+ if (this.next.disabled || this.next.readonly) {
244
+ if (this.nextIsDisable != undefined) {
245
+ this.nextIsDisable.focus();
246
+ }
247
+ }
248
+ else {
249
+ this.next.focus();
250
+ }
251
+ }
252
+ else {
253
+ if (this.nextIsDisable != undefined) {
254
+ this.nextIsDisable.focus();
255
+ }
256
+ else {
257
+ this.onNext.emit();
258
+ }
259
+ }
260
+ }
261
+ leftKeyUp() {
262
+ this.ngSelectSimple.close();
263
+ if (!this.disabled) {
264
+ let validator = this.sharedComponentsUtil.stopByValidator(this.controls, this.validatorAlert, this.label);
265
+ if (validator.error) {
266
+ this.messageUtilService.getMessageError("000046", "Error", validator.message);
267
+ return;
268
+ }
269
+ }
270
+ if (this.back != undefined) {
271
+ if (this.back.disabled || this.back.readonly) {
272
+ if (this.backIsDisable != undefined) {
273
+ this.backIsDisable.focus();
274
+ }
275
+ }
276
+ else {
277
+ this.back.focus();
278
+ }
279
+ }
280
+ else {
281
+ if (this.backIsDisable != undefined) {
282
+ this.backIsDisable.focus();
283
+ }
284
+ else {
285
+ this.onBack.emit();
286
+ }
287
+ }
288
+ }
289
+ clear() {
290
+ this._value = null;
291
+ this.onChange(this._value);
292
+ this.onValidationChange();
293
+ this.change.emit(this._value);
294
+ }
295
+ onRefresh() {
296
+ this.onrefresh.emit();
297
+ }
298
+ async onSearch() {
299
+ const dialogRef = this.dialog.open(DialogAgGridSearchComponent, {
300
+ width: this.searchParams.width,
301
+ disableClose: true,
302
+ });
303
+ let rowdata = await this.searchParams.rowData.toPromise();
304
+ let instance = dialogRef.componentInstance;
305
+ instance.tittle = this.searchParams.title === "" ? this.label : this.searchParams.title;
306
+ instance.rowData = rowdata && rowdata.length < 1 ? this.items : this.searchParams.rowData;
307
+ instance.columnDefs = this.searchParams.columnDefs;
308
+ dialogRef.afterClosed().subscribe((resp) => {
309
+ this.focus();
310
+ if (resp.length > 0) {
311
+ this._value = resp[0];
312
+ this.onChange(this._value);
313
+ this.onValidationChange();
314
+ this.change.emit(this._value);
315
+ }
316
+ });
317
+ }
318
+ f1KeyUp() {
319
+ if (!this.btnSearch) {
320
+ return;
321
+ }
322
+ this.ngSelectSimple.close();
323
+ //this.btnSearch.nativeElement.focus();
324
+ this.onSearch();
325
+ }
326
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgSelectSimpleComponent, deps: [{ token: i1.MessageUtilService }, { token: i2.MatDialog }, { token: i3.NgSelectSimpleService }], target: i0.ɵɵFactoryTarget.Component }); }
327
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: NgSelectSimpleComponent, selector: "ng-select-simple", inputs: { showLabel: "showLabel", label: "label", autocomplete: "autocomplete", next: "next", nextIsDisable: "nextIsDisable", back: "back", backIsDisable: "backIsDisable", required: "required", disabled: "disabled", readonly: "readonly", validatorMessage: "validatorMessage", tooltipMessage: "tooltipMessage", openWhenFocus: "openWhenFocus", searchBy: "searchBy", markFirstItem: "markFirstItem", markWhenHaveOneItem: "markWhenHaveOneItem", submitted: "submitted", setNgClass: "setNgClass", searchable: "searchable", validatorAlert: "validatorAlert", upperCase: "upperCase", templateLabel: "templateLabel", appendTo: "appendTo", items: "items", loading: "loading", loadingText: "loadingText", clearAllText: "clearAllText", notFoundText: "notFoundText", markFirst: "markFirst", clearable: "clearable", clearOnBackspace: "clearOnBackspace", virtualScroll: "virtualScroll", openOnEnter: "openOnEnter", refresh: "refresh", isRefreshDisabled: "isRefreshDisabled", search: "search", redirect: "redirect", searchParams: "searchParams", labelInfo: "labelInfo", textLabelInfo: "textLabelInfo", urlRedirect: "urlRedirect", titleRedirect: "titleRedirect", isRedirectDisabled: "isRedirectDisabled" }, outputs: { onNext: "onNext", onBack: "onBack", change: "change", blur: "blur", onfocus: "onfocus", onrefresh: "onrefresh", onsearch: "onsearch" }, providers: [
328
+ {
329
+ provide: NG_VALUE_ACCESSOR,
330
+ useExisting: forwardRef(() => NgSelectSimpleComponent),
331
+ multi: true,
332
+ },
333
+ {
334
+ provide: NG_VALIDATORS,
335
+ useExisting: forwardRef(() => NgSelectSimpleComponent),
336
+ multi: true,
337
+ },
338
+ ], viewQueries: [{ propertyName: "ngSelectSimple", first: true, predicate: ["ngSelectSimple"], descendants: true }, { propertyName: "btnSearch", first: true, predicate: ["btnSearch"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\">\r\n <span *ngIf=\"!templateLabel; else templateLabel\" [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">\r\n {{ label }}\r\n </span>\r\n <span *ngIf=\"required\" [class.text-danger]=\"controls?.errors != null\"> *</span>\r\n <span *ngIf=\"labelInfo\">\r\n <i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\r\n </span>\r\n</label>\r\n\r\n<div\r\n [class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.refresh]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && refresh\"\r\n [class.search]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && search\">\r\n <div class=\"d-flex\">\r\n <div\r\n class=\"position-relative\"\r\n [class.ng-select-container-fullbuttons]=\"search && refresh && redirect\"\r\n [class.app-ng-selec-container]=\"search || refresh\"\r\n [class.w-100]=\"!search && !refresh\">\r\n <ng-select\r\n #ngSelectSimple\r\n [class]=\"search || refresh ? 'app-ng-select' : 'w-100'\"\r\n [class.action]=\"search && refresh\"\r\n [items]=\"items | async\"\r\n [(ngModel)]=\"_value\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (change)=\"eventChange($event)\"\r\n (blur)=\"eventBlur($event)\"\r\n (focus)=\"eventFocus($event)\"\r\n (search)=\"eventSearch($event)\"\r\n [markFirst]=\"markFirst\"\r\n [clearable]=\"!required && clearable\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [inputAttrs]=\"{ autocomplete: autocomplete }\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [openOnEnter]=\"openOnEnter\"\r\n (keydown.delete)=\"!required && clearable ? clear() : ''\"\r\n (clear)=\"clear()\"\r\n (keyup.F1)=\"f1KeyUp()\"\r\n [notFoundText]=\"notFoundText\"\r\n placeholder=\"Seleccionar\"\r\n (keyup.enter)=\"enterKeyUp()\"\r\n [clearAllText]=\"clearAllText\"\r\n [searchable]=\"searchable\"\r\n (keyup.ArrowLeft)=\"leftKeyUp()\"\r\n [appendTo]=\"appendTo\"\r\n [loading]=\"loading\"\r\n [loadingText]=\"loadingText\"\r\n [class.ng-select-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.ng-select-touched]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.upperCase]=\"upperCase\"\r\n [ngClass]=\"setNgClass\">\r\n <!-- OPCIONES DE LISTADO -->\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n <span data-toggle=\"tooltip\" title=\"{{ item.label }}\">{{ item.label }}</span>\r\n </ng-template>\r\n </ng-select>\r\n\r\n <!-- tooltip-message es el icono de error -->\r\n <tooltip-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></tooltip-message>\r\n </div>\r\n <ng-container *ngIf=\"search && refresh && redirect; else templateAction\">\r\n <div class=\"app-ng-select-action bd-highligh\">\r\n <button\r\n #btnSearch\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\r\n style=\"background-color: orange; border-color: orange\"\r\n (click)=\"onSearch()\">\r\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"custom-tooltip\"></i>\r\n </button>\r\n <button\r\n *ngIf=\"refresh\"\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\r\n class=\"btn btn-info p-0 rounded-0 h-100\"\r\n (click)=\"onRefresh()\">\r\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (click)=\"openEnlace()\"\r\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\r\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #templateAction>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"search\">\r\n <button\r\n #btnSearch\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\r\n (click)=\"onSearch()\">\r\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"bg-success\"></i>\r\n </button>\r\n </div>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"refresh\">\r\n <button\r\n *ngIf=\"refresh\"\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\r\n class=\"btn btn-info p-0 rounded-0 h-100\"\r\n (click)=\"onRefresh()\">\r\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n </div>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"redirect\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n style=\"padding-top: 3px; padding-bottom: 7px; border-radius: 0px\"\r\n (click)=\"openEnlace()\"\r\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\r\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\r\n </button>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-content select=\"[more-buttons]\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<!-- error-message es el mansaje que aparece abajo del componente -->\r\n<error-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></error-message>\r\n", styles: ["ng-select-simple{display:block}.sumax-label{color:#646c9a!important}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;font-size:16px;text-align:center;right:9px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.upperCase .ng-select-container .ng-value-container .ng-input>input{text-transform:uppercase}.app-ng-select-button{width:34px}.app-ng-select-button button{width:100%}.app-ng-selec-container{width:calc(100% - 34px)}.ng-select-container-fullbuttons{width:calc(100% - 102px)}.app-ng-select-action{width:8rem}.app-ng-select-action button{min-width:2rem;width:33%}.overflow-box{padding:5px;height:100px;border:1px solid #999;overflow:hidden}.ng-dropdown-panel{width:auto!important;max-width:550px;min-width:100%}.custom-tooltip{--mdc-plain-tooltip-container-color: orange}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.errorMessageComponent, selector: "error-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "component", type: i7.tooltipMessageComponent, selector: "tooltip-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i9.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i9.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
339
+ }
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgSelectSimpleComponent, decorators: [{
341
+ type: Component,
342
+ args: [{ selector: 'ng-select-simple', providers: [
343
+ {
344
+ provide: NG_VALUE_ACCESSOR,
345
+ useExisting: forwardRef(() => NgSelectSimpleComponent),
346
+ multi: true,
347
+ },
348
+ {
349
+ provide: NG_VALIDATORS,
350
+ useExisting: forwardRef(() => NgSelectSimpleComponent),
351
+ multi: true,
352
+ },
353
+ ], encapsulation: ViewEncapsulation.None, template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\">\r\n <span *ngIf=\"!templateLabel; else templateLabel\" [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">\r\n {{ label }}\r\n </span>\r\n <span *ngIf=\"required\" [class.text-danger]=\"controls?.errors != null\"> *</span>\r\n <span *ngIf=\"labelInfo\">\r\n <i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\r\n </span>\r\n</label>\r\n\r\n<div\r\n [class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.refresh]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && refresh\"\r\n [class.search]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted && search\">\r\n <div class=\"d-flex\">\r\n <div\r\n class=\"position-relative\"\r\n [class.ng-select-container-fullbuttons]=\"search && refresh && redirect\"\r\n [class.app-ng-selec-container]=\"search || refresh\"\r\n [class.w-100]=\"!search && !refresh\">\r\n <ng-select\r\n #ngSelectSimple\r\n [class]=\"search || refresh ? 'app-ng-select' : 'w-100'\"\r\n [class.action]=\"search && refresh\"\r\n [items]=\"items | async\"\r\n [(ngModel)]=\"_value\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (change)=\"eventChange($event)\"\r\n (blur)=\"eventBlur($event)\"\r\n (focus)=\"eventFocus($event)\"\r\n (search)=\"eventSearch($event)\"\r\n [markFirst]=\"markFirst\"\r\n [clearable]=\"!required && clearable\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [inputAttrs]=\"{ autocomplete: autocomplete }\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [openOnEnter]=\"openOnEnter\"\r\n (keydown.delete)=\"!required && clearable ? clear() : ''\"\r\n (clear)=\"clear()\"\r\n (keyup.F1)=\"f1KeyUp()\"\r\n [notFoundText]=\"notFoundText\"\r\n placeholder=\"Seleccionar\"\r\n (keyup.enter)=\"enterKeyUp()\"\r\n [clearAllText]=\"clearAllText\"\r\n [searchable]=\"searchable\"\r\n (keyup.ArrowLeft)=\"leftKeyUp()\"\r\n [appendTo]=\"appendTo\"\r\n [loading]=\"loading\"\r\n [loadingText]=\"loadingText\"\r\n [class.ng-select-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.ng-select-touched]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n [class.upperCase]=\"upperCase\"\r\n [ngClass]=\"setNgClass\">\r\n <!-- OPCIONES DE LISTADO -->\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n <span data-toggle=\"tooltip\" title=\"{{ item.label }}\">{{ item.label }}</span>\r\n </ng-template>\r\n </ng-select>\r\n\r\n <!-- tooltip-message es el icono de error -->\r\n <tooltip-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></tooltip-message>\r\n </div>\r\n <ng-container *ngIf=\"search && refresh && redirect; else templateAction\">\r\n <div class=\"app-ng-select-action bd-highligh\">\r\n <button\r\n #btnSearch\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\r\n style=\"background-color: orange; border-color: orange\"\r\n (click)=\"onSearch()\">\r\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"custom-tooltip\"></i>\r\n </button>\r\n <button\r\n *ngIf=\"refresh\"\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\r\n class=\"btn btn-info p-0 rounded-0 h-100\"\r\n (click)=\"onRefresh()\">\r\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (click)=\"openEnlace()\"\r\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\r\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #templateAction>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"search\">\r\n <button\r\n #btnSearch\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n (keyup.ArrowLeft)=\"ngSelectSimple.focus()\"\r\n (click)=\"onSearch()\">\r\n <i class=\"fa fa-search text-white px-1\" [matTooltip]=\"'Buscar'\" matTooltipClass=\"bg-success\"></i>\r\n </button>\r\n </div>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"refresh\">\r\n <button\r\n *ngIf=\"refresh\"\r\n type=\"button\"\r\n [disabled]=\"disabled || readonly || isRefreshDisabled\"\r\n class=\"btn btn-info p-0 rounded-0 h-100\"\r\n (click)=\"onRefresh()\">\r\n <i class=\"fa fa-refresh text-white px-1\" [matTooltip]=\"'Refrescar'\" matTooltipClass=\"bg-info\"></i>\r\n </button>\r\n </div>\r\n <div class=\"app-ng-select-button bd-highlight\" *ngIf=\"redirect\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-success p-0 rounded-0 h-100\"\r\n style=\"padding-top: 3px; padding-bottom: 7px; border-radius: 0px\"\r\n (click)=\"openEnlace()\"\r\n [disabled]=\"disabled || readonly || isRedirectDisabled\">\r\n <em class=\"fa-regular fa-rectangle-list text-white px-1\" [matTooltip]=\"titleRedirect!\" matTooltipClass=\"bg-success\"> </em>\r\n </button>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-content select=\"[more-buttons]\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<!-- error-message es el mansaje que aparece abajo del componente -->\r\n<error-message\r\n [label]=\"label\"\r\n [controls]=\"controls\"\r\n [validatorMessage]=\"validatorMessage\"\r\n [submitted]=\"submitted\"\r\n [tooltipMessage]=\"tooltipMessage\"></error-message>\r\n", styles: ["ng-select-simple{display:block}.sumax-label{color:#646c9a!important}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;font-size:16px;text-align:center;right:9px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.upperCase .ng-select-container .ng-value-container .ng-input>input{text-transform:uppercase}.app-ng-select-button{width:34px}.app-ng-select-button button{width:100%}.app-ng-selec-container{width:calc(100% - 34px)}.ng-select-container-fullbuttons{width:calc(100% - 102px)}.app-ng-select-action{width:8rem}.app-ng-select-action button{min-width:2rem;width:33%}.overflow-box{padding:5px;height:100px;border:1px solid #999;overflow:hidden}.ng-dropdown-panel{width:auto!important;max-width:550px;min-width:100%}.custom-tooltip{--mdc-plain-tooltip-container-color: orange}\n"] }]
354
+ }], ctorParameters: () => [{ type: i1.MessageUtilService }, { type: i2.MatDialog }, { type: i3.NgSelectSimpleService }], propDecorators: { ngSelectSimple: [{
355
+ type: ViewChild,
356
+ args: ["ngSelectSimple"]
357
+ }], btnSearch: [{
358
+ type: ViewChild,
359
+ args: ["btnSearch"]
360
+ }], showLabel: [{
361
+ type: Input
362
+ }], label: [{
363
+ type: Input
364
+ }], autocomplete: [{
365
+ type: Input
366
+ }], next: [{
367
+ type: Input
368
+ }], nextIsDisable: [{
369
+ type: Input
370
+ }], back: [{
371
+ type: Input
372
+ }], backIsDisable: [{
373
+ type: Input
374
+ }], required: [{
375
+ type: Input
376
+ }], disabled: [{
377
+ type: Input
378
+ }], readonly: [{
379
+ type: Input
380
+ }], validatorMessage: [{
381
+ type: Input
382
+ }], tooltipMessage: [{
383
+ type: Input
384
+ }], openWhenFocus: [{
385
+ type: Input
386
+ }], searchBy: [{
387
+ type: Input
388
+ }], markFirstItem: [{
389
+ type: Input
390
+ }], markWhenHaveOneItem: [{
391
+ type: Input
392
+ }], submitted: [{
393
+ type: Input
394
+ }], setNgClass: [{
395
+ type: Input
396
+ }], searchable: [{
397
+ type: Input
398
+ }], validatorAlert: [{
399
+ type: Input
400
+ }], upperCase: [{
401
+ type: Input
402
+ }], templateLabel: [{
403
+ type: Input
404
+ }], appendTo: [{
405
+ type: Input
406
+ }], items: [{
407
+ type: Input
408
+ }], loading: [{
409
+ type: Input
410
+ }], loadingText: [{
411
+ type: Input
412
+ }], clearAllText: [{
413
+ type: Input
414
+ }], notFoundText: [{
415
+ type: Input
416
+ }], markFirst: [{
417
+ type: Input
418
+ }], clearable: [{
419
+ type: Input
420
+ }], clearOnBackspace: [{
421
+ type: Input
422
+ }], virtualScroll: [{
423
+ type: Input
424
+ }], openOnEnter: [{
425
+ type: Input
426
+ }], refresh: [{
427
+ type: Input
428
+ }], isRefreshDisabled: [{
429
+ type: Input
430
+ }], search: [{
431
+ type: Input
432
+ }], redirect: [{
433
+ type: Input
434
+ }], searchParams: [{
435
+ type: Input
436
+ }], labelInfo: [{
437
+ type: Input
438
+ }], textLabelInfo: [{
439
+ type: Input
440
+ }], urlRedirect: [{
441
+ type: Input
442
+ }], titleRedirect: [{
443
+ type: Input
444
+ }], isRedirectDisabled: [{
445
+ type: Input
446
+ }], onNext: [{
447
+ type: Output
448
+ }], onBack: [{
449
+ type: Output
450
+ }], change: [{
451
+ type: Output
452
+ }], blur: [{
453
+ type: Output
454
+ }], onfocus: [{
455
+ type: Output
456
+ }], onrefresh: [{
457
+ type: Output
458
+ }], onsearch: [{
459
+ type: Output
460
+ }] } });
461
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0LXNpbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUlMLE1BQU0sRUFHTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsYUFBYSxFQUFFLGlCQUFpQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBR3JHLE9BQU8sRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUV2RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBSXJELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ1MsYUFBMkIsRUFBRSxFQUM3QixRQUFnQixFQUFFLEVBQ2xCLFFBQWdCLE9BQU8sRUFDdkIsVUFBNkIsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUhuQyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQ3ZCLFlB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cEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tIFwiQG5nLXNlbGVjdC9uZy1zZWxlY3RcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHNoYXJlUmVwbGF5IH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IERpYWxvZ0FnR3JpZFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZy1hZy1ncmlkLXNlYXJjaC9kaWFsb2ctYWctZ3JpZC1zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVzc2FnZVV0aWxTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL21lc3NhZ2UtdXRpbC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNoYXJlZENvbXBvbmVudHNVdGlsIH0gZnJvbSBcIi4uL3V0aWxzL1NoYXJlZENvbXBvbmVudHNVdGlsXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRlVXRpbCB9IGZyb20gXCIuLi91dGlscy9WYWxpZGF0ZVV0aWxcIjtcclxuaW1wb3J0IHsgTmdTZWxlY3RTaW1wbGVTZXJ2aWNlIH0gZnJvbSBcIi4vbmctc2VsZWN0LXNpbXBsZS5zZXJ2aWNlXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFNlYXJjaFBhcmFtcyB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29sdW1uRGVmczogQ29sdW1uRGVmc1tdID0gW10sXHJcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyA9IFwiXCIsXHJcbiAgICBwdWJsaWMgd2lkdGg6IHN0cmluZyA9IFwiOTkwcHhcIixcclxuICAgIHB1YmxpYyByb3dEYXRhOiBPYnNlcnZhYmxlPGFueVtdPiA9IG9mKFtdKVxyXG4gICkgeyB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDb2x1bW5EZWZzIHtcclxuICBoZWFkZXJOYW1lPzogc3RyaW5nO1xyXG4gIGZpZWxkPzogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGNlbGxSZW5kZXJlcj86IGFueTtcclxuICB2YWx1ZUdldHRlcj86IChmaWVsZDogYW55KSA9PiBzdHJpbmcgfCBzdHJpbmc7XHJcbiAgc29ydGFibGU/OiBib29sZWFuO1xyXG4gIHJlc2l6YWJsZT86IGJvb2xlYW47XHJcbiAgY2VsbENsYXNzPzogc3RyaW5nW107XHJcbiAgY2VsbFN0eWxlPzoge307XHJcbiAgdmFsdWVGb3JtYXR0ZXI/OiBhbnk7XHJcbiAgcGlubmVkPzogc3RyaW5nO1xyXG4gIHNvcnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmctc2VsZWN0LXNpbXBsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25nLXNlbGVjdC1zaW1wbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25nLXNlbGVjdC1zaW1wbGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5nU2VsZWN0U2ltcGxlQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOZ1NlbGVjdFNpbXBsZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ1NlbGVjdFNpbXBsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoXCJuZ1NlbGVjdFNpbXBsZVwiKSBuZ1NlbGVjdFNpbXBsZSE6IE5nU2VsZWN0Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoXCJidG5TZWFyY2hcIikgYnRuU2VhcmNoITogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBsYWJlbDogYW55ID0gbnVsbDtcclxuICBASW5wdXQoKSBhdXRvY29tcGxldGU6IHN0cmluZyA9IFwibm8tYXV0b2NvbXBsZXRlLW5nLXNlbGVjdFwiO1xyXG4gIEBJbnB1dCgpIG5leHQ6IGFueTtcclxuICBASW5wdXQoKSBuZXh0SXNEaXNhYmxlOiBhbnk7XHJcbiAgQElucHV0KCkgYmFjazogYW55O1xyXG4gIEBJbnB1dCgpIGJhY2tJc0Rpc2FibGU6IGFueTtcclxuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB2YWxpZGF0b3JNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdG9vbHRpcE1lc3NhZ2U6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIG9wZW5XaGVuRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hCeTogc3RyaW5nID0gXCJ2YWx1ZVwiO1xyXG4gIEBJbnB1dCgpIG1hcmtGaXJzdEl0ZW06IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBtYXJrV2hlbkhhdmVPbmVJdGVtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3VibWl0dGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzZXROZ0NsYXNzOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHNlYXJjaGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHZhbGlkYXRvckFsZXJ0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdXBwZXJDYXNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGVtcGxhdGVMYWJlbDogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGFwcGVuZFRvOiBzdHJpbmcgPSBcImJvZHlcIjtcclxuICBASW5wdXQoKSBpdGVtcyE6IE9ic2VydmFibGU8YW55W10+O1xyXG5cclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBsb2FkaW5nVGV4dDogc3RyaW5nID0gXCJDYXJnYW5kby4uLlwiO1xyXG4gIEBJbnB1dCgpIGNsZWFyQWxsVGV4dDogc3RyaW5nID0gXCJMaW1waWFyXCI7XHJcbiAgQElucHV0KCkgbm90Rm91bmRUZXh0OiBzdHJpbmcgPSBcIk5vIHNlIGVuY29udHJhcm9uIHJlc3VsdGFkb3NcIjtcclxuXHJcbiAgQElucHV0KCkgbWFya0ZpcnN0OiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNsZWFyT25CYWNrc3BhY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBvcGVuT25FbnRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJlZnJlc2g6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1JlZnJlc2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJlZGlyZWN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHNlYXJjaFBhcmFtczogU2VhcmNoUGFyYW1zID0gbmV3IFNlYXJjaFBhcmFtcygpO1xyXG4gIEBJbnB1dCgpIGxhYmVsSW5mbzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRleHRMYWJlbEluZm86IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpIHVybFJlZGlyZWN0OiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHRpdGxlUmVkaXJlY3Q6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgaXNSZWRpcmVjdERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBvbk5leHQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkJhY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBibHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25mb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9ucmVmcmVzaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uc2VhcmNoOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICB2YWxpZGF0ZVV0aWwgPSBuZXcgVmFsaWRhdGVVdGlsKCk7XHJcbiAgc2hhcmVkQ29tcG9uZW50c1V0aWwgPSBuZXcgU2hhcmVkQ29tcG9uZW50c1V0aWwoKTtcclxuXHJcbiAgYWxsSXRlbXMgPSBbXTtcclxuICBfdmFsdWU6IGFueTtcclxuICBjb250cm9sczogYW55O1xyXG5cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIG9uQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICBvblZhbGlkYXRpb25DaGFuZ2UgPSAoKSA9PiB7IH07XHJcblxyXG4gIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcclxuXHJcbiAgZm9jdXMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLm5nU2VsZWN0U2ltcGxlLmZvY3VzKCk7XHJcbiAgICBpZiAodGhpcy5vcGVuV2hlbkZvY3VzKSB7XHJcbiAgICAgIHRoaXMubmdTZWxlY3RTaW1wbGUub3BlbigpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNsb3NlID0gKCkgPT4ge1xyXG4gICAgdGhpcy5uZ1NlbGVjdFNpbXBsZS5jbG9zZSgpO1xyXG4gIH07XHJcblxyXG4gIG9wZW5FbmxhY2UgKCk6IHZvaWQge1xyXG4gICAgd2luZG93Lm9wZW4odGhpcy51cmxSZWRpcmVjdCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbWVzc2FnZVV0aWxTZXJ2aWNlOiBNZXNzYWdlVXRpbFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIG5nU2VsZWN0U2ltcGxlU2VydmljZTogTmdTZWxlY3RTaW1wbGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRvck1lc3NhZ2UgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRWYWxpZGF0b3JNZXNzYWdlKCk7XHJcbiAgICB0aGlzLnRvb2x0aXBNZXNzYWdlID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0VG9vbHRpcE1lc3NhZ2UoKTtcclxuICAgIHRoaXMub3BlbldoZW5Gb2N1cyA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldE9wZW5XaGVuRm9jdXMoKTtcclxuICAgIHRoaXMuc2VhcmNoQnkgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRTZWFyY2hCeSgpO1xyXG4gICAgdGhpcy5tYXJrRmlyc3RJdGVtID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0TWFya0ZpcnN0SXRlbSgpO1xyXG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRTdWJtaXR0ZWQoKTtcclxuICAgIHRoaXMuc2VhcmNoYWJsZSA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldFNlYXJjaGFibGUoKTtcclxuICAgIHRoaXMudmFsaWRhdG9yQWxlcnQgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRWYWxpZGF0b3JBbGVydCgpO1xyXG4gICAgdGhpcy51cHBlckNhc2UgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRVcHBlckNhc2UoKTtcclxuICAgIHRoaXMuYXBwZW5kVG8gPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRBcHBlbmRUbygpO1xyXG4gICAgdGhpcy5sb2FkaW5nVGV4dCA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldExvYWRpbmdUZXh0KCk7XHJcbiAgICB0aGlzLmNsZWFyQWxsVGV4dCA9IHRoaXMubmdTZWxlY3RTaW1wbGVTZXJ2aWNlLmdldENsZWFyQWxsVGV4dCgpO1xyXG4gICAgdGhpcy5tYXJrRmlyc3QgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRNYXJrRmlyc3QoKTtcclxuICAgIHRoaXMuY2xlYXJhYmxlID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0Q2xlYXJhYmxlKCk7XHJcbiAgICB0aGlzLmNsZWFyT25CYWNrc3BhY2UgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRDbGVhck9uQmFja3NwYWNlKCk7XHJcbiAgICB0aGlzLnZpcnR1YWxTY3JvbGwgPSB0aGlzLm5nU2VsZWN0U2ltcGxlU2VydmljZS5nZXRWaXJ0dWFsU2Nyb2xsKCk7XHJcbiAgICB0aGlzLm9wZW5PbkVudGVyID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0T3Blbk9uRW50ZXIoKTtcclxuICAgIHRoaXMubm90Rm91bmRUZXh0ID0gdGhpcy5uZ1NlbGVjdFNpbXBsZVNlcnZpY2UuZ2V0Tm90Rm91bmRUZXh0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSAoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSlcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1tcIml0ZW1zXCJdKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2FyZ2EoKTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzW1wic3VibWl0dGVkXCJdKSB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2xzICE9PSB1bmRlZmluZWQgJiYgY2hhbmdlc1tcInN1Ym1pdHRlZFwiXS5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2xzLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgdGhpcy5jb250cm9scy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGNhcmdhICgpIHtcclxuICAgIHRoaXMuYWxsSXRlbXMgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLnBpcGUoc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSB9KSk7XHJcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuaXRlbXMuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHJlc29sdmUocmVzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuX3ZhbHVlICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5hbGxJdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgIXRoaXMudmFsaWRhdGVVdGlsLmlzVW5kZWZpbmVkT3JOdWxsKHRoaXMuZ2V0T2JqZWN0KGVsZW1lbnQsIHRoaXMuc2VhcmNoQnkpKSAmJlxyXG4gICAgICAgICAgdGhpcy5nZXRPYmplY3QoZWxlbWVudCwgdGhpcy5zZWFyY2hCeSkgPT09IHRoaXMuX3ZhbHVlXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IGVsZW1lbnQ7XHJcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICAgIHRoaXMub25WYWxpZGF0aW9uQ2hhbmdlKCk7XHJcbiAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMubWFya0ZpcnN0SXRlbSAmJiB0aGlzLmFsbEl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuYWxsSXRlbXNbMF07XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5tYXJrV2hlbkhhdmVPbmVJdGVtICYmIHRoaXMuYWxsSXRlbXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLmFsbEl0ZW1zWzBdO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgIHRoaXMub25WYWxpZGF0aW9uQ2hhbmdlKCk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLl92YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0ICgpIHsgfVxyXG5cclxuICBnZXRPYmplY3QgKG9iajogYW55LCBrZXk6IGFueSkge1xyXG4gICAgcmV0dXJuIGtleS5zcGxpdChcIi5cIikucmVkdWNlKGZ1bmN0aW9uIChvOiBhbnksIHg6IGFueSkge1xyXG4gICAgICByZXR1cm4gdHlwZW9mIG8gPT0gXCJ1bmRlZmluZWRcIiB8fCBvID09PSBudWxsID8gbyA6IG9beF07XHJcbiAgICB9LCBvYmopO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSAodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMubG9hZGluZykge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgIXRoaXMudmFsaWRhdGVVdGlsLmlzVW5kZWZpbmVkT3JOdWxsKHRoaXMuZ2V0T2JqZWN0KGVsZW1lbnQsIHRoaXMuc2VhcmNoQnkpKSAmJlxyXG4gICAgICAgICAgICB0aGlzLmdldE9iamVjdChlbGVtZW50LCB0aGlzLnNlYXJjaEJ5KSA9PT0gdGhpcy5fdmFsdWVcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IGVsZW1lbnQ7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy90aGlzLnNlYXJjaEVsZW1lbnQodmFsdWUpO1xyXG4gICAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlIChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkIChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlIChpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgYW55IHtcclxuICAgIHRoaXMuY29udHJvbHMgPSBjb250cm9sO1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlPyhmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIGV2ZW50Q2hhbmdlIChlOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UoZSk7XHJcbiAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIGV2ZW50Qmx1ciAoZTogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UoKTtcclxuICAgIHRoaXMuYmx1ci5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgZXZlbnRGb2N1cyAoZTogYW55KSB7XHJcbiAgICAvLyB0aGlzLm5nU2VsZWN0U2ltcGxlLmZvY3VzKCk7XHJcbiAgICBpZiAodGhpcy5vcGVuV2hlbkZvY3VzKSB7XHJcbiAgICAgIHRoaXMubmdTZWxlY3RTaW1wbGUub3BlbigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbmZvY3VzLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBldmVudFNlYXJjaCAoZTogYW55KSB7XHJcbiAgICB0aGlzLm9uc2VhcmNoLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBlbnRlcktleVVwICgpIHtcclxuICAgIHRoaXMubmdTZWxlY3RTaW1wbGUuY2xvc2UoKTtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICBsZXQgdmFsaWRhdG9yID0gdGhpcy5zaGFyZWRDb21wb25lbnRzVXRpbC5zdG9wQnlWYWxpZGF0b3IodGhpcy5jb250cm9scywgdGhpcy52YWxpZGF0b3JBbGVydCwgdGhpcy5sYWJlbCk7XHJcbiAgICAgIGlmICh2YWxpZGF0b3IuZXJyb3IpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VVdGlsU2VydmljZS5nZXRNZXNzYWdlRXJyb3IoXCIwMDAwNDZcIiwgXCJFcnJvclwiLCB2YWxpZGF0b3IubWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5uZXh0ICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAodGhpcy5uZXh0LmRpc2FibGVkIHx8IHRoaXMubmV4dC5yZWFkb25seSkge1xyXG4gICAgICAgIGlmICh0aGlzLm5leHRJc0Rpc2FibGUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLm5leHRJc0Rpc2FibGUuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5uZXh0LmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLm5leHRJc0Rpc2FibGUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5uZXh0SXNEaXNhYmxlLmZvY3VzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5vbk5leHQuZW1pdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsZWZ0S2V5VXAgKCkge1xyXG4gICAgdGhpcy5uZ1NlbGVjdFNpbXBsZS5jbG9zZSgpO1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGxldCB2YWxpZGF0b3IgPSB0aGlzLnNoYXJlZENvbXBvbmVudHNVdGlsLnN0b3BCeVZhbGlkYXRvcih0aGlzLmNvbnRyb2xzLCB0aGlzLnZhbGlkYXRvckFsZXJ0LCB0aGlzLmxhYmVsKTtcclxuICAgICAgaWYgKHZhbGlkYXRvci5lcnJvcikge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVV0aWxTZXJ2aWNlLmdldE1lc3NhZ2VFcnJvcihcIjAwMDA0NlwiLCBcIkVycm9yXCIsIHZhbGlkYXRvci5tZXNzYWdlKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmJhY2sgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmICh0aGlzLmJhY2suZGlzYWJsZWQgfHwgdGhpcy5iYWNrLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuYmFja0lzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuYmFja0lzRGlzYWJsZS5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmJhY2suZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuYmFja0lzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmJhY2tJc0Rpc2FibGUuZm9jdXMoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uQmFjay5lbWl0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyICgpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UoKTtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25SZWZyZXNoICgpIHtcclxuICAgIHRoaXMub25yZWZyZXNoLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG9uU2VhcmNoICgpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nQWdHcmlkU2VhcmNoQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiB0aGlzLnNlYXJjaFBhcmFtcy53aWR0aCxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBsZXQgcm93ZGF0YSA9IGF3YWl0IHRoaXMuc2VhcmNoUGFyYW1zLnJvd0RhdGEudG9Qcm9taXNlKCk7XHJcbiAgICBsZXQgaW5zdGFuY2UgPSBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XHJcbiAgICBpbnN0YW5jZS50aXR0bGUgPSB0aGlzLnNlYXJjaFBhcmFtcy50aXRsZSA9PT0gXCJcIiA/IHRoaXMubGFiZWwgOiB0aGlzLnNlYXJjaFBhcmFtcy50aXRsZTtcclxuICAgIGluc3RhbmNlLnJvd0RhdGEgPSByb3dkYXRhICYmIHJvd2RhdGEubGVuZ3RoIDwgMSA/IHRoaXMuaXRlbXMgOiB0aGlzLnNlYXJjaFBhcmFtcy5yb3dEYXRhO1xyXG4gICAgaW5zdGFuY2UuY29sdW1uRGVmcyA9IHRoaXMuc2VhcmNoUGFyYW1zLmNvbHVtbkRlZnM7XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3A6IGFueVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgICAgaWYgKHJlc3AubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gcmVzcFswXTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGYxS2V5VXAgKCkge1xyXG4gICAgaWYgKCF0aGlzLmJ0blNlYXJjaCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm5nU2VsZWN0U2ltcGxlLmNsb3NlKCk7XHJcbiAgICAvL3RoaXMuYnRuU2VhcmNoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIHRoaXMub25TZWFyY2goKTtcclxuICB9XHJcbn1cclxuIiwiPGxhYmVsICpuZ0lmPVwibGFiZWwgIT0gbnVsbCAmJiBsYWJlbCAhPSAnJyAmJiBzaG93TGFiZWxcIiBjbGFzcz1cImQtZmxleCBzdW1heC1sYWJlbCBtYi0wIHAtMFwiPlxyXG4gIDxzcGFuICpuZ0lmPVwiIXRlbXBsYXRlTGFiZWw7IGVsc2UgdGVtcGxhdGVMYWJlbFwiIFt0aXRsZV09XCJsYWJlbFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXNcIj5cclxuICAgIHt7IGxhYmVsIH19XHJcbiAgPC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBbY2xhc3MudGV4dC1kYW5nZXJdPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsXCI+ICo8L3NwYW4+XHJcbiAgPHNwYW4gKm5nSWY9XCJsYWJlbEluZm9cIj5cclxuICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlIHRleHQtaW5mbyBtcy0yXCIgW21hdFRvb2x0aXBdPVwidGV4dExhYmVsSW5mb1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XHJcbiAgPC9zcGFuPlxyXG48L2xhYmVsPlxyXG5cclxuPGRpdlxyXG4gIFtjbGFzcy5pbnB1dC1pY29uXT1cImNvbnRyb2xzPy5lcnJvcnMgIT0gbnVsbCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIlxyXG4gIFtjbGFzcy5yaWdodF09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGwgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkXCJcclxuICBbY2xhc3MucmVmcmVzaF09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGwgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkICYmIHJlZnJlc2hcIlxyXG4gIFtjbGFzcy5zZWFyY2hdPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsICYmIChjb250cm9scz8uZGlydHkgfHwgY29udHJvbHM/LnRvdWNoZWQpICYmIHN1Ym1pdHRlZCAmJiBzZWFyY2hcIj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIlxyXG4gICAgICBbY2xhc3Mubmctc2VsZWN0LWNvbnRhaW5lci1mdWxsYnV0dG9uc109XCJzZWFyY2ggJiYgcmVmcmVzaCAmJiByZWRpcmVjdFwiXHJcbiAgICAgIFtjbGFzcy5hcHAtbmctc2VsZWMtY29udGFpbmVyXT1cInNlYXJjaCB8fCByZWZyZXNoXCJcclxuICAgICAgW2NsYXNzLnctMTAwXT1cIiFzZWFyY2ggJiYgIXJlZnJlc2hcIj5cclxuICAgICAgPG5nLXNlbGVjdFxyXG4gICAgICAgICNuZ1NlbGVjdFNpbXBsZVxyXG4gICAgICAgIFtjbGFzc109XCJzZWFyY2ggfHwgcmVmcmVzaCA/ICdhcHAtbmctc2VsZWN0JyA6ICd3LTEwMCdcIlxyXG4gICAgICAgIFtjbGFzcy5hY3Rpb25dPVwic2VhcmNoICYmIHJlZnJlc2hcIlxyXG4gICAgICAgIFtpdGVtc109XCJpdGVtcyB8IGFzeW5jXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cIl92YWx1ZVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwiZXZlbnRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwiZXZlbnRCbHVyKCRldmVudClcIlxyXG4gICAgICAgIChmb2N1cyk9XCJldmVudEZvY3VzKCRldmVudClcIlxyXG4gICAgICAgIChzZWFyY2gpPVwiZXZlbnRTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgW21hcmtGaXJzdF09XCJtYXJrRmlyc3RcIlxyXG4gICAgICAgIFtjbGVhcmFibGVdPVwiIXJlcXVpcmVkICYmIGNsZWFyYWJsZVwiXHJcbiAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwidmlydHVhbFNjcm9sbFwiXHJcbiAgICAgICAgW2lucHV0QXR0cnNdPVwieyBhdXRvY29tcGxldGU6IGF1dG9jb21wbGV0ZSB9XCJcclxuICAgICAgICBbY2xlYXJPbkJhY2tzcGFjZV09XCJjbGVhck9uQmFja3NwYWNlXCJcclxuICAgICAgICBbb3Blbk9uRW50ZXJdPVwib3Blbk9uRW50ZXJcIlxyXG4gICAgICAgIChrZXlkb3duLmRlbGV0ZSk9XCIhcmVxdWlyZWQgJiYgY2xlYXJhYmxlID8gY2xlYXIoKSA6ICcnXCJcclxuICAgICAgICAoY2xlYXIpPVwiY2xlYXIoKVwiXHJcbiAgICAgICAgKGtleXVwLkYxKT1cImYxS2V5VXAoKVwiXHJcbiAgICAgICAgW25vdEZvdW5kVGV4dF09XCJub3RGb3VuZFRleHRcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWNjaW9uYXJcIlxyXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJlbnRlcktleVVwKClcIlxyXG4gICAgICAgIFtjbGVhckFsbFRleHRdPVwiY2xlYXJBbGxUZXh0XCJcclxuICAgICAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcclxuICAgICAgICAoa2V5dXAuQXJyb3dMZWZ0KT1cImxlZnRLZXlVcCgpXCJcclxuICAgICAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIlxyXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxyXG4gICAgICAgIFtsb2FkaW5nVGV4dF09XCJsb2FkaW5nVGV4dFwiXHJcbiAgICAgICAgW2NsYXNzLm5nLXNlbGVjdC1pbnZhbGlkXT1cImNvbnRyb2xzPy5lcnJvcnMgIT0gbnVsbCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIlxyXG4gICAgICAgIFtjbGFzcy5uZy1zZWxlY3QtdG91Y2hlZF09XCJjb250cm9scz8uZXJyb3JzICE9IG51bGwgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkXCJcclxuICAgICAgICBbY2xhc3MudXBwZXJDYXNlXT1cInVwcGVyQ2FzZVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwic2V0TmdDbGFzc1wiPlxyXG4gICAgICAgIDwhLS0gT1BDSU9ORVMgREUgTElTVEFETyAtLT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgdGl0bGU9XCJ7eyBpdGVtLmxhYmVsIH19XCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLXNlbGVjdD5cclxuXHJcbiAgICAgIDwhLS0gdG9vbHRpcC1tZXNzYWdlIGVzIGVsIGljb25vIGRlIGVycm9yIC0tPlxyXG4gICAgICA8dG9vbHRpcC1tZXNzYWdlXHJcbiAgICAgICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgICAgICBbY29udHJvbHNdPVwiY29udHJvbHNcIlxyXG4gICAgICAgIFt2YWxpZGF0b3JNZXNzYWdlXT1cInZhbGlkYXRvck1lc3NhZ2VcIlxyXG4gICAgICAgIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcclxuICAgICAgICBbdG9vbHRpcE1lc3NhZ2VdPVwidG9vbHRpcE1lc3NhZ2VcIj48L3Rvb2x0aXAtbWVzc2FnZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlYXJjaCAmJiByZWZyZXNoICYmIHJlZGlyZWN0OyBlbHNlIHRlbXBsYXRlQWN0aW9uXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtbmctc2VsZWN0LWFjdGlvbiBiZC1oaWdobGlnaFwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICNidG5TZWFyY2hcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCJcclxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIHAtMCByb3VuZGVkLTAgaC0xMDBcIlxyXG4gICAgICAgICAgKGtleXVwLkFycm93TGVmdCk9XCJuZ1NlbGVjdFNpbXBsZS5mb2N1cygpXCJcclxuICAgICAgICAgIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlOyBib3JkZXItY29sb3I6IG9yYW5nZVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TZWFyY2goKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2ggdGV4dC13aGl0ZSBweC0xXCIgW21hdFRvb2x0aXBdPVwiJ0J1c2NhcidcIiBtYXRUb29sdGlwQ2xhc3M9XCJjdXN0b20tdG9vbHRpcFwiPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInJlZnJlc2hcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHkgfHwgaXNSZWZyZXNoRGlzYWJsZWRcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWluZm8gcC0wIHJvdW5kZWQtMCBoLTEwMFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25SZWZyZXNoKClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcmVmcmVzaCB0ZXh0LXdoaXRlIHB4LTFcIiBbbWF0VG9vbHRpcF09XCInUmVmcmVzY2FyJ1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBwLTAgcm91bmRlZC0wIGgtMTAwXCJcclxuICAgICAgICAgIChjbGljayk9XCJvcGVuRW5sYWNlKClcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5IHx8IGlzUmVkaXJlY3REaXNhYmxlZFwiPlxyXG4gICAgICAgICAgPGVtIGNsYXNzPVwiZmEtcmVndWxhciBmYS1yZWN0YW5nbGUtbGlzdCB0ZXh0LXdoaXRlIHB4LTFcIiBbbWF0VG9vbHRpcF09XCJ0aXRsZVJlZGlyZWN0IVwiIG1hdFRvb2x0aXBDbGFzcz1cImJnLXN1Y2Nlc3NcIj4gPC9lbT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlQWN0aW9uPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLW5nLXNlbGVjdC1idXR0b24gYmQtaGlnaGxpZ2h0XCIgKm5nSWY9XCJzZWFyY2hcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAjYnRuU2VhcmNoXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBwLTAgcm91bmRlZC0wIGgtMTAwXCJcclxuICAgICAgICAgIChrZXl1cC5BcnJvd0xlZnQpPVwibmdTZWxlY3RTaW1wbGUuZm9jdXMoKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TZWFyY2goKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2ggdGV4dC13aGl0ZSBweC0xXCIgW21hdFRvb2x0aXBdPVwiJ0J1c2NhcidcIiBtYXRUb29sdGlwQ2xhc3M9XCJiZy1zdWNjZXNzXCI+PC9pPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1uZy1zZWxlY3QtYnV0dG9uIGJkLWhpZ2hsaWdodFwiICpuZ0lmPVwicmVmcmVzaFwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwicmVmcmVzaFwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seSB8fCBpc1JlZnJlc2hEaXNhYmxlZFwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4taW5mbyBwLTAgcm91bmRlZC0wIGgtMTAwXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblJlZnJlc2goKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1yZWZyZXNoIHRleHQtd2hpdGUgcHgtMVwiIFttYXRUb29sdGlwXT1cIidSZWZyZXNjYXInXCIgbWF0VG9vbHRpcENsYXNzPVwiYmctaW5mb1wiPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtbmctc2VsZWN0LWJ1dHRvbiBiZC1oaWdobGlnaHRcIiAqbmdJZj1cInJlZGlyZWN0XCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBwLTAgcm91bmRlZC0wIGgtMTAwXCJcclxuICAgICAgICAgIHN0eWxlPVwicGFkZGluZy10b3A6IDNweDsgcGFkZGluZy1ib3R0b206IDdweDsgYm9yZGVyLXJhZGl1czogMHB4XCJcclxuICAgICAgICAgIChjbGljayk9XCJvcGVuRW5sYWNlKClcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5IHx8IGlzUmVkaXJlY3REaXNhYmxlZFwiPlxyXG4gICAgICAgICAgPGVtIGNsYXNzPVwiZmEtcmVndWxhciBmYS1yZWN0YW5nbGUtbGlzdCB0ZXh0LXdoaXRlIHB4LTFcIiBbbWF0VG9vbHRpcF09XCJ0aXRsZVJlZGlyZWN0IVwiIG1hdFRvb2x0aXBDbGFzcz1cImJnLXN1Y2Nlc3NcIj4gPC9lbT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttb3JlLWJ1dHRvbnNdXCI+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gZXJyb3ItbWVzc2FnZSBlcyBlbCBtYW5zYWplIHF1ZSBhcGFyZWNlIGFiYWpvIGRlbCBjb21wb25lbnRlIC0tPlxyXG48ZXJyb3ItbWVzc2FnZVxyXG4gIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgW2NvbnRyb2xzXT1cImNvbnRyb2xzXCJcclxuICBbdmFsaWRhdG9yTWVzc2FnZV09XCJ2YWxpZGF0b3JNZXNzYWdlXCJcclxuICBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiXHJcbiAgW3Rvb2x0aXBNZXNzYWdlXT1cInRvb2x0aXBNZXNzYWdlXCI+PC9lcnJvci1tZXNzYWdlPlxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ export class NgSelectSimple {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0LXNpbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvbmctc2VsZWN0LXNpbXBsZS9uZy1zZWxlY3Qtc2ltcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxjQUFjO0NBbUIxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBOZ1NlbGVjdFNpbXBsZSB7XHJcbiAgdmFsaWRhdG9yTWVzc2FnZT86IGJvb2xlYW47XHJcbiAgdG9vbHRpcE1lc3NhZ2U/OiBib29sZWFuO1xyXG4gIG9wZW5XaGVuRm9jdXM/OiBib29sZWFuO1xyXG4gIHNlYXJjaEJ5Pzogc3RyaW5nO1xyXG4gIG1hcmtGaXJzdEl0ZW0/OiBib29sZWFuO1xyXG4gIHN1Ym1pdHRlZD86IGJvb2xlYW47XHJcbiAgc2VhcmNoYWJsZT86IGJvb2xlYW47XHJcbiAgdmFsaWRhdG9yQWxlcnQ/OiBib29sZWFuO1xyXG4gIHVwcGVyQ2FzZT86IGJvb2xlYW47XHJcbiAgYXBwZW5kVG8/OiBzdHJpbmc7XHJcbiAgbG9hZGluZ1RleHQ/OiBzdHJpbmc7XHJcbiAgY2xlYXJBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIG1hcmtGaXJzdD86IGJvb2xlYW47XHJcbiAgY2xlYXJhYmxlPzogYm9vbGVhbjtcclxuICBjbGVhck9uQmFja3NwYWNlPzogYm9vbGVhbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICBvcGVuT25FbnRlcj86IGJvb2xlYW47XHJcbiAgbm90Rm91bmRUZXh0Pzogc3RyaW5nO1xyXG59XHJcbiJdfQ==