imm-element-ui 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 (149) hide show
  1. package/README.md +24 -0
  2. package/esm2022/imm-element-ui.mjs +5 -0
  3. package/esm2022/lib/am/am.component.mjs +502 -0
  4. package/esm2022/lib/crumb-action/crumb-action.component.mjs +127 -0
  5. package/esm2022/lib/form/form/form.component.mjs +217 -0
  6. package/esm2022/lib/form/form-field/field-control.mjs +19 -0
  7. package/esm2022/lib/form/form-field/field-utils.mjs +227 -0
  8. package/esm2022/lib/form/form-field/form-field.mjs +129 -0
  9. package/esm2022/lib/form/form-field/form-type.mjs +123 -0
  10. package/esm2022/lib/form/form-field/label.directive.mjs +62 -0
  11. package/esm2022/lib/form/form-type/autocomplete.type.mjs +200 -0
  12. package/esm2022/lib/form/form-type/codemirror.type.mjs +167 -0
  13. package/esm2022/lib/form/form-type/datepicker.type.mjs +212 -0
  14. package/esm2022/lib/form/form-type/image.type.mjs +225 -0
  15. package/esm2022/lib/form/form-type/inputnumber.type.mjs +144 -0
  16. package/esm2022/lib/form/form-type/inputtext.type.mjs +69 -0
  17. package/esm2022/lib/form/form-type/multiselect.type.mjs +219 -0
  18. package/esm2022/lib/form/form-type/radio.type.mjs +167 -0
  19. package/esm2022/lib/form/form-type/select.type.mjs +196 -0
  20. package/esm2022/lib/form/form-type/textarea.type.mjs +75 -0
  21. package/esm2022/lib/form/form-type/treeselect.type.mjs +174 -0
  22. package/esm2022/lib/form/form-type/upload.type.mjs +228 -0
  23. package/esm2022/lib/grid/actions/actions.component.mjs +30 -0
  24. package/esm2022/lib/grid/cell-edit/cell-edit-autoComplete.component.mjs +89 -0
  25. package/esm2022/lib/grid/cell-edit/cell-edit-datePicker.compoent.mjs +182 -0
  26. package/esm2022/lib/grid/cell-edit/cell-edit-inputNumber.component.mjs +107 -0
  27. package/esm2022/lib/grid/cell-edit/cell-edit-inputText.compoent.mjs +46 -0
  28. package/esm2022/lib/grid/cell-edit/cell-edit-select.component.mjs +148 -0
  29. package/esm2022/lib/grid/cell-edit/index.mjs +7 -0
  30. package/esm2022/lib/grid/cell-render/async-renderer.mjs +29 -0
  31. package/esm2022/lib/grid/cell-render/link-render.mjs +42 -0
  32. package/esm2022/lib/grid/grid/grid.component.mjs +373 -0
  33. package/esm2022/lib/grid/grid-utils.mjs +103 -0
  34. package/esm2022/lib/grid/mock-data.mjs +14 -0
  35. package/esm2022/lib/grid/pager/pager.component.mjs +19 -0
  36. package/esm2022/lib/head/head.component.mjs +43 -0
  37. package/esm2022/lib/import/import.component.mjs +68 -0
  38. package/esm2022/lib/log/log.component.mjs +37 -0
  39. package/esm2022/lib/page-form/page-form.component.mjs +167 -0
  40. package/esm2022/lib/page-form/page-form.interface.mjs +2 -0
  41. package/esm2022/lib/page-grid-list/page-grid-list.component.mjs +60 -0
  42. package/esm2022/lib/row-selector/row-selector.component.mjs +58 -0
  43. package/esm2022/lib/search/mock-data.mjs +40 -0
  44. package/esm2022/lib/search/pop-date/pop-date.component.mjs +106 -0
  45. package/esm2022/lib/search/pop-list/pop-list.component.mjs +32 -0
  46. package/esm2022/lib/search/pop-panel/pop-panel.component.mjs +44 -0
  47. package/esm2022/lib/search/pop-select/pop-select.component.mjs +45 -0
  48. package/esm2022/lib/search/pop-self/pop-self.component.mjs +132 -0
  49. package/esm2022/lib/search/pop-tree/pop-tree.component.mjs +50 -0
  50. package/esm2022/lib/search/search/search.component.mjs +138 -0
  51. package/esm2022/lib/search/search-tip/search-tip.component.mjs +54 -0
  52. package/esm2022/lib/search/search-utils.mjs +165 -0
  53. package/esm2022/lib/search/text-panel/text-panel.component.mjs +41 -0
  54. package/esm2022/lib/service/action.service.mjs +115 -0
  55. package/esm2022/lib/service/i18n.service.mjs +79 -0
  56. package/esm2022/lib/service/themeConfig.service.mjs +82 -0
  57. package/esm2022/lib/service/userHistory.service.mjs +106 -0
  58. package/esm2022/lib/share/utils.mjs +150 -0
  59. package/esm2022/lib/steps/steps.component.mjs +31 -0
  60. package/esm2022/lib/theme-config/theme-config-panel.compoent.mjs +141 -0
  61. package/esm2022/lib/theme-config/theme-config.compoent.mjs +45 -0
  62. package/esm2022/public-api.mjs +26 -0
  63. package/fesm2022/imm-element-ui.mjs +6382 -0
  64. package/fesm2022/imm-element-ui.mjs.map +1 -0
  65. package/index.d.ts +5 -0
  66. package/lib/am/am.component.d.ts +191 -0
  67. package/lib/crumb-action/crumb-action.component.d.ts +40 -0
  68. package/lib/form/form/form.component.d.ts +53 -0
  69. package/lib/form/form-field/field-control.d.ts +13 -0
  70. package/lib/form/form-field/field-utils.d.ts +12 -0
  71. package/lib/form/form-field/form-field.d.ts +86 -0
  72. package/lib/form/form-field/form-type.d.ts +22 -0
  73. package/lib/form/form-field/label.directive.d.ts +14 -0
  74. package/lib/form/form-type/autocomplete.type.d.ts +77 -0
  75. package/lib/form/form-type/codemirror.type.d.ts +31 -0
  76. package/lib/form/form-type/datepicker.type.d.ts +83 -0
  77. package/lib/form/form-type/image.type.d.ts +49 -0
  78. package/lib/form/form-type/inputnumber.type.d.ts +49 -0
  79. package/lib/form/form-type/inputtext.type.d.ts +17 -0
  80. package/lib/form/form-type/multiselect.type.d.ts +85 -0
  81. package/lib/form/form-type/radio.type.d.ts +31 -0
  82. package/lib/form/form-type/select.type.d.ts +73 -0
  83. package/lib/form/form-type/textarea.type.d.ts +19 -0
  84. package/lib/form/form-type/treeselect.type.d.ts +62 -0
  85. package/lib/form/form-type/upload.type.d.ts +51 -0
  86. package/lib/grid/actions/actions.component.d.ts +14 -0
  87. package/lib/grid/cell-edit/cell-edit-autoComplete.component.d.ts +18 -0
  88. package/lib/grid/cell-edit/cell-edit-datePicker.compoent.d.ts +16 -0
  89. package/lib/grid/cell-edit/cell-edit-inputNumber.component.d.ts +15 -0
  90. package/lib/grid/cell-edit/cell-edit-inputText.compoent.d.ts +16 -0
  91. package/lib/grid/cell-edit/cell-edit-select.component.d.ts +12 -0
  92. package/lib/grid/cell-edit/index.d.ts +6 -0
  93. package/lib/grid/cell-render/async-renderer.d.ts +10 -0
  94. package/lib/grid/cell-render/link-render.d.ts +14 -0
  95. package/lib/grid/grid/grid.component.d.ts +272 -0
  96. package/lib/grid/grid-utils.d.ts +751 -0
  97. package/lib/grid/mock-data.d.ts +12 -0
  98. package/lib/grid/pager/pager.component.d.ts +15 -0
  99. package/lib/head/head.component.d.ts +17 -0
  100. package/lib/import/import.component.d.ts +22 -0
  101. package/lib/log/log.component.d.ts +14 -0
  102. package/lib/page-form/page-form.component.d.ts +46 -0
  103. package/lib/page-form/page-form.interface.d.ts +27 -0
  104. package/lib/page-grid-list/page-grid-list.component.d.ts +18 -0
  105. package/lib/row-selector/row-selector.component.d.ts +21 -0
  106. package/lib/search/mock-data.d.ts +20 -0
  107. package/lib/search/pop-date/pop-date.component.d.ts +26 -0
  108. package/lib/search/pop-list/pop-list.component.d.ts +12 -0
  109. package/lib/search/pop-panel/pop-panel.component.d.ts +15 -0
  110. package/lib/search/pop-select/pop-select.component.d.ts +13 -0
  111. package/lib/search/pop-self/pop-self.component.d.ts +31 -0
  112. package/lib/search/pop-tree/pop-tree.component.d.ts +22 -0
  113. package/lib/search/search/search.component.d.ts +60 -0
  114. package/lib/search/search-tip/search-tip.component.d.ts +22 -0
  115. package/lib/search/search-utils.d.ts +10 -0
  116. package/lib/search/text-panel/text-panel.component.d.ts +21 -0
  117. package/lib/service/action.service.d.ts +54 -0
  118. package/lib/service/i18n.service.d.ts +93 -0
  119. package/lib/service/themeConfig.service.d.ts +24 -0
  120. package/lib/service/userHistory.service.d.ts +26 -0
  121. package/lib/share/utils.d.ts +16 -0
  122. package/lib/steps/steps.component.d.ts +16 -0
  123. package/lib/theme-config/theme-config-panel.compoent.d.ts +78 -0
  124. package/lib/theme-config/theme-config.compoent.d.ts +6 -0
  125. package/package.json +28 -0
  126. package/public-api.d.ts +20 -0
  127. package/src/lib/crumb-action/crumb-action.component.scss +51 -0
  128. package/src/lib/form/form/form.component.scss +0 -0
  129. package/src/lib/grid/actions/actions.component.scss +0 -0
  130. package/src/lib/grid/grid/grid.component.scss +0 -0
  131. package/src/lib/grid/pager/pager.component.scss +13 -0
  132. package/src/lib/head/head.component.scss +3 -0
  133. package/src/lib/import/import.component.scss +10 -0
  134. package/src/lib/log/log.component.scss +21 -0
  135. package/src/lib/page-form/page-form.component.scss +14 -0
  136. package/src/lib/page-grid-list/page-grid-list.component.scss +14 -0
  137. package/src/lib/row-selector/row-selector.component.scss +1 -0
  138. package/src/lib/search/dynamic-search/dynamic-search.component.scss +70 -0
  139. package/src/lib/search/pop-date/pop-date.component.scss +47 -0
  140. package/src/lib/search/pop-list/pop-list.component.scss +23 -0
  141. package/src/lib/search/pop-panel/pop-panel.component.scss +49 -0
  142. package/src/lib/search/pop-select/pop-select.component.scss +29 -0
  143. package/src/lib/search/pop-self/pop-self.component.scss +60 -0
  144. package/src/lib/search/pop-tree/pop-tree.component.scss +34 -0
  145. package/src/lib/search/search/search.component.scss +70 -0
  146. package/src/lib/search/search-tip/search-tip.component.scss +47 -0
  147. package/src/lib/search/text-panel/text-panel.component.scss +16 -0
  148. package/src/lib/steps/steps.component.scss +52 -0
  149. package/src/lib/styles/styles.scss +232 -0
@@ -0,0 +1,138 @@
1
+ import { Component, input, effect, untracked, computed, ViewChild } from '@angular/core';
2
+ import { PopPanelComponent } from '../pop-panel/pop-panel.component';
3
+ import { TextPanelComponent } from '../text-panel/text-panel.component';
4
+ import { SearchTipComponent } from '../search-tip/search-tip.component';
5
+ import { TranslatePipe } from '@ngx-translate/core';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { searchUtils } from '../search-utils';
8
+ import { Popover } from 'primeng/popover';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../service/action.service";
11
+ import * as i2 from "@angular/forms";
12
+ export class SearchComponent {
13
+ constructor(action) {
14
+ this.action = action;
15
+ this.searchPrm = input();
16
+ this.gridOptions = input();
17
+ this.searchModel = computed(() => this.action.getSearch(untracked(() => this.gridOptions()?.modelName)));
18
+ this.marginLeft = '0';
19
+ this.searchStr = '';
20
+ this.isActive = false;
21
+ effect(() => {
22
+ this.searchItems = searchUtils.extractSearchItems(this.gridOptions()?.columnDefs);
23
+ }, { allowSignalWrites: true });
24
+ effect(() => {
25
+ const searchPrm = this.searchPrm();
26
+ if (searchPrm?.columnFilters?.length || searchPrm?.groups?.length) {
27
+ this.action.setSearch({ columnFilters: searchPrm?.columnFilters, groups: searchPrm?.groups }, searchPrm.modelName);
28
+ }
29
+ });
30
+ effect(() => {
31
+ const searchItem = this.action.getSearchItem();
32
+ const modelName = untracked(() => this.gridOptions()?.modelName);
33
+ if (searchItem == undefined)
34
+ return;
35
+ this.action.setSearch(searchUtils.concatFilter(untracked(() => this.action.getSearch(modelName)), searchUtils.transferFilter(searchItem)), modelName);
36
+ }, { allowSignalWrites: true });
37
+ effect(() => {
38
+ const groupItem = this.action.getGroupItem();
39
+ const modelName = untracked(() => this.gridOptions()?.modelName);
40
+ if (groupItem == undefined)
41
+ return;
42
+ this.action.setSearch(searchUtils.concatGroup(untracked(() => this.action.getSearch(modelName)), groupItem), modelName);
43
+ }, { allowSignalWrites: true });
44
+ effect(() => {
45
+ const searchClear = this.action.getSearchClear();
46
+ const modelName = untracked(() => this.gridOptions()?.modelName);
47
+ if (searchClear == undefined)
48
+ return;
49
+ let search = untracked(() => this.action.getSearch(modelName));
50
+ search = {
51
+ ...search,
52
+ columnFilters: searchUtils.cascadeColumnFilters(searchClear + '', search?.columnFilters || [], this.searchItems),
53
+ };
54
+ this.action.setSearch(search, modelName);
55
+ }, { allowSignalWrites: true });
56
+ effect(() => {
57
+ const groupClear = this.action.getGroupClear();
58
+ const modelName = untracked(() => this.gridOptions()?.modelName);
59
+ if (groupClear == undefined)
60
+ return;
61
+ if (groupClear) {
62
+ this.action.setSearch({ ...untracked(() => this.action.getSearch(modelName)), groups: [] }, modelName);
63
+ }
64
+ }, { allowSignalWrites: true });
65
+ }
66
+ ngOnDestroy() {
67
+ this.action.setSearchItem(undefined);
68
+ this.action.setGroupItem(undefined);
69
+ this.action.setSearchClear(undefined);
70
+ this.action.setGroupClear(undefined);
71
+ }
72
+ onFocus(event, searchRef) {
73
+ this.isActive = true;
74
+ if (!this.searchStr) {
75
+ this.popPanel.show(event, searchRef);
76
+ }
77
+ else {
78
+ this.textPanel.show(event, searchRef);
79
+ }
80
+ }
81
+ onDropDownClick(event, searchRef) {
82
+ this.isActive = true;
83
+ if (!this.searchStr) {
84
+ this.popPanel.show(event, searchRef);
85
+ }
86
+ else {
87
+ this.textPanel.show(event, searchRef);
88
+ }
89
+ }
90
+ onInput(event, searchRef) {
91
+ if (!event.target?.value) {
92
+ this.popPanel.show(event, searchRef);
93
+ this.textPanel.hide();
94
+ }
95
+ else {
96
+ this.textPanel.show(event, searchRef);
97
+ this.popPanel.hide();
98
+ }
99
+ }
100
+ onPopShow(event) {
101
+ this.calcMarginLeft();
102
+ }
103
+ onPopHide(event) {
104
+ this.isActive = this.popPanel.overlayVisible || this.popPanel.overlayVisible;
105
+ }
106
+ calcMarginLeft() {
107
+ if (!this.searchRef)
108
+ return;
109
+ const searchRefRect = this.searchRef.nativeElement.getBoundingClientRect();
110
+ const panelWidth = window.innerWidth > 768 ? 535 : 305;
111
+ const offset = searchRefRect.width - panelWidth - 23.5;
112
+ this.marginLeft = offset + 'px';
113
+ }
114
+ getSearchItemByField(field) {
115
+ return this.searchItems?.filter((searchItem) => searchItem.field == field)[0];
116
+ }
117
+ onStrItemClick(event) {
118
+ this.isActive = false;
119
+ this.searchStr = '';
120
+ this.textPanel.hide();
121
+ }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchComponent, deps: [{ token: i1.ActionService }], target: i0.ɵɵFactoryTarget.Component }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SearchComponent, isStandalone: true, selector: "custom-search", inputs: { searchPrm: { classPropertyName: "searchPrm", publicName: "searchPrm", isSignal: true, isRequired: false, transformFunction: null }, gridOptions: { classPropertyName: "gridOptions", publicName: "gridOptions", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "searchRef", first: true, predicate: ["searchRef"], descendants: true }, { propertyName: "popPanel", first: true, predicate: ["popPanel"], descendants: true }, { propertyName: "textPanel", first: true, predicate: ["textPanel"], descendants: true }], ngImport: i0, template: "<div\r\n\t#searchRef\r\n\tclass=\"s-main\">\r\n\t<div [class]=\"'flex items-center s-container ' + (isActive ? 's-active' : 's-unactive')\">\r\n\t\t<span class=\"flex-none s-search pi pi-search\"></span>\r\n\t\t<div class=\"flex-1 flex items-center content-center flex-wrap\">\r\n\t\t\t@for (columnFilter of searchModel()?.columnFilters; track columnFilter) {\r\n\t\t\t\t<search-tip\r\n\t\t\t\t\t[columnFilter]=\"columnFilter\"\r\n\t\t\t\t\t[searchItem]=\"getSearchItemByField(columnFilter.columnField!)\"></search-tip>\r\n\t\t\t}\r\n\t\t\t@if (searchModel()?.groups?.length) {\r\n\t\t\t\t<search-tip [groups]=\"searchModel()?.groups\"></search-tip>\r\n\t\t\t}\r\n\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t<input\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\tclass=\"s-input\"\r\n\t\t\t\t\t[placeholder]=\"'search.search' | translate\"\r\n\t\t\t\t\t[(ngModel)]=\"searchStr\"\r\n\t\t\t\t\t(focus)=\"onFocus($event, searchRef)\"\r\n\t\t\t\t\t(input)=\"onInput($event, searchRef)\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div\r\n\t\t[class]=\"'s-dropdown ' + (isActive ? 's-active' : 's-unactive')\"\r\n\t\t(click)=\"onDropDownClick($event, searchRef)\">\r\n\t\t<span [class]=\"'s-dropdown-icon pi pi-chevron-' + (isActive ? 'up' : 'down')\"></span>\r\n\t</div>\r\n</div>\r\n\r\n<p-popover\r\n\t[style]=\"{ marginLeft, maxHeight: '75vh', overflowY: 'scroll' }\"\r\n\t(onShow)=\"onPopShow($event)\"\r\n\t(onHide)=\"onPopHide($event)\"\r\n\t#popPanel>\r\n\t<pop-panel\r\n\t\t[searchItems]=\"searchItems\"\r\n\t\t[modelName]=\"gridOptions()?.modelName\"></pop-panel>\r\n</p-popover>\r\n\r\n<p-popover\r\n\t[style]=\"{ maxHeight: '75vh', overflowY: 'scroll' }\"\r\n\t(onHide)=\"onPopHide($event)\"\r\n\t#textPanel>\r\n\t<text-panel\r\n\t\t[searchItems]=\"searchItems\"\r\n\t\t[searchStr]=\"searchStr\"\r\n\t\t(strItemClick)=\"onStrItemClick($event)\"></text-panel>\r\n</p-popover>\r\n", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.s-main{display:flex;align-items:stretch;position:relative;color:#334155}.s-active{border:1px solid var(--p-form-field-focus-border-color)}.s-unactive{border:1px solid var(--p-form-field-border-color)}.s-container{border-right-width:0;border-radius:5px 0 0 5px;padding:1.25px 0;width:100%}.s-search{color:var(--p-form-field-icon-color);padding:0 10px}.s-input-container{padding:1.25px 0}.s-input{height:30px;border-width:0;width:100%;min-width:25px}.s-input:focus{outline-width:0}.s-dropdown{width:35px;border-radius:0 5px 5px 0;display:flex;align-items:center;justify-content:center}.s-dropdown:hover{background-color:#e7e9ed;cursor:pointer}.s-dropdown-icon{color:var(--p-form-field-icon-color)}::ng-deep .p-popover.p-popover-flipped:before{display:none}::ng-deep .p-popover.p-popover-flipped:after{display:none}::ng-deep .p-popover:before{display:none}::ng-deep .p-popover:after{display:none}::ng-deep .p-popover{margin-top:2.5px}::ng-deep .p-popover-flipped{margin-top:-5px}\n"], dependencies: [{ 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"] }, { kind: "component", type: PopPanelComponent, selector: "pop-panel", inputs: ["searchItems", "modelName"] }, { kind: "component", type: TextPanelComponent, selector: "text-panel", inputs: ["searchItems", "searchStr"], outputs: ["strItemClick"] }, { kind: "component", type: SearchTipComponent, selector: "search-tip", inputs: ["groups", "columnFilter", "searchItem"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }] }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchComponent, decorators: [{
126
+ type: Component,
127
+ args: [{ selector: 'custom-search', standalone: true, imports: [FormsModule, PopPanelComponent, TextPanelComponent, SearchTipComponent, TranslatePipe, Popover], template: "<div\r\n\t#searchRef\r\n\tclass=\"s-main\">\r\n\t<div [class]=\"'flex items-center s-container ' + (isActive ? 's-active' : 's-unactive')\">\r\n\t\t<span class=\"flex-none s-search pi pi-search\"></span>\r\n\t\t<div class=\"flex-1 flex items-center content-center flex-wrap\">\r\n\t\t\t@for (columnFilter of searchModel()?.columnFilters; track columnFilter) {\r\n\t\t\t\t<search-tip\r\n\t\t\t\t\t[columnFilter]=\"columnFilter\"\r\n\t\t\t\t\t[searchItem]=\"getSearchItemByField(columnFilter.columnField!)\"></search-tip>\r\n\t\t\t}\r\n\t\t\t@if (searchModel()?.groups?.length) {\r\n\t\t\t\t<search-tip [groups]=\"searchModel()?.groups\"></search-tip>\r\n\t\t\t}\r\n\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t<input\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\tclass=\"s-input\"\r\n\t\t\t\t\t[placeholder]=\"'search.search' | translate\"\r\n\t\t\t\t\t[(ngModel)]=\"searchStr\"\r\n\t\t\t\t\t(focus)=\"onFocus($event, searchRef)\"\r\n\t\t\t\t\t(input)=\"onInput($event, searchRef)\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div\r\n\t\t[class]=\"'s-dropdown ' + (isActive ? 's-active' : 's-unactive')\"\r\n\t\t(click)=\"onDropDownClick($event, searchRef)\">\r\n\t\t<span [class]=\"'s-dropdown-icon pi pi-chevron-' + (isActive ? 'up' : 'down')\"></span>\r\n\t</div>\r\n</div>\r\n\r\n<p-popover\r\n\t[style]=\"{ marginLeft, maxHeight: '75vh', overflowY: 'scroll' }\"\r\n\t(onShow)=\"onPopShow($event)\"\r\n\t(onHide)=\"onPopHide($event)\"\r\n\t#popPanel>\r\n\t<pop-panel\r\n\t\t[searchItems]=\"searchItems\"\r\n\t\t[modelName]=\"gridOptions()?.modelName\"></pop-panel>\r\n</p-popover>\r\n\r\n<p-popover\r\n\t[style]=\"{ maxHeight: '75vh', overflowY: 'scroll' }\"\r\n\t(onHide)=\"onPopHide($event)\"\r\n\t#textPanel>\r\n\t<text-panel\r\n\t\t[searchItems]=\"searchItems\"\r\n\t\t[searchStr]=\"searchStr\"\r\n\t\t(strItemClick)=\"onStrItemClick($event)\"></text-panel>\r\n</p-popover>\r\n", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.s-main{display:flex;align-items:stretch;position:relative;color:#334155}.s-active{border:1px solid var(--p-form-field-focus-border-color)}.s-unactive{border:1px solid var(--p-form-field-border-color)}.s-container{border-right-width:0;border-radius:5px 0 0 5px;padding:1.25px 0;width:100%}.s-search{color:var(--p-form-field-icon-color);padding:0 10px}.s-input-container{padding:1.25px 0}.s-input{height:30px;border-width:0;width:100%;min-width:25px}.s-input:focus{outline-width:0}.s-dropdown{width:35px;border-radius:0 5px 5px 0;display:flex;align-items:center;justify-content:center}.s-dropdown:hover{background-color:#e7e9ed;cursor:pointer}.s-dropdown-icon{color:var(--p-form-field-icon-color)}::ng-deep .p-popover.p-popover-flipped:before{display:none}::ng-deep .p-popover.p-popover-flipped:after{display:none}::ng-deep .p-popover:before{display:none}::ng-deep .p-popover:after{display:none}::ng-deep .p-popover{margin-top:2.5px}::ng-deep .p-popover-flipped{margin-top:-5px}\n"] }]
128
+ }], ctorParameters: () => [{ type: i1.ActionService }], propDecorators: { searchRef: [{
129
+ type: ViewChild,
130
+ args: ['searchRef', { static: false }]
131
+ }], popPanel: [{
132
+ type: ViewChild,
133
+ args: ['popPanel']
134
+ }], textPanel: [{
135
+ type: ViewChild,
136
+ args: ['textPanel']
137
+ }] } });
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS11aS9zcmMvbGliL3NlYXJjaC9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS11aS9zcmMvbGliL3NlYXJjaC9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBd0MxQyxNQUFNLE9BQU8sZUFBZTtJQVkzQixZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBUnpDLGNBQVMsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUM1QixnQkFBVyxHQUFHLEtBQUssRUFBZSxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVB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QUFTOytCQUNDLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQztrRkFLOUQsU0FBUztzQkFBbkQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNsQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ0csU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgZWZmZWN0LCB1bnRyYWNrZWQsIGNvbXB1dGVkLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHcmlkT3B0aW9ucyB9IGZyb20gJy4uLy4uL2dyaWQvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBvcFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vcG9wLXBhbmVsL3BvcC1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi90ZXh0LXBhbmVsL3RleHQtcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoVGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoLXRpcC9zZWFyY2gtdGlwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgc2VhcmNoVXRpbHMgfSBmcm9tICcuLi9zZWFyY2gtdXRpbHMnO1xyXG5pbXBvcnQgeyBTZWFyY2ggfSBmcm9tICcuLi8uLi9hbS9hbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAncHJpbWVuZy9wb3BvdmVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuZXhwb3J0IHR5cGUgU2VhcmNoVHlwZSA9ICd0ZXh0JyB8ICdsaXN0JyB8ICdzZWxlY3QnIHwgJ2RhdGUnIHwgJ251bWJlcicgfCAndHJlZSc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSXRlbU9wdGlvbiB7XHJcblx0a2V5Pzogc3RyaW5nO1xyXG5cdGxhYmVsPzogc3RyaW5nO1xyXG5cdGNoZWNrZWQ/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSXRlbSB7XHJcblx0ZmllbGQ/OiBzdHJpbmc7XHJcblx0bGFiZWw/OiBzdHJpbmc7XHJcblx0c2VsZWN0ZWQ/OiBib29sZWFuO1xyXG5cdGZpbHRlcj86IGJvb2xlYW47XHJcblx0Zm9ybWF0Pzogc3RyaW5nO1xyXG5cdGZpbHRlclR5cGU/OiBTZWFyY2hUeXBlO1xyXG5cdG9wdGlvbnM/OiBTZWFyY2hJdGVtT3B0aW9uW107XHJcblx0dmFsdWU/OiBhbnk7XHJcblx0ZnJvbT86IHN0cmluZztcclxuXHR0bz86IHN0cmluZztcclxuXHRvcGVyYXRvcj86IHN0cmluZztcclxuXHRncm91cD86IGJvb2xlYW47XHJcblx0Y2FzY2FkZT86IGJvb2xlYW47XHJcblx0Y2FzY2FkZUtleT86IHN0cmluZztcclxuXHRjYXNjYWRlRnVuYz86ICh2YWx1ZTogYW55KSA9PiBPYnNlcnZhYmxlPFNlYXJjaEl0ZW1PcHRpb25bXT47XHJcblx0W3Byb3BzTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaE9wdGlvbnMge1xyXG5cdHNlYXJjaEl0ZW1zPzogU2VhcmNoSXRlbVtdO1xyXG5cdG1vZGVsTmFtZT86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdjdXN0b20tc2VhcmNoJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgUG9wUGFuZWxDb21wb25lbnQsIFRleHRQYW5lbENvbXBvbmVudCwgU2VhcmNoVGlwQ29tcG9uZW50LCBUcmFuc2xhdGVQaXBlLCBQb3BvdmVyXSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vc2VhcmNoLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbXBvbmVudCB7XHJcblx0QFZpZXdDaGlsZCgnc2VhcmNoUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pIHNlYXJjaFJlZiE6IEVsZW1lbnRSZWY7XHJcblx0QFZpZXdDaGlsZCgncG9wUGFuZWwnKSBwb3BQYW5lbCE6IFBvcG92ZXI7XHJcblx0QFZpZXdDaGlsZCgndGV4dFBhbmVsJykgdGV4dFBhbmVsITogUG9wb3ZlcjtcclxuXHRzZWFyY2hQcm0gPSBpbnB1dDxTZWFyY2g+KCk7XHJcblx0Z3JpZE9wdGlvbnMgPSBpbnB1dDxHcmlkT3B0aW9ucz4oKTtcclxuXHRzZWFyY2hNb2RlbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYWN0aW9uLmdldFNlYXJjaCh1bnRyYWNrZWQoKCkgPT4gdGhpcy5ncmlkT3B0aW9ucygpPy5tb2RlbE5hbWUpKSk7XHJcblx0c2VhcmNoSXRlbXMhOiBTZWFyY2hJdGVtW107XHJcblx0bWFyZ2luTGVmdDogc3RyaW5nID0gJzAnO1xyXG5cdHNlYXJjaFN0ciA9ICcnO1xyXG5cdGlzQWN0aXZlID0gZmFsc2U7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uOiBBY3Rpb25TZXJ2aWNlKSB7XHJcblx0XHRlZmZlY3QoXHJcblx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLnNlYXJjaEl0ZW1zID0gc2VhcmNoVXRpbHMuZXh0cmFjdFNlYXJjaEl0ZW1zKHRoaXMuZ3JpZE9wdGlvbnMoKT8uY29sdW1uRGVmcyk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcclxuXHRcdCk7XHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRjb25zdCBzZWFyY2hQcm0gPSB0aGlzLnNlYXJjaFBybSgpO1xyXG5cdFx0XHRpZiAoc2VhcmNoUHJtPy5jb2x1bW5GaWx0ZXJzPy5sZW5ndGggfHwgc2VhcmNoUHJtPy5ncm91cHM/Lmxlbmd0aCkge1xyXG5cdFx0XHRcdHRoaXMuYWN0aW9uLnNldFNlYXJjaCh7IGNvbHVtbkZpbHRlcnM6IHNlYXJjaFBybT8uY29sdW1uRmlsdGVycywgZ3JvdXBzOiBzZWFyY2hQcm0/Lmdyb3VwcyB9LCBzZWFyY2hQcm0ubW9kZWxOYW1lKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHRlZmZlY3QoXHJcblx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHRjb25zdCBzZWFyY2hJdGVtID0gdGhpcy5hY3Rpb24uZ2V0U2VhcmNoSXRlbSgpO1xyXG5cdFx0XHRcdGNvbnN0IG1vZGVsTmFtZSA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLmdyaWRPcHRpb25zKCk/Lm1vZGVsTmFtZSk7XHJcblx0XHRcdFx0aWYgKHNlYXJjaEl0ZW0gPT0gdW5kZWZpbmVkKSByZXR1cm47XHJcblx0XHRcdFx0dGhpcy5hY3Rpb24uc2V0U2VhcmNoKFxyXG5cdFx0XHRcdFx0c2VhcmNoVXRpbHMuY29uY2F0RmlsdGVyKFxyXG5cdFx0XHRcdFx0XHR1bnRyYWNrZWQoKCkgPT4gdGhpcy5hY3Rpb24uZ2V0U2VhcmNoKG1vZGVsTmFtZSkpLFxyXG5cdFx0XHRcdFx0XHRzZWFyY2hVdGlscy50cmFuc2ZlckZpbHRlcihzZWFyY2hJdGVtKSEsXHJcblx0XHRcdFx0XHQpLFxyXG5cdFx0XHRcdFx0bW9kZWxOYW1lLFxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcclxuXHRcdCk7XHJcblx0XHRlZmZlY3QoXHJcblx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHRjb25zdCBncm91cEl0ZW0gPSB0aGlzLmFjdGlvbi5nZXRHcm91cEl0ZW0oKTtcclxuXHRcdFx0XHRjb25zdCBtb2RlbE5hbWUgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5ncmlkT3B0aW9ucygpPy5tb2RlbE5hbWUpO1xyXG5cdFx0XHRcdGlmIChncm91cEl0ZW0gPT0gdW5kZWZpbmVkKSByZXR1cm47XHJcblx0XHRcdFx0dGhpcy5hY3Rpb24uc2V0U2VhcmNoKFxyXG5cdFx0XHRcdFx0c2VhcmNoVXRpbHMuY29uY2F0R3JvdXAoXHJcblx0XHRcdFx0XHRcdHVudHJhY2tlZCgoKSA9PiB0aGlzLmFjdGlvbi5nZXRTZWFyY2gobW9kZWxOYW1lKSksXHJcblx0XHRcdFx0XHRcdGdyb3VwSXRlbSxcclxuXHRcdFx0XHRcdCksXHJcblx0XHRcdFx0XHRtb2RlbE5hbWUsXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG5cdFx0KTtcclxuXHRcdGVmZmVjdChcclxuXHRcdFx0KCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHNlYXJjaENsZWFyID0gdGhpcy5hY3Rpb24uZ2V0U2VhcmNoQ2xlYXIoKTtcclxuXHRcdFx0XHRjb25zdCBtb2RlbE5hbWUgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5ncmlkT3B0aW9ucygpPy5tb2RlbE5hbWUpO1xyXG5cdFx0XHRcdGlmIChzZWFyY2hDbGVhciA9PSB1bmRlZmluZWQpIHJldHVybjtcclxuXHRcdFx0XHRsZXQgc2VhcmNoID0gdW50cmFja2VkKCgpID0+IHRoaXMuYWN0aW9uLmdldFNlYXJjaChtb2RlbE5hbWUpKTtcclxuXHRcdFx0XHRzZWFyY2ggPSB7XHJcblx0XHRcdFx0XHQuLi5zZWFyY2gsXHJcblx0XHRcdFx0XHRjb2x1bW5GaWx0ZXJzOiBzZWFyY2hVdGlscy5jYXNjYWRlQ29sdW1uRmlsdGVycyhzZWFyY2hDbGVhciArICcnLCBzZWFyY2g/LmNvbHVtbkZpbHRlcnMgfHwgW10sIHRoaXMuc2VhcmNoSXRlbXMpLFxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0dGhpcy5hY3Rpb24uc2V0U2VhcmNoKHNlYXJjaCwgbW9kZWxOYW1lKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG5cdFx0KTtcclxuXHRcdGVmZmVjdChcclxuXHRcdFx0KCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGdyb3VwQ2xlYXIgPSB0aGlzLmFjdGlvbi5nZXRHcm91cENsZWFyKCk7XHJcblx0XHRcdFx0Y29uc3QgbW9kZWxOYW1lID0gdW50cmFja2VkKCgpID0+IHRoaXMuZ3JpZE9wdGlvbnMoKT8ubW9kZWxOYW1lKTtcclxuXHRcdFx0XHRpZiAoZ3JvdXBDbGVhciA9PSB1bmRlZmluZWQpIHJldHVybjtcclxuXHRcdFx0XHRpZiAoZ3JvdXBDbGVhcikge1xyXG5cdFx0XHRcdFx0dGhpcy5hY3Rpb24uc2V0U2VhcmNoKHsgLi4udW50cmFja2VkKCgpID0+IHRoaXMuYWN0aW9uLmdldFNlYXJjaChtb2RlbE5hbWUpKSwgZ3JvdXBzOiBbXSB9LCBtb2RlbE5hbWUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0dGhpcy5hY3Rpb24uc2V0U2VhcmNoSXRlbSh1bmRlZmluZWQpO1xyXG5cdFx0dGhpcy5hY3Rpb24uc2V0R3JvdXBJdGVtKHVuZGVmaW5lZCk7XHJcblx0XHR0aGlzLmFjdGlvbi5zZXRTZWFyY2hDbGVhcih1bmRlZmluZWQpO1xyXG5cdFx0dGhpcy5hY3Rpb24uc2V0R3JvdXBDbGVhcih1bmRlZmluZWQpO1xyXG5cdH1cclxuXHJcblx0b25Gb2N1cyhldmVudDogYW55LCBzZWFyY2hSZWY6IGFueSkge1xyXG5cdFx0dGhpcy5pc0FjdGl2ZSA9IHRydWU7XHJcblx0XHRpZiAoIXRoaXMuc2VhcmNoU3RyKSB7XHJcblx0XHRcdHRoaXMucG9wUGFuZWwuc2hvdyhldmVudCwgc2VhcmNoUmVmKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMudGV4dFBhbmVsLnNob3coZXZlbnQsIHNlYXJjaFJlZik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbkRyb3BEb3duQ2xpY2soZXZlbnQ6IGFueSwgc2VhcmNoUmVmOiBhbnkpIHtcclxuXHRcdHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xyXG5cdFx0aWYgKCF0aGlzLnNlYXJjaFN0cikge1xyXG5cdFx0XHR0aGlzLnBvcFBhbmVsLnNob3coZXZlbnQsIHNlYXJjaFJlZik7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnRleHRQYW5lbC5zaG93KGV2ZW50LCBzZWFyY2hSZWYpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25JbnB1dChldmVudDogYW55LCBzZWFyY2hSZWY6IGFueSkge1xyXG5cdFx0aWYgKCFldmVudC50YXJnZXQ/LnZhbHVlKSB7XHJcblx0XHRcdHRoaXMucG9wUGFuZWwuc2hvdyhldmVudCwgc2VhcmNoUmVmKTtcclxuXHRcdFx0dGhpcy50ZXh0UGFuZWwuaGlkZSgpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy50ZXh0UGFuZWwuc2hvdyhldmVudCwgc2VhcmNoUmVmKTtcclxuXHRcdFx0dGhpcy5wb3BQYW5lbC5oaWRlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvblBvcFNob3coZXZlbnQ6IGFueSkge1xyXG5cdFx0dGhpcy5jYWxjTWFyZ2luTGVmdCgpO1xyXG5cdH1cclxuXHJcblx0b25Qb3BIaWRlKGV2ZW50OiBhbnkpIHtcclxuXHRcdHRoaXMuaXNBY3RpdmUgPSB0aGlzLnBvcFBhbmVsLm92ZXJsYXlWaXNpYmxlIHx8IHRoaXMucG9wUGFuZWwub3ZlcmxheVZpc2libGU7XHJcblx0fVxyXG5cclxuXHRjYWxjTWFyZ2luTGVmdCgpIHtcclxuXHRcdGlmICghdGhpcy5zZWFyY2hSZWYpIHJldHVybjtcclxuXHRcdGNvbnN0IHNlYXJjaFJlZlJlY3QgPSB0aGlzLnNlYXJjaFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cdFx0Y29uc3QgcGFuZWxXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoID4gNzY4ID8gNTM1IDogMzA1O1xyXG5cdFx0Y29uc3Qgb2Zmc2V0ID0gc2VhcmNoUmVmUmVjdC53aWR0aCAtIHBhbmVsV2lkdGggLSAyMy41O1xyXG5cdFx0dGhpcy5tYXJnaW5MZWZ0ID0gb2Zmc2V0ICsgJ3B4JztcclxuXHR9XHJcblxyXG5cdGdldFNlYXJjaEl0ZW1CeUZpZWxkKGZpZWxkOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiB0aGlzLnNlYXJjaEl0ZW1zPy5maWx0ZXIoKHNlYXJjaEl0ZW0pID0+IHNlYXJjaEl0ZW0uZmllbGQgPT0gZmllbGQpWzBdO1xyXG5cdH1cclxuXHJcblx0b25TdHJJdGVtQ2xpY2soZXZlbnQ6IGFueSkge1xyXG5cdFx0dGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xyXG5cdFx0dGhpcy5zZWFyY2hTdHIgPSAnJztcclxuXHRcdHRoaXMudGV4dFBhbmVsLmhpZGUoKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdlxyXG5cdCNzZWFyY2hSZWZcclxuXHRjbGFzcz1cInMtbWFpblwiPlxyXG5cdDxkaXYgW2NsYXNzXT1cIidmbGV4IGl0ZW1zLWNlbnRlciBzLWNvbnRhaW5lciAnICsgKGlzQWN0aXZlID8gJ3MtYWN0aXZlJyA6ICdzLXVuYWN0aXZlJylcIj5cclxuXHRcdDxzcGFuIGNsYXNzPVwiZmxleC1ub25lIHMtc2VhcmNoIHBpIHBpLXNlYXJjaFwiPjwvc3Bhbj5cclxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4LTEgZmxleCBpdGVtcy1jZW50ZXIgY29udGVudC1jZW50ZXIgZmxleC13cmFwXCI+XHJcblx0XHRcdEBmb3IgKGNvbHVtbkZpbHRlciBvZiBzZWFyY2hNb2RlbCgpPy5jb2x1bW5GaWx0ZXJzOyB0cmFjayBjb2x1bW5GaWx0ZXIpIHtcclxuXHRcdFx0XHQ8c2VhcmNoLXRpcFxyXG5cdFx0XHRcdFx0W2NvbHVtbkZpbHRlcl09XCJjb2x1bW5GaWx0ZXJcIlxyXG5cdFx0XHRcdFx0W3NlYXJjaEl0ZW1dPVwiZ2V0U2VhcmNoSXRlbUJ5RmllbGQoY29sdW1uRmlsdGVyLmNvbHVtbkZpZWxkISlcIj48L3NlYXJjaC10aXA+XHJcblx0XHRcdH1cclxuXHRcdFx0QGlmIChzZWFyY2hNb2RlbCgpPy5ncm91cHM/Lmxlbmd0aCkge1xyXG5cdFx0XHRcdDxzZWFyY2gtdGlwIFtncm91cHNdPVwic2VhcmNoTW9kZWwoKT8uZ3JvdXBzXCI+PC9zZWFyY2gtdGlwPlxyXG5cdFx0XHR9XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4LTFcIj5cclxuXHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcclxuXHRcdFx0XHRcdGNsYXNzPVwicy1pbnB1dFwiXHJcblx0XHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwiJ3NlYXJjaC5zZWFyY2gnIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0XHRcdFsobmdNb2RlbCldPVwic2VhcmNoU3RyXCJcclxuXHRcdFx0XHRcdChmb2N1cyk9XCJvbkZvY3VzKCRldmVudCwgc2VhcmNoUmVmKVwiXHJcblx0XHRcdFx0XHQoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQsIHNlYXJjaFJlZilcIiAvPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXZcclxuXHRcdFtjbGFzc109XCIncy1kcm9wZG93biAnICsgKGlzQWN0aXZlID8gJ3MtYWN0aXZlJyA6ICdzLXVuYWN0aXZlJylcIlxyXG5cdFx0KGNsaWNrKT1cIm9uRHJvcERvd25DbGljaygkZXZlbnQsIHNlYXJjaFJlZilcIj5cclxuXHRcdDxzcGFuIFtjbGFzc109XCIncy1kcm9wZG93bi1pY29uIHBpIHBpLWNoZXZyb24tJyArIChpc0FjdGl2ZSA/ICd1cCcgOiAnZG93bicpXCI+PC9zcGFuPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxwLXBvcG92ZXJcclxuXHRbc3R5bGVdPVwieyBtYXJnaW5MZWZ0LCBtYXhIZWlnaHQ6ICc3NXZoJywgb3ZlcmZsb3dZOiAnc2Nyb2xsJyB9XCJcclxuXHQob25TaG93KT1cIm9uUG9wU2hvdygkZXZlbnQpXCJcclxuXHQob25IaWRlKT1cIm9uUG9wSGlkZSgkZXZlbnQpXCJcclxuXHQjcG9wUGFuZWw+XHJcblx0PHBvcC1wYW5lbFxyXG5cdFx0W3NlYXJjaEl0ZW1zXT1cInNlYXJjaEl0ZW1zXCJcclxuXHRcdFttb2RlbE5hbWVdPVwiZ3JpZE9wdGlvbnMoKT8ubW9kZWxOYW1lXCI+PC9wb3AtcGFuZWw+XHJcbjwvcC1wb3BvdmVyPlxyXG5cclxuPHAtcG9wb3ZlclxyXG5cdFtzdHlsZV09XCJ7IG1heEhlaWdodDogJzc1dmgnLCBvdmVyZmxvd1k6ICdzY3JvbGwnIH1cIlxyXG5cdChvbkhpZGUpPVwib25Qb3BIaWRlKCRldmVudClcIlxyXG5cdCN0ZXh0UGFuZWw+XHJcblx0PHRleHQtcGFuZWxcclxuXHRcdFtzZWFyY2hJdGVtc109XCJzZWFyY2hJdGVtc1wiXHJcblx0XHRbc2VhcmNoU3RyXT1cInNlYXJjaFN0clwiXHJcblx0XHQoc3RySXRlbUNsaWNrKT1cIm9uU3RySXRlbUNsaWNrKCRldmVudClcIj48L3RleHQtcGFuZWw+XHJcbjwvcC1wb3BvdmVyPlxyXG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { Component, effect, input } from '@angular/core';
2
+ import { operatorList } from '../mock-data';
3
+ import { searchUtils } from '../search-utils';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../service/action.service";
6
+ export class SearchTipComponent {
7
+ constructor(action) {
8
+ this.action = action;
9
+ this.groups = input();
10
+ this.columnFilter = input();
11
+ this.searchItem = input();
12
+ effect(() => {
13
+ if (this.searchItem()) {
14
+ this.flattenTreeOptions = searchUtils.flattenTree(this.searchItem().options);
15
+ }
16
+ });
17
+ }
18
+ onGroupTipClose() {
19
+ this.action.setGroupClear(true);
20
+ }
21
+ onSearchTipClose() {
22
+ this.action.setSearchClear(this.columnFilter().columnField);
23
+ }
24
+ isNotFirstCheckedOption(option, item) {
25
+ if (!option.checked) {
26
+ return false;
27
+ }
28
+ return item.options?.filter((option) => option.checked)[0].key != option.key;
29
+ }
30
+ formatSelectGroups(selects) {
31
+ return selects.map((select) => select.label || select.field).join(' > ');
32
+ }
33
+ operatorLabel(opera) {
34
+ return operatorList.filter((operator) => operator.operator == opera)[0].label;
35
+ }
36
+ labelForList() {
37
+ return this.searchItem()
38
+ ?.options?.filter((option) => this.columnFilter().fiter?.includes(option.key))
39
+ .map((option) => option.label);
40
+ }
41
+ labelForSelect() {
42
+ return this.searchItem()?.options?.find((option) => option.key == this.columnFilter().fiter)?.label || '';
43
+ }
44
+ labelForTree() {
45
+ return this.flattenTreeOptions?.find((option) => option.key == this.columnFilter().fiter)?.label || '';
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchTipComponent, deps: [{ token: i1.ActionService }], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SearchTipComponent, isStandalone: true, selector: "search-tip", inputs: { groups: { classPropertyName: "groups", publicName: "groups", isSignal: true, isRequired: false, transformFunction: null }, columnFilter: { classPropertyName: "columnFilter", publicName: "columnFilter", isSignal: true, isRequired: false, transformFunction: null }, searchItem: { classPropertyName: "searchItem", publicName: "searchItem", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], ngImport: i0, template: "<span class=\"s-search-tip\">\r\n\t@if (groups()?.length) {\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-icon s-search-tip-icon-group iconfont icon-group\"\r\n\t\t\tstyle=\"padding: 4px 6px 0 6px\"></span>\r\n\t\t<span class=\"s-search-tip-title\">{{ groups()?.join(' > ') }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onGroupTipClose()\"></span>\r\n\t}\r\n\t@if (searchItem()?.filterType == 'list') {\r\n\t\t<span class=\"s-search-tip-icon s-search-tip-icon-filter pi pi-filter-fill\"></span>\r\n\t\t<span class=\"s-search-tip-title\">{{ labelForList() }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t} @else if (searchItem()?.filterType == 'select') {\r\n\t\t<span class=\"s-search-tip-icon s-search-tip-icon-filter pi pi-filter-fill\"></span>\r\n\t\t<span class=\"s-search-tip-title\">{{ labelForSelect() }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t} @else if (searchItem()?.filterType == 'tree') {\r\n\t\t<span class=\"s-search-tip-icon s-search-tip-icon-filter pi pi-filter-fill\"></span>\r\n\t\t<span class=\"s-search-tip-title\">{{ labelForTree() }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t} @else if (searchItem()?.filterType == 'date') {\r\n\t\t<span class=\"s-search-tip-field\">{{ searchItem()?.label }}</span>\r\n\t\t<span class=\"s-search-tip-title s-search-tip-opertor\">{{ operatorLabel(columnFilter()?.type!) }}</span>\r\n\t\t@if (columnFilter()?.type == 'inRange') {\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.from }}</span>\r\n\t\t\t<span class=\"s-search-tip-title s-search-tip-opertor\">and</span>\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.to }}</span>\r\n\t\t} @else {\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.fiter }}</span>\r\n\t\t}\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t} @else if (searchItem()?.filterType == 'text') {\r\n\t\t<span class=\"s-search-tip-field\">{{ searchItem()?.label }}</span>\r\n\t\t<span class=\"s-search-tip-title s-search-tip-opertor\">{{ operatorLabel(columnFilter()?.type!) }}</span>\r\n\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.fiter }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t} @else if (searchItem()?.filterType == 'number') {\r\n\t\t<span class=\"s-search-tip-field\">{{ searchItem()?.label }}</span>\r\n\t\t<span class=\"s-search-tip-title s-search-tip-opertor\">{{ operatorLabel(columnFilter()?.type!) }}</span>\r\n\t\t@if (columnFilter()?.type == 'inRange') {\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.from }}</span>\r\n\t\t\t<span class=\"s-search-tip-title s-search-tip-opertor\">and</span>\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.to }}</span>\r\n\t\t} @else {\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.fiter }}</span>\r\n\t\t}\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t}\r\n</span>\r\n", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.s-search-tip{background-color:#e4e6ea;font-size:12px;color:#334155;margin:1.25px;display:flex;flex-wrap:nowrap;border-radius:5px}.s-search-tip-field{padding:2.5px 5px 1.5px;margin-right:2.5px;background-color:var(--p-primary-color);border-radius:5px 0 0 5px;color:#fff}.s-search-tip-icon{padding:6.5px 6px 0;margin-right:2.5px;font-size:11px;border-radius:5px 0 0 5px;color:#fff}.s-search-tip-icon-filter,.s-search-tip-icon-group{background-color:var(--p-primary-color)}.s-search-tip-title{padding:2.5px;white-space:nowrap}.s-search-tip-opertor{opacity:.5;font-style:italic}.s-search-tip-close{padding:6.5px 5px 0;border-radius:0 5px 5px 0;font-size:11px}.s-search-tip-close:hover{color:var(--p-primary-color);cursor:pointer}\n"] }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchTipComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: 'search-tip', standalone: true, providers: [], template: "<span class=\"s-search-tip\">\r\n\t@if (groups()?.length) {\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-icon s-search-tip-icon-group iconfont icon-group\"\r\n\t\t\tstyle=\"padding: 4px 6px 0 6px\"></span>\r\n\t\t<span class=\"s-search-tip-title\">{{ groups()?.join(' > ') }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onGroupTipClose()\"></span>\r\n\t}\r\n\t@if (searchItem()?.filterType == 'list') {\r\n\t\t<span class=\"s-search-tip-icon s-search-tip-icon-filter pi pi-filter-fill\"></span>\r\n\t\t<span class=\"s-search-tip-title\">{{ labelForList() }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t} @else if (searchItem()?.filterType == 'select') {\r\n\t\t<span class=\"s-search-tip-icon s-search-tip-icon-filter pi pi-filter-fill\"></span>\r\n\t\t<span class=\"s-search-tip-title\">{{ labelForSelect() }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t} @else if (searchItem()?.filterType == 'tree') {\r\n\t\t<span class=\"s-search-tip-icon s-search-tip-icon-filter pi pi-filter-fill\"></span>\r\n\t\t<span class=\"s-search-tip-title\">{{ labelForTree() }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t} @else if (searchItem()?.filterType == 'date') {\r\n\t\t<span class=\"s-search-tip-field\">{{ searchItem()?.label }}</span>\r\n\t\t<span class=\"s-search-tip-title s-search-tip-opertor\">{{ operatorLabel(columnFilter()?.type!) }}</span>\r\n\t\t@if (columnFilter()?.type == 'inRange') {\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.from }}</span>\r\n\t\t\t<span class=\"s-search-tip-title s-search-tip-opertor\">and</span>\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.to }}</span>\r\n\t\t} @else {\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.fiter }}</span>\r\n\t\t}\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t} @else if (searchItem()?.filterType == 'text') {\r\n\t\t<span class=\"s-search-tip-field\">{{ searchItem()?.label }}</span>\r\n\t\t<span class=\"s-search-tip-title s-search-tip-opertor\">{{ operatorLabel(columnFilter()?.type!) }}</span>\r\n\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.fiter }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t} @else if (searchItem()?.filterType == 'number') {\r\n\t\t<span class=\"s-search-tip-field\">{{ searchItem()?.label }}</span>\r\n\t\t<span class=\"s-search-tip-title s-search-tip-opertor\">{{ operatorLabel(columnFilter()?.type!) }}</span>\r\n\t\t@if (columnFilter()?.type == 'inRange') {\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.from }}</span>\r\n\t\t\t<span class=\"s-search-tip-title s-search-tip-opertor\">and</span>\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.to }}</span>\r\n\t\t} @else {\r\n\t\t\t<span class=\"s-search-tip-title\">{{ columnFilter()?.fiter }}</span>\r\n\t\t}\r\n\t\t<span\r\n\t\t\tclass=\"s-search-tip-close pi pi-times\"\r\n\t\t\t(click)=\"onSearchTipClose()\"></span>\r\n\t}\r\n</span>\r\n", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.s-search-tip{background-color:#e4e6ea;font-size:12px;color:#334155;margin:1.25px;display:flex;flex-wrap:nowrap;border-radius:5px}.s-search-tip-field{padding:2.5px 5px 1.5px;margin-right:2.5px;background-color:var(--p-primary-color);border-radius:5px 0 0 5px;color:#fff}.s-search-tip-icon{padding:6.5px 6px 0;margin-right:2.5px;font-size:11px;border-radius:5px 0 0 5px;color:#fff}.s-search-tip-icon-filter,.s-search-tip-icon-group{background-color:var(--p-primary-color)}.s-search-tip-title{padding:2.5px;white-space:nowrap}.s-search-tip-opertor{opacity:.5;font-style:italic}.s-search-tip-close{padding:6.5px 5px 0;border-radius:0 5px 5px 0;font-size:11px}.s-search-tip-close:hover{color:var(--p-primary-color);cursor:pointer}\n"] }]
53
+ }], ctorParameters: () => [{ type: i1.ActionService }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tdWkvc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXRpcC9zZWFyY2gtdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS11aS9zcmMvbGliL3NlYXJjaC9zZWFyY2gtdGlwL3NlYXJjaC10aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFTOUMsTUFBTSxPQUFPLGtCQUFrQjtJQUs5QixZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBSnpDLFdBQU0sR0FBRyxLQUFLLEVBQVksQ0FBQztRQUMzQixpQkFBWSxHQUFHLEtBQUssRUFBZ0IsQ0FBQztRQUNyQyxlQUFVLEdBQUcsS0FBSyxFQUFjLENBQUM7UUFHaEMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUcsQ0FBQyxPQUFRLENBQUMsQ0FBQztZQUNoRixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFHLENBQUMsV0FBWSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELHVCQUF1QixDQUFDLE1BQXdCLEVBQUUsSUFBZ0I7UUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDOUUsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQXFCO1FBQ3ZDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsS0FBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUMxQixPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9FLENBQUM7SUFFRCxZQUFZO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZCLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzlFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM1RyxDQUFDO0lBRUQsWUFBWTtRQUNYLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUN6RyxDQUFDOytHQWhEVyxrQkFBa0I7bUdBQWxCLGtCQUFrQixvZEFKbkIsRUFBRSwwQkNWZCwrdUdBK0RBOzs0RkRqRGEsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNDLFlBQVksY0FDVixJQUFJLGFBQ0wsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZWFyY2hJdGVtLCBTZWFyY2hJdGVtT3B0aW9uIH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2x1bW5GaWx0ZXIgfSBmcm9tICcuLi8uLi9hbS9hbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IG9wZXJhdG9yTGlzdCB9IGZyb20gJy4uL21vY2stZGF0YSc7XHJcbmltcG9ydCB7IHNlYXJjaFV0aWxzIH0gZnJvbSAnLi4vc2VhcmNoLXV0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnc2VhcmNoLXRpcCcsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRwcm92aWRlcnM6IFtdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtdGlwLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vc2VhcmNoLXRpcC5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hUaXBDb21wb25lbnQge1xyXG5cdGdyb3VwcyA9IGlucHV0PHN0cmluZ1tdPigpO1xyXG5cdGNvbHVtbkZpbHRlciA9IGlucHV0PENvbHVtbkZpbHRlcj4oKTtcclxuXHRzZWFyY2hJdGVtID0gaW5wdXQ8U2VhcmNoSXRlbT4oKTtcclxuXHRmbGF0dGVuVHJlZU9wdGlvbnM/OiBhbnlbXTtcclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbjogQWN0aW9uU2VydmljZSkge1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuc2VhcmNoSXRlbSgpKSB7XHJcblx0XHRcdFx0dGhpcy5mbGF0dGVuVHJlZU9wdGlvbnMgPSBzZWFyY2hVdGlscy5mbGF0dGVuVHJlZSh0aGlzLnNlYXJjaEl0ZW0oKSEub3B0aW9ucyEpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG9uR3JvdXBUaXBDbG9zZSgpIHtcclxuXHRcdHRoaXMuYWN0aW9uLnNldEdyb3VwQ2xlYXIodHJ1ZSk7XHJcblx0fVxyXG5cclxuXHRvblNlYXJjaFRpcENsb3NlKCkge1xyXG5cdFx0dGhpcy5hY3Rpb24uc2V0U2VhcmNoQ2xlYXIodGhpcy5jb2x1bW5GaWx0ZXIoKSEuY29sdW1uRmllbGQhKTtcclxuXHR9XHJcblxyXG5cdGlzTm90Rmlyc3RDaGVja2VkT3B0aW9uKG9wdGlvbjogU2VhcmNoSXRlbU9wdGlvbiwgaXRlbTogU2VhcmNoSXRlbSkge1xyXG5cdFx0aWYgKCFvcHRpb24uY2hlY2tlZCkge1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gaXRlbS5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLmNoZWNrZWQpWzBdLmtleSAhPSBvcHRpb24ua2V5O1xyXG5cdH1cclxuXHJcblx0Zm9ybWF0U2VsZWN0R3JvdXBzKHNlbGVjdHM6IFNlYXJjaEl0ZW1bXSkge1xyXG5cdFx0cmV0dXJuIHNlbGVjdHMubWFwKChzZWxlY3QpID0+IHNlbGVjdC5sYWJlbCB8fCBzZWxlY3QuZmllbGQhKS5qb2luKCcgPiAnKTtcclxuXHR9XHJcblxyXG5cdG9wZXJhdG9yTGFiZWwob3BlcmE6IHN0cmluZykge1xyXG5cdFx0cmV0dXJuIG9wZXJhdG9yTGlzdC5maWx0ZXIoKG9wZXJhdG9yKSA9PiBvcGVyYXRvci5vcGVyYXRvciA9PSBvcGVyYSlbMF0ubGFiZWw7XHJcblx0fVxyXG5cclxuXHRsYWJlbEZvckxpc3QoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5zZWFyY2hJdGVtKClcclxuXHRcdFx0Py5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT4gdGhpcy5jb2x1bW5GaWx0ZXIoKSEuZml0ZXI/LmluY2x1ZGVzKG9wdGlvbi5rZXkpKVxyXG5cdFx0XHQubWFwKChvcHRpb24pID0+IG9wdGlvbi5sYWJlbCk7XHJcblx0fVxyXG5cclxuXHRsYWJlbEZvclNlbGVjdCgpIHtcclxuXHRcdHJldHVybiB0aGlzLnNlYXJjaEl0ZW0oKT8ub3B0aW9ucz8uZmluZCgob3B0aW9uKSA9PiBvcHRpb24ua2V5ID09IHRoaXMuY29sdW1uRmlsdGVyKCkhLmZpdGVyKT8ubGFiZWwgfHwgJyc7XHJcblx0fVxyXG5cclxuXHRsYWJlbEZvclRyZWUoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5mbGF0dGVuVHJlZU9wdGlvbnM/LmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLmtleSA9PSB0aGlzLmNvbHVtbkZpbHRlcigpIS5maXRlcik/LmxhYmVsIHx8ICcnO1xyXG5cdH1cclxufVxyXG4iLCI8c3BhbiBjbGFzcz1cInMtc2VhcmNoLXRpcFwiPlxyXG5cdEBpZiAoZ3JvdXBzKCk/Lmxlbmd0aCkge1xyXG5cdFx0PHNwYW5cclxuXHRcdFx0Y2xhc3M9XCJzLXNlYXJjaC10aXAtaWNvbiBzLXNlYXJjaC10aXAtaWNvbi1ncm91cCBpY29uZm9udCBpY29uLWdyb3VwXCJcclxuXHRcdFx0c3R5bGU9XCJwYWRkaW5nOiA0cHggNnB4IDAgNnB4XCI+PC9zcGFuPlxyXG5cdFx0PHNwYW4gY2xhc3M9XCJzLXNlYXJjaC10aXAtdGl0bGVcIj57eyBncm91cHMoKT8uam9pbignID4gJykgfX08L3NwYW4+XHJcblx0XHQ8c3BhblxyXG5cdFx0XHRjbGFzcz1cInMtc2VhcmNoLXRpcC1jbG9zZSBwaSBwaS10aW1lc1wiXHJcblx0XHRcdChjbGljayk9XCJvbkdyb3VwVGlwQ2xvc2UoKVwiPjwvc3Bhbj5cclxuXHR9XHJcblx0QGlmIChzZWFyY2hJdGVtKCk/LmZpbHRlclR5cGUgPT0gJ2xpc3QnKSB7XHJcblx0XHQ8c3BhbiBjbGFzcz1cInMtc2VhcmNoLXRpcC1pY29uIHMtc2VhcmNoLXRpcC1pY29uLWZpbHRlciBwaSBwaS1maWx0ZXItZmlsbFwiPjwvc3Bhbj5cclxuXHRcdDxzcGFuIGNsYXNzPVwicy1zZWFyY2gtdGlwLXRpdGxlXCI+e3sgbGFiZWxGb3JMaXN0KCkgfX08L3NwYW4+XHJcblx0XHQ8c3BhblxyXG5cdFx0XHRjbGFzcz1cInMtc2VhcmNoLXRpcC1jbG9zZSBwaSBwaS10aW1lc1wiXHJcblx0XHRcdChjbGljayk9XCJvblNlYXJjaFRpcENsb3NlKClcIj48L3NwYW4+XHJcblx0fSBAZWxzZSBpZiAoc2VhcmNoSXRlbSgpPy5maWx0ZXJUeXBlID09ICdzZWxlY3QnKSB7XHJcblx0XHQ8c3BhbiBjbGFzcz1cInMtc2VhcmNoLXRpcC1pY29uIHMtc2VhcmNoLXRpcC1pY29uLWZpbHRlciBwaSBwaS1maWx0ZXItZmlsbFwiPjwvc3Bhbj5cclxuXHRcdDxzcGFuIGNsYXNzPVwicy1zZWFyY2gtdGlwLXRpdGxlXCI+e3sgbGFiZWxGb3JTZWxlY3QoKSB9fTwvc3Bhbj5cclxuXHRcdDxzcGFuXHJcblx0XHRcdGNsYXNzPVwicy1zZWFyY2gtdGlwLWNsb3NlIHBpIHBpLXRpbWVzXCJcclxuXHRcdFx0KGNsaWNrKT1cIm9uU2VhcmNoVGlwQ2xvc2UoKVwiPjwvc3Bhbj5cclxuXHR9IEBlbHNlIGlmIChzZWFyY2hJdGVtKCk/LmZpbHRlclR5cGUgPT0gJ3RyZWUnKSB7XHJcblx0XHQ8c3BhbiBjbGFzcz1cInMtc2VhcmNoLXRpcC1pY29uIHMtc2VhcmNoLXRpcC1pY29uLWZpbHRlciBwaSBwaS1maWx0ZXItZmlsbFwiPjwvc3Bhbj5cclxuXHRcdDxzcGFuIGNsYXNzPVwicy1zZWFyY2gtdGlwLXRpdGxlXCI+e3sgbGFiZWxGb3JUcmVlKCkgfX08L3NwYW4+XHJcblx0XHQ8c3BhblxyXG5cdFx0XHRjbGFzcz1cInMtc2VhcmNoLXRpcC1jbG9zZSBwaSBwaS10aW1lc1wiXHJcblx0XHRcdChjbGljayk9XCJvblNlYXJjaFRpcENsb3NlKClcIj48L3NwYW4+XHJcblx0fSBAZWxzZSBpZiAoc2VhcmNoSXRlbSgpPy5maWx0ZXJUeXBlID09ICdkYXRlJykge1xyXG5cdFx0PHNwYW4gY2xhc3M9XCJzLXNlYXJjaC10aXAtZmllbGRcIj57eyBzZWFyY2hJdGVtKCk/LmxhYmVsIH19PC9zcGFuPlxyXG5cdFx0PHNwYW4gY2xhc3M9XCJzLXNlYXJjaC10aXAtdGl0bGUgcy1zZWFyY2gtdGlwLW9wZXJ0b3JcIj57eyBvcGVyYXRvckxhYmVsKGNvbHVtbkZpbHRlcigpPy50eXBlISkgfX08L3NwYW4+XHJcblx0XHRAaWYgKGNvbHVtbkZpbHRlcigpPy50eXBlID09ICdpblJhbmdlJykge1xyXG5cdFx0XHQ8c3BhbiBjbGFzcz1cInMtc2VhcmNoLXRpcC10aXRsZVwiPnt7IGNvbHVtbkZpbHRlcigpPy5mcm9tIH19PC9zcGFuPlxyXG5cdFx0XHQ8c3BhbiBjbGFzcz1cInMtc2VhcmNoLXRpcC10aXRsZSBzLXNlYXJjaC10aXAtb3BlcnRvclwiPmFuZDwvc3Bhbj5cclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJzLXNlYXJjaC10aXAtdGl0bGVcIj57eyBjb2x1bW5GaWx0ZXIoKT8udG8gfX08L3NwYW4+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJzLXNlYXJjaC10aXAtdGl0bGVcIj57eyBjb2x1bW5GaWx0ZXIoKT8uZml0ZXIgfX08L3NwYW4+XHJcblx0XHR9XHJcblx0XHQ8c3BhblxyXG5cdFx0XHRjbGFzcz1cInMtc2VhcmNoLXRpcC1jbG9zZSBwaSBwaS10aW1lc1wiXHJcblx0XHRcdChjbGljayk9XCJvblNlYXJjaFRpcENsb3NlKClcIj48L3NwYW4+XHJcblx0fSBAZWxzZSBpZiAoc2VhcmNoSXRlbSgpPy5maWx0ZXJUeXBlID09ICd0ZXh0Jykge1xyXG5cdFx0PHNwYW4gY2xhc3M9XCJzLXNlYXJjaC10aXAtZmllbGRcIj57eyBzZWFyY2hJdGVtKCk/LmxhYmVsIH19PC9zcGFuPlxyXG5cdFx0PHNwYW4gY2xhc3M9XCJzLXNlYXJjaC10aXAtdGl0bGUgcy1zZWFyY2gtdGlwLW9wZXJ0b3JcIj57eyBvcGVyYXRvckxhYmVsKGNvbHVtbkZpbHRlcigpPy50eXBlISkgfX08L3NwYW4+XHJcblx0XHQ8c3BhbiBjbGFzcz1cInMtc2VhcmNoLXRpcC10aXRsZVwiPnt7IGNvbHVtbkZpbHRlcigpPy5maXRlciB9fTwvc3Bhbj5cclxuXHRcdDxzcGFuXHJcblx0XHRcdGNsYXNzPVwicy1zZWFyY2gtdGlwLWNsb3NlIHBpIHBpLXRpbWVzXCJcclxuXHRcdFx0KGNsaWNrKT1cIm9uU2VhcmNoVGlwQ2xvc2UoKVwiPjwvc3Bhbj5cclxuXHR9IEBlbHNlIGlmIChzZWFyY2hJdGVtKCk/LmZpbHRlclR5cGUgPT0gJ251bWJlcicpIHtcclxuXHRcdDxzcGFuIGNsYXNzPVwicy1zZWFyY2gtdGlwLWZpZWxkXCI+e3sgc2VhcmNoSXRlbSgpPy5sYWJlbCB9fTwvc3Bhbj5cclxuXHRcdDxzcGFuIGNsYXNzPVwicy1zZWFyY2gtdGlwLXRpdGxlIHMtc2VhcmNoLXRpcC1vcGVydG9yXCI+e3sgb3BlcmF0b3JMYWJlbChjb2x1bW5GaWx0ZXIoKT8udHlwZSEpIH19PC9zcGFuPlxyXG5cdFx0QGlmIChjb2x1bW5GaWx0ZXIoKT8udHlwZSA9PSAnaW5SYW5nZScpIHtcclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJzLXNlYXJjaC10aXAtdGl0bGVcIj57eyBjb2x1bW5GaWx0ZXIoKT8uZnJvbSB9fTwvc3Bhbj5cclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJzLXNlYXJjaC10aXAtdGl0bGUgcy1zZWFyY2gtdGlwLW9wZXJ0b3JcIj5hbmQ8L3NwYW4+XHJcblx0XHRcdDxzcGFuIGNsYXNzPVwicy1zZWFyY2gtdGlwLXRpdGxlXCI+e3sgY29sdW1uRmlsdGVyKCk/LnRvIH19PC9zcGFuPlxyXG5cdFx0fSBAZWxzZSB7XHJcblx0XHRcdDxzcGFuIGNsYXNzPVwicy1zZWFyY2gtdGlwLXRpdGxlXCI+e3sgY29sdW1uRmlsdGVyKCk/LmZpdGVyIH19PC9zcGFuPlxyXG5cdFx0fVxyXG5cdFx0PHNwYW5cclxuXHRcdFx0Y2xhc3M9XCJzLXNlYXJjaC10aXAtY2xvc2UgcGkgcGktdGltZXNcIlxyXG5cdFx0XHQoY2xpY2spPVwib25TZWFyY2hUaXBDbG9zZSgpXCI+PC9zcGFuPlxyXG5cdH1cclxuPC9zcGFuPlxyXG4iXX0=
@@ -0,0 +1,165 @@
1
+ const _searchUitls = {
2
+ flattenTree: (nodes) => {
3
+ let result = [];
4
+ nodes.forEach((node) => {
5
+ result.push(node);
6
+ if (node.children && node.children.length > 0) {
7
+ result = result.concat(_searchUitls.flattenTree(node.children));
8
+ }
9
+ });
10
+ return result;
11
+ },
12
+ transferFilter: (item) => {
13
+ if (item.filterType == 'list') {
14
+ return _searchUitls.transferList(item);
15
+ }
16
+ else if (item.filterType == 'select') {
17
+ return _searchUitls.transferSelect(item);
18
+ }
19
+ else if (item.filterType == 'date') {
20
+ return _searchUitls.transferDate(item);
21
+ }
22
+ else if (item.filterType == 'text') {
23
+ return _searchUitls.transferText(item);
24
+ }
25
+ else if (item.filterType == 'number') {
26
+ return _searchUitls.transferNumber(item);
27
+ }
28
+ else if (item.filterType == 'tree') {
29
+ return _searchUitls.transferTree(item);
30
+ }
31
+ return;
32
+ },
33
+ transferText: (item) => {
34
+ return {
35
+ columnField: item.field,
36
+ type: item.operator || 'contains',
37
+ fiter: item.value,
38
+ };
39
+ },
40
+ transferNumber: (item) => {
41
+ if (item.operator == 'inRange') {
42
+ return {
43
+ columnField: item.field,
44
+ type: item.operator,
45
+ from: item.from,
46
+ to: item.to,
47
+ };
48
+ }
49
+ return {
50
+ columnField: item.field,
51
+ type: item.operator,
52
+ fiter: item.value,
53
+ };
54
+ },
55
+ transferList: (item) => {
56
+ const fiter = item.options?.filter((option) => option.checked).map((option) => option.key);
57
+ return {
58
+ columnField: item.field,
59
+ type: item.operator || 'in',
60
+ fiter,
61
+ };
62
+ },
63
+ transferSelect: (item) => {
64
+ return {
65
+ columnField: item.field,
66
+ type: item.operator || 'equals',
67
+ fiter: item.options?.filter((option) => option.checked).map((option) => option.key)[0],
68
+ };
69
+ },
70
+ transferTree: (item) => {
71
+ return {
72
+ columnField: item.field,
73
+ type: item.operator || 'equals',
74
+ fiter: item.value,
75
+ };
76
+ },
77
+ transferDate: (item) => {
78
+ if (item.operator == 'inRange') {
79
+ return {
80
+ columnField: item.field,
81
+ type: item.operator,
82
+ from: item.from,
83
+ to: item.to,
84
+ };
85
+ }
86
+ return {
87
+ columnField: item.field,
88
+ type: item.operator,
89
+ fiter: item.value,
90
+ };
91
+ },
92
+ concatFilter: (search = { columnFilters: [], groups: [] }, filter) => {
93
+ search.columnFilters = search.columnFilters?.filter((fil) => filter.columnField != fil.columnField);
94
+ if (!filter) {
95
+ return search;
96
+ }
97
+ if (filter.type == 'in' && !filter.fiter.length) {
98
+ return search;
99
+ }
100
+ search.columnFilters?.push(filter);
101
+ return search;
102
+ },
103
+ concatGroup: (search = { columnFilters: [], groups: [] }, item) => {
104
+ const groups = search.groups.filter((group) => group != item.field);
105
+ if (item.selected) {
106
+ groups.push(item.field);
107
+ }
108
+ search.groups = [...groups];
109
+ return search;
110
+ },
111
+ cascadeColumnFilters(searchClear, columnFilters, searchItems) {
112
+ const cascadeClearList = [searchClear];
113
+ for (const columnFilter of columnFilters) {
114
+ for (const searchItem of searchItems) {
115
+ if (searchItem.field == columnFilter.columnField && searchItem.cascade && searchItem.cascadeKey == searchClear) {
116
+ cascadeClearList.push(columnFilter.columnField);
117
+ break;
118
+ }
119
+ }
120
+ }
121
+ return columnFilters?.filter((columnFilter) => !cascadeClearList.includes(columnFilter.columnField));
122
+ },
123
+ extractSearchItems(columnDefs, searchItems = []) {
124
+ columnDefs?.forEach((col) => {
125
+ if (col.children) {
126
+ this.extractSearchItems(col.children, searchItems);
127
+ }
128
+ else {
129
+ if (!col.searchType) {
130
+ return;
131
+ }
132
+ let searchItem = { field: col.field, label: col.headerName || col.field, filterType: col.searchType, filter: true };
133
+ if (col.searchType == 'date') {
134
+ searchItem.format = col.searchFormat ?? 'yy-mm-dd';
135
+ }
136
+ else if (col.searchType == 'select') {
137
+ if (col.cascade) {
138
+ searchItem.cascade = col.cascade;
139
+ searchItem.cascadeKey = col.cascadeKey;
140
+ searchItem.cascadeFunc = col.cascadeFunc;
141
+ }
142
+ }
143
+ if (col.searchOptions) {
144
+ col.searchOptions.subscribe((options) => {
145
+ searchItem.options = options;
146
+ });
147
+ }
148
+ if (col.searchGroup) {
149
+ searchItem.group = col.searchGroup;
150
+ }
151
+ searchItems.push(searchItem);
152
+ }
153
+ });
154
+ return searchItems;
155
+ },
156
+ };
157
+ export const searchUtils = {
158
+ flattenTree: _searchUitls.flattenTree,
159
+ transferFilter: _searchUitls.transferFilter,
160
+ concatFilter: _searchUitls.concatFilter,
161
+ concatGroup: _searchUitls.concatGroup,
162
+ extractSearchItems: _searchUitls.extractSearchItems,
163
+ cascadeColumnFilters: _searchUitls.cascadeColumnFilters,
164
+ };
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLXVpL3NyYy9saWIvc2VhcmNoL3NlYXJjaC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFlBQVksR0FBRztJQUNwQixXQUFXLEVBQUUsQ0FBQyxLQUFZLEVBQVMsRUFBRTtRQUNwQyxJQUFJLE1BQU0sR0FBVSxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMvQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUNELGNBQWMsRUFBRSxDQUFDLElBQWdCLEVBQTRCLEVBQUU7UUFDOUQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQy9CLE9BQU8sWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3RDLE9BQU8sWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxDQUFDO2FBQU0s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SUFDcEIsQ0FBQztDQUNELENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDMUIsV0FBVyxFQUFFLFlBQVksQ0FBQyxXQUFXO0lBQ3JDLGNBQWMsRUFBRSxZQUFZLENBQUMsY0FBYztJQUMzQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFlBQVk7SUFDdkMsV0FBVyxFQUFFLFlBQVksQ0FBQyxXQUFXO0lBQ3JDLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxrQkFBa0I7SUFDbkQsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLG9CQUFvQjtDQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoSXRlbSB9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2gsIENvbHVtbkZpbHRlciB9IGZyb20gJy4uL2FtL2FtLmNvbXBvbmVudCc7XHJcbmNvbnN0IF9zZWFyY2hVaXRscyA9IHtcclxuXHRmbGF0dGVuVHJlZTogKG5vZGVzOiBhbnlbXSk6IGFueVtdID0+IHtcclxuXHRcdGxldCByZXN1bHQ6IGFueVtdID0gW107XHJcblx0XHRub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcblx0XHRcdHJlc3VsdC5wdXNoKG5vZGUpO1xyXG5cclxuXHRcdFx0aWYgKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0cmVzdWx0ID0gcmVzdWx0LmNvbmNhdChfc2VhcmNoVWl0bHMuZmxhdHRlblRyZWUobm9kZS5jaGlsZHJlbikpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHRcdHJldHVybiByZXN1bHQ7XHJcblx0fSxcclxuXHR0cmFuc2ZlckZpbHRlcjogKGl0ZW06IFNlYXJjaEl0ZW0pOiBDb2x1bW5GaWx0ZXIgfCB1bmRlZmluZWQgPT4ge1xyXG5cdFx0aWYgKGl0ZW0uZmlsdGVyVHlwZSA9PSAnbGlzdCcpIHtcclxuXHRcdFx0cmV0dXJuIF9zZWFyY2hVaXRscy50cmFuc2Zlckxpc3QoaXRlbSk7XHJcblx0XHR9IGVsc2UgaWYgKGl0ZW0uZmlsdGVyVHlwZSA9PSAnc2VsZWN0Jykge1xyXG5cdFx0XHRyZXR1cm4gX3NlYXJjaFVpdGxzLnRyYW5zZmVyU2VsZWN0KGl0ZW0pO1xyXG5cdFx0fSBlbHNlIGlmIChpdGVtLmZpbHRlclR5cGUgPT0gJ2RhdGUnKSB7XHJcblx0XHRcdHJldHVybiBfc2VhcmNoVWl0bHMudHJhbnNmZXJEYXRlKGl0ZW0pO1xyXG5cdFx0fSBlbHNlIGlmIChpdGVtLmZpbHRlclR5cGUgPT0gJ3RleHQnKSB7XHJcblx0XHRcdHJldHVybiBfc2VhcmNoVWl0bHMudHJhbnNmZXJUZXh0KGl0ZW0pO1xyXG5cdFx0fSBlbHNlIGlmIChpdGVtLmZpbHRlclR5cGUgPT0gJ251bWJlcicpIHtcclxuXHRcdFx0cmV0dXJuIF9zZWFyY2hVaXRscy50cmFuc2Zlck51bWJlcihpdGVtKTtcclxuXHRcdH0gZWxzZSBpZiAoaXRlbS5maWx0ZXJUeXBlID09ICd0cmVlJykge1xyXG5cdFx0XHRyZXR1cm4gX3NlYXJjaFVpdGxzLnRyYW5zZmVyVHJlZShpdGVtKTtcclxuXHRcdH1cclxuXHRcdHJldHVybjtcclxuXHR9LFxyXG5cdHRyYW5zZmVyVGV4dDogKGl0ZW06IFNlYXJjaEl0ZW0pOiBDb2x1bW5GaWx0ZXIgfCB1bmRlZmluZWQgPT4ge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y29sdW1uRmllbGQ6IGl0ZW0uZmllbGQsXHJcblx0XHRcdHR5cGU6IGl0ZW0ub3BlcmF0b3IgfHwgJ2NvbnRhaW5zJyxcclxuXHRcdFx0Zml0ZXI6IGl0ZW0udmFsdWUsXHJcblx0XHR9O1xyXG5cdH0sXHJcblx0dHJhbnNmZXJOdW1iZXI6IChpdGVtOiBTZWFyY2hJdGVtKTogQ29sdW1uRmlsdGVyIHwgdW5kZWZpbmVkID0+IHtcclxuXHRcdGlmIChpdGVtLm9wZXJhdG9yID09ICdpblJhbmdlJykge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGNvbHVtbkZpZWxkOiBpdGVtLmZpZWxkLFxyXG5cdFx0XHRcdHR5cGU6IGl0ZW0ub3BlcmF0b3IsXHJcblx0XHRcdFx0ZnJvbTogaXRlbS5mcm9tLFxyXG5cdFx0XHRcdHRvOiBpdGVtLnRvLFxyXG5cdFx0XHR9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y29sdW1uRmllbGQ6IGl0ZW0uZmllbGQsXHJcblx0XHRcdHR5cGU6IGl0ZW0ub3BlcmF0b3IsXHJcblx0XHRcdGZpdGVyOiBpdGVtLnZhbHVlLFxyXG5cdFx0fTtcclxuXHR9LFxyXG5cdHRyYW5zZmVyTGlzdDogKGl0ZW06IFNlYXJjaEl0ZW0pOiBDb2x1bW5GaWx0ZXIgfCB1bmRlZmluZWQgPT4ge1xyXG5cdFx0Y29uc3QgZml0ZXIgPSBpdGVtLm9wdGlvbnM/LmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24uY2hlY2tlZCkubWFwKChvcHRpb24pID0+IG9wdGlvbi5rZXkpO1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y29sdW1uRmllbGQ6IGl0ZW0uZmllbGQsXHJcblx0XHRcdHR5cGU6IGl0ZW0ub3BlcmF0b3IgfHwgJ2luJyxcclxuXHRcdFx0Zml0ZXIsXHJcblx0XHR9O1xyXG5cdH0sXHJcblx0dHJhbnNmZXJTZWxlY3Q6IChpdGVtOiBTZWFyY2hJdGVtKTogQ29sdW1uRmlsdGVyIHwgdW5kZWZpbmVkID0+IHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGNvbHVtbkZpZWxkOiBpdGVtLmZpZWxkLFxyXG5cdFx0XHR0eXBlOiBpdGVtLm9wZXJhdG9yIHx8ICdlcXVhbHMnLFxyXG5cdFx0XHRmaXRlcjogaXRlbS5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLmNoZWNrZWQpLm1hcCgob3B0aW9uKSA9PiBvcHRpb24ua2V5KVswXSxcclxuXHRcdH07XHJcblx0fSxcclxuXHR0cmFuc2ZlclRyZWU6IChpdGVtOiBTZWFyY2hJdGVtKTogQ29sdW1uRmlsdGVyIHwgdW5kZWZpbmVkID0+IHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGNvbHVtbkZpZWxkOiBpdGVtLmZpZWxkLFxyXG5cdFx0XHR0eXBlOiBpdGVtLm9wZXJhdG9yIHx8ICdlcXVhbHMnLFxyXG5cdFx0XHRmaXRlcjogaXRlbS52YWx1ZSxcclxuXHRcdH07XHJcblx0fSxcclxuXHR0cmFuc2ZlckRhdGU6IChpdGVtOiBTZWFyY2hJdGVtKTogQ29sdW1uRmlsdGVyIHwgdW5kZWZpbmVkID0+IHtcclxuXHRcdGlmIChpdGVtLm9wZXJhdG9yID09ICdpblJhbmdlJykge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGNvbHVtbkZpZWxkOiBpdGVtLmZpZWxkLFxyXG5cdFx0XHRcdHR5cGU6IGl0ZW0ub3BlcmF0b3IsXHJcblx0XHRcdFx0ZnJvbTogaXRlbS5mcm9tLFxyXG5cdFx0XHRcdHRvOiBpdGVtLnRvLFxyXG5cdFx0XHR9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y29sdW1uRmllbGQ6IGl0ZW0uZmllbGQsXHJcblx0XHRcdHR5cGU6IGl0ZW0ub3BlcmF0b3IsXHJcblx0XHRcdGZpdGVyOiBpdGVtLnZhbHVlLFxyXG5cdFx0fTtcclxuXHR9LFxyXG5cdGNvbmNhdEZpbHRlcjogKHNlYXJjaDogU2VhcmNoID0geyBjb2x1bW5GaWx0ZXJzOiBbXSwgZ3JvdXBzOiBbXSB9LCBmaWx0ZXI6IENvbHVtbkZpbHRlcik6IFNlYXJjaCA9PiB7XHJcblx0XHRzZWFyY2guY29sdW1uRmlsdGVycyA9IHNlYXJjaC5jb2x1bW5GaWx0ZXJzPy5maWx0ZXIoKGZpbCkgPT4gZmlsdGVyLmNvbHVtbkZpZWxkICE9IGZpbC5jb2x1bW5GaWVsZCk7XHJcblx0XHRpZiAoIWZpbHRlcikge1xyXG5cdFx0XHRyZXR1cm4gc2VhcmNoO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGZpbHRlci50eXBlID09ICdpbicgJiYgIWZpbHRlci5maXRlci5sZW5ndGgpIHtcclxuXHRcdFx0cmV0dXJuIHNlYXJjaDtcclxuXHRcdH1cclxuXHRcdHNlYXJjaC5jb2x1bW5GaWx0ZXJzPy5wdXNoKGZpbHRlcik7XHJcblx0XHRyZXR1cm4gc2VhcmNoO1xyXG5cdH0sXHJcblx0Y29uY2F0R3JvdXA6IChzZWFyY2g6IFNlYXJjaCA9IHsgY29sdW1uRmlsdGVyczogW10sIGdyb3VwczogW10gfSwgaXRlbTogU2VhcmNoSXRlbSkgPT4ge1xyXG5cdFx0Y29uc3QgZ3JvdXBzID0gc2VhcmNoLmdyb3VwcyEuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAgIT0gaXRlbS5maWVsZCk7XHJcblx0XHRpZiAoaXRlbS5zZWxlY3RlZCkge1xyXG5cdFx0XHRncm91cHMucHVzaChpdGVtLmZpZWxkISk7XHJcblx0XHR9XHJcblx0XHRzZWFyY2guZ3JvdXBzID0gWy4uLmdyb3Vwc107XHJcblx0XHRyZXR1cm4gc2VhcmNoO1xyXG5cdH0sXHJcblx0Y2FzY2FkZUNvbHVtbkZpbHRlcnMoc2VhcmNoQ2xlYXI6IHN0cmluZywgY29sdW1uRmlsdGVyczogQ29sdW1uRmlsdGVyW10sIHNlYXJjaEl0ZW1zOiBTZWFyY2hJdGVtW10pOiBDb2x1bW5GaWx0ZXJbXSB7XHJcblx0XHRjb25zdCBjYXNjYWRlQ2xlYXJMaXN0OiBzdHJpbmdbXSA9IFtzZWFyY2hDbGVhcl07XHJcblx0XHRmb3IgKGNvbnN0IGNvbHVtbkZpbHRlciBvZiBjb2x1bW5GaWx0ZXJzKSB7XHJcblx0XHRcdGZvciAoY29uc3Qgc2VhcmNoSXRlbSBvZiBzZWFyY2hJdGVtcykge1xyXG5cdFx0XHRcdGlmIChzZWFyY2hJdGVtLmZpZWxkID09IGNvbHVtbkZpbHRlci5jb2x1bW5GaWVsZCAmJiBzZWFyY2hJdGVtLmNhc2NhZGUgJiYgc2VhcmNoSXRlbS5jYXNjYWRlS2V5ID09IHNlYXJjaENsZWFyKSB7XHJcblx0XHRcdFx0XHRjYXNjYWRlQ2xlYXJMaXN0LnB1c2goY29sdW1uRmlsdGVyLmNvbHVtbkZpZWxkISk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiBjb2x1bW5GaWx0ZXJzPy5maWx0ZXIoKGNvbHVtbkZpbHRlcikgPT4gIWNhc2NhZGVDbGVhckxpc3QuaW5jbHVkZXMoY29sdW1uRmlsdGVyLmNvbHVtbkZpZWxkISkpO1xyXG5cdH0sXHJcblx0ZXh0cmFjdFNlYXJjaEl0ZW1zKGNvbHVtbkRlZnM6IGFueSwgc2VhcmNoSXRlbXM6IFNlYXJjaEl0ZW1bXSA9IFtdKTogU2VhcmNoSXRlbVtdIHtcclxuXHRcdGNvbHVtbkRlZnM/LmZvckVhY2goKGNvbDogYW55KSA9PiB7XHJcblx0XHRcdGlmIChjb2wuY2hpbGRyZW4pIHtcclxuXHRcdFx0XHR0aGlzLmV4dHJhY3RTZWFyY2hJdGVtcyhjb2wuY2hpbGRyZW4sIHNlYXJjaEl0ZW1zKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRpZiAoIWNvbC5zZWFyY2hUeXBlKSB7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCBzZWFyY2hJdGVtOiBTZWFyY2hJdGVtID0geyBmaWVsZDogY29sLmZpZWxkLCBsYWJlbDogY29sLmhlYWRlck5hbWUgfHwgY29sLmZpZWxkLCBmaWx0ZXJUeXBlOiBjb2wuc2VhcmNoVHlwZSwgZmlsdGVyOiB0cnVlIH07XHJcblx0XHRcdFx0aWYgKGNvbC5zZWFyY2hUeXBlID09ICdkYXRlJykge1xyXG5cdFx0XHRcdFx0c2VhcmNoSXRlbS5mb3JtYXQgPSBjb2wuc2VhcmNoRm9ybWF0ID8/ICd5eS1tbS1kZCc7XHJcblx0XHRcdFx0fSBlbHNlIGlmIChjb2wuc2VhcmNoVHlwZSA9PSAnc2VsZWN0Jykge1xyXG5cdFx0XHRcdFx0aWYgKGNvbC5jYXNjYWRlKSB7XHJcblx0XHRcdFx0XHRcdHNlYXJjaEl0ZW0uY2FzY2FkZSA9IGNvbC5jYXNjYWRlO1xyXG5cdFx0XHRcdFx0XHRzZWFyY2hJdGVtLmNhc2NhZGVLZXkgPSBjb2wuY2FzY2FkZUtleTtcclxuXHRcdFx0XHRcdFx0c2VhcmNoSXRlbS5jYXNjYWRlRnVuYyA9IGNvbC5jYXNjYWRlRnVuYztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGNvbC5zZWFyY2hPcHRpb25zKSB7XHJcblx0XHRcdFx0XHRjb2wuc2VhcmNoT3B0aW9ucy5zdWJzY3JpYmUoKG9wdGlvbnM6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRzZWFyY2hJdGVtLm9wdGlvbnMgPSBvcHRpb25zO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChjb2wuc2VhcmNoR3JvdXApIHtcclxuXHRcdFx0XHRcdHNlYXJjaEl0ZW0uZ3JvdXAgPSBjb2wuc2VhcmNoR3JvdXA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHNlYXJjaEl0ZW1zLnB1c2goc2VhcmNoSXRlbSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0cmV0dXJuIHNlYXJjaEl0ZW1zO1xyXG5cdH0sXHJcbn07XHJcbmV4cG9ydCBjb25zdCBzZWFyY2hVdGlscyA9IHtcclxuXHRmbGF0dGVuVHJlZTogX3NlYXJjaFVpdGxzLmZsYXR0ZW5UcmVlLFxyXG5cdHRyYW5zZmVyRmlsdGVyOiBfc2VhcmNoVWl0bHMudHJhbnNmZXJGaWx0ZXIsXHJcblx0Y29uY2F0RmlsdGVyOiBfc2VhcmNoVWl0bHMuY29uY2F0RmlsdGVyLFxyXG5cdGNvbmNhdEdyb3VwOiBfc2VhcmNoVWl0bHMuY29uY2F0R3JvdXAsXHJcblx0ZXh0cmFjdFNlYXJjaEl0ZW1zOiBfc2VhcmNoVWl0bHMuZXh0cmFjdFNlYXJjaEl0ZW1zLFxyXG5cdGNhc2NhZGVDb2x1bW5GaWx0ZXJzOiBfc2VhcmNoVWl0bHMuY2FzY2FkZUNvbHVtbkZpbHRlcnMsXHJcbn07XHJcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Component, Output, input, EventEmitter, effect } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { Select } from 'primeng/select';
4
+ import { textOperList } from '../mock-data';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../service/action.service";
7
+ import * as i2 from "@angular/forms";
8
+ export class TextPanelComponent {
9
+ constructor(action) {
10
+ this.action = action;
11
+ this.strItemClick = new EventEmitter();
12
+ this.searchItems = input();
13
+ this.searchStr = input();
14
+ this.textItems = [];
15
+ this.textOperList = textOperList;
16
+ effect(() => {
17
+ this.textItems =
18
+ this.searchItems()
19
+ ?.filter((searchItem) => searchItem.filter && (searchItem.filterType == 'text' || searchItem.filterType == 'number'))
20
+ .map((searchItem) => ({ operator: searchItem.filterType == 'number' ? 'equals' : 'contains', ...searchItem })) || [];
21
+ });
22
+ }
23
+ onStrItemClick(item, event) {
24
+ item.selected = true;
25
+ item.value = this.searchStr();
26
+ this.action.setSearchItem(item);
27
+ this.strItemClick.emit();
28
+ }
29
+ onTextOperatorClick(item, event) {
30
+ event.stopPropagation();
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextPanelComponent, deps: [{ token: i1.ActionService }], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TextPanelComponent, isStandalone: true, selector: "text-panel", inputs: { searchItems: { classPropertyName: "searchItems", publicName: "searchItems", isSignal: true, isRequired: false, transformFunction: null }, searchStr: { classPropertyName: "searchStr", publicName: "searchStr", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { strItemClick: "strItemClick" }, ngImport: i0, template: "@if (!textItems.length) {\r\n\t<div class=\"s-str-item flex items-center\">\u65E0\u641C\u7D22\u5B57\u6BB5</div>\r\n}\r\n@for (item of textItems; track item) {\r\n\t<div\r\n\t\tclass=\"s-str-item flex items-center\"\r\n\t\t(click)=\"onStrItemClick(item!, $event)\">\r\n\t\t\u641C\u7D22 <span class=\"s-str-item-field px-1\">{{ item.label }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"px-1 w-24\"\r\n\t\t\t(click)=\"onTextOperatorClick(item, $event)\">\r\n\t\t\t<p-select\r\n\t\t\t\t[(ngModel)]=\"item.operator\"\r\n\t\t\t\t[options]=\"textOperList\"\r\n\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\toptionValue=\"operator\"\r\n\t\t\t\tappendTo=\"body\"\r\n\t\t\t\tsize=\"small\"\r\n\t\t\t\tfluid />\r\n\t\t</span>\r\n\t\t<span class=\"s-str-item-value px-1\">{{ searchStr() }}</span>\r\n\t</div>\r\n}\r\n", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.s-str-item{padding:5px;font-size:12px}.s-str-item:hover{background-color:var(--p-list-option-focus-background);cursor:pointer}.s-str-item-field{font-weight:600;color:var(--p-primary-color)}.s-str-item-value{font-weight:600}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextPanelComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'text-panel', standalone: true, imports: [FormsModule, Select], template: "@if (!textItems.length) {\r\n\t<div class=\"s-str-item flex items-center\">\u65E0\u641C\u7D22\u5B57\u6BB5</div>\r\n}\r\n@for (item of textItems; track item) {\r\n\t<div\r\n\t\tclass=\"s-str-item flex items-center\"\r\n\t\t(click)=\"onStrItemClick(item!, $event)\">\r\n\t\t\u641C\u7D22 <span class=\"s-str-item-field px-1\">{{ item.label }}</span>\r\n\t\t<span\r\n\t\t\tclass=\"px-1 w-24\"\r\n\t\t\t(click)=\"onTextOperatorClick(item, $event)\">\r\n\t\t\t<p-select\r\n\t\t\t\t[(ngModel)]=\"item.operator\"\r\n\t\t\t\t[options]=\"textOperList\"\r\n\t\t\t\toptionLabel=\"label\"\r\n\t\t\t\toptionValue=\"operator\"\r\n\t\t\t\tappendTo=\"body\"\r\n\t\t\t\tsize=\"small\"\r\n\t\t\t\tfluid />\r\n\t\t</span>\r\n\t\t<span class=\"s-str-item-value px-1\">{{ searchStr() }}</span>\r\n\t</div>\r\n}\r\n", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.s-str-item{padding:5px;font-size:12px}.s-str-item:hover{background-color:var(--p-list-option-focus-background);cursor:pointer}.s-str-item-field{font-weight:600;color:var(--p-primary-color)}.s-str-item-value{font-weight:600}\n"] }]
38
+ }], ctorParameters: () => [{ type: i1.ActionService }], propDecorators: { strItemClick: [{
39
+ type: Output
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tdWkvc3JjL2xpYi9zZWFyY2gvdGV4dC1wYW5lbC90ZXh0LXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS11aS9zcmMvbGliL3NlYXJjaC90ZXh0LXBhbmVsL3RleHQtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBUzVDLE1BQU0sT0FBTyxrQkFBa0I7SUFPOUIsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQU4vQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDbEQsZ0JBQVcsR0FBRyxLQUFLLEVBQWdCLENBQUM7UUFDcEMsY0FBUyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzVCLGNBQVMsR0FBaUIsRUFBRSxDQUFDO1FBQzdCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBRzNCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUztnQkFDYixJQUFJLENBQUMsV0FBVyxFQUFFO29CQUNqQixFQUFFLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLElBQUksTUFBTSxJQUFJLFVBQVUsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLENBQUM7cUJBQ3BILEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hILENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFnQixFQUFFLEtBQVk7UUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBZ0IsRUFBRSxLQUFZO1FBQ2pELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDOytHQXpCVyxrQkFBa0I7bUdBQWxCLGtCQUFrQiwyWUNkL0IsMHhCQXVCQSx1dkxEYlcsV0FBVywrVkFBRSxNQUFNOzs0RkFJakIsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNDLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO2tGQUtwQixZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIGlucHV0LCBFdmVudEVtaXR0ZXIsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZWFyY2hJdGVtIH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICdwcmltZW5nL3NlbGVjdCc7XHJcbmltcG9ydCB7IHRleHRPcGVyTGlzdCB9IGZyb20gJy4uL21vY2stZGF0YSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3RleHQtcGFuZWwnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW0Zvcm1zTW9kdWxlLCBTZWxlY3RdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi90ZXh0LXBhbmVsLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vdGV4dC1wYW5lbC5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0UGFuZWxDb21wb25lbnQge1xyXG5cdEBPdXRwdXQoKSBzdHJJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblx0c2VhcmNoSXRlbXMgPSBpbnB1dDxTZWFyY2hJdGVtW10+KCk7XHJcblx0c2VhcmNoU3RyID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cdHRleHRJdGVtczogU2VhcmNoSXRlbVtdID0gW107XHJcblx0dGV4dE9wZXJMaXN0ID0gdGV4dE9wZXJMaXN0O1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbjogQWN0aW9uU2VydmljZSkge1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0dGhpcy50ZXh0SXRlbXMgPVxyXG5cdFx0XHRcdHRoaXMuc2VhcmNoSXRlbXMoKVxyXG5cdFx0XHRcdFx0Py5maWx0ZXIoKHNlYXJjaEl0ZW0pID0+IHNlYXJjaEl0ZW0uZmlsdGVyICYmIChzZWFyY2hJdGVtLmZpbHRlclR5cGUgPT0gJ3RleHQnIHx8IHNlYXJjaEl0ZW0uZmlsdGVyVHlwZSA9PSAnbnVtYmVyJykpXHJcblx0XHRcdFx0XHQubWFwKChzZWFyY2hJdGVtKSA9PiAoeyBvcGVyYXRvcjogc2VhcmNoSXRlbS5maWx0ZXJUeXBlID09ICdudW1iZXInID8gJ2VxdWFscycgOiAnY29udGFpbnMnLCAuLi5zZWFyY2hJdGVtIH0pKSB8fCBbXTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0b25TdHJJdGVtQ2xpY2soaXRlbTogU2VhcmNoSXRlbSwgZXZlbnQ6IEV2ZW50KSB7XHJcblx0XHRpdGVtLnNlbGVjdGVkID0gdHJ1ZTtcclxuXHRcdGl0ZW0udmFsdWUgPSB0aGlzLnNlYXJjaFN0cigpO1xyXG5cdFx0dGhpcy5hY3Rpb24uc2V0U2VhcmNoSXRlbShpdGVtKTtcclxuXHRcdHRoaXMuc3RySXRlbUNsaWNrLmVtaXQoKTtcclxuXHR9XHJcblxyXG5cdG9uVGV4dE9wZXJhdG9yQ2xpY2soaXRlbTogU2VhcmNoSXRlbSwgZXZlbnQ6IEV2ZW50KSB7XHJcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHR9XHJcbn1cclxuIiwiQGlmICghdGV4dEl0ZW1zLmxlbmd0aCkge1xyXG5cdDxkaXYgY2xhc3M9XCJzLXN0ci1pdGVtIGZsZXggaXRlbXMtY2VudGVyXCI+5peg5pCc57Si5a2X5q61PC9kaXY+XHJcbn1cclxuQGZvciAoaXRlbSBvZiB0ZXh0SXRlbXM7IHRyYWNrIGl0ZW0pIHtcclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cInMtc3RyLWl0ZW0gZmxleCBpdGVtcy1jZW50ZXJcIlxyXG5cdFx0KGNsaWNrKT1cIm9uU3RySXRlbUNsaWNrKGl0ZW0hLCAkZXZlbnQpXCI+XHJcblx0XHTmkJzntKIgPHNwYW4gY2xhc3M9XCJzLXN0ci1pdGVtLWZpZWxkIHB4LTFcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxyXG5cdFx0PHNwYW5cclxuXHRcdFx0Y2xhc3M9XCJweC0xIHctMjRcIlxyXG5cdFx0XHQoY2xpY2spPVwib25UZXh0T3BlcmF0b3JDbGljayhpdGVtLCAkZXZlbnQpXCI+XHJcblx0XHRcdDxwLXNlbGVjdFxyXG5cdFx0XHRcdFsobmdNb2RlbCldPVwiaXRlbS5vcGVyYXRvclwiXHJcblx0XHRcdFx0W29wdGlvbnNdPVwidGV4dE9wZXJMaXN0XCJcclxuXHRcdFx0XHRvcHRpb25MYWJlbD1cImxhYmVsXCJcclxuXHRcdFx0XHRvcHRpb25WYWx1ZT1cIm9wZXJhdG9yXCJcclxuXHRcdFx0XHRhcHBlbmRUbz1cImJvZHlcIlxyXG5cdFx0XHRcdHNpemU9XCJzbWFsbFwiXHJcblx0XHRcdFx0Zmx1aWQgLz5cclxuXHRcdDwvc3Bhbj5cclxuXHRcdDxzcGFuIGNsYXNzPVwicy1zdHItaXRlbS12YWx1ZSBweC0xXCI+e3sgc2VhcmNoU3RyKCkgfX08L3NwYW4+XHJcblx0PC9kaXY+XHJcbn1cclxuIl19