@huntsman-cancer-institute/input 16.0.1 → 17.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.
- package/date/date-base.d.ts +65 -65
- package/date/date-date-range.component.d.ts +32 -32
- package/date/date-date.component.d.ts +53 -53
- package/date/date-validator.d.ts +17 -17
- package/date/date.module.d.ts +16 -16
- package/dropdown/dropdown-index.d.ts +6 -6
- package/dropdown/dropdown-select-result.component.d.ts +23 -23
- package/dropdown/dropdown-select.component.d.ts +76 -76
- package/dropdown/dropdown.component.d.ts +40 -40
- package/dropdown/dropdown.module.d.ts +13 -13
- package/dropdown/dropdown.service.d.ts +51 -51
- package/dropdown/messages.d.ts +11 -11
- package/dropdown/select-item.d.ts +16 -16
- package/dropdown/template-dropdown.directive.d.ts +12 -12
- package/esm2022/date/date-base.mjs +114 -114
- package/esm2022/date/date-date-range.component.mjs +92 -92
- package/esm2022/date/date-date.component.mjs +189 -189
- package/esm2022/date/date-validator.mjs +40 -40
- package/esm2022/date/date.module.mjs +60 -60
- package/esm2022/dropdown/dropdown-index.mjs +5 -5
- package/esm2022/dropdown/dropdown-select-result.component.mjs +85 -85
- package/esm2022/dropdown/dropdown-select.component.mjs +360 -360
- package/esm2022/dropdown/dropdown.component.mjs +170 -170
- package/esm2022/dropdown/dropdown.module.mjs +50 -50
- package/esm2022/dropdown/dropdown.service.mjs +133 -133
- package/esm2022/dropdown/messages.mjs +9 -9
- package/esm2022/dropdown/select-item.mjs +11 -11
- package/esm2022/dropdown/template-dropdown.directive.mjs +26 -26
- package/esm2022/huntsman-cancer-institute-input.mjs +4 -4
- package/esm2022/index.mjs +19 -19
- package/esm2022/inline/inline.component.mjs +179 -179
- package/esm2022/inline/inline.module.mjs +28 -28
- package/esm2022/search/search.component.mjs +157 -157
- package/esm2022/search/search.module.mjs +32 -32
- package/esm2022/select/custom-combobox.component.mjs +531 -531
- package/esm2022/select/custom-multi-combobox.component.mjs +232 -232
- package/esm2022/select/md-multi-select.component.mjs +127 -127
- package/esm2022/select/md-select.component.mjs +107 -107
- package/esm2022/select/native-select.component.mjs +188 -188
- package/esm2022/select/select.module.mjs +83 -83
- package/fesm2022/huntsman-cancer-institute-input.mjs +2797 -2797
- package/fesm2022/huntsman-cancer-institute-input.mjs.map +1 -1
- package/index.d.ts +20 -20
- package/inline/inline.component.d.ts +66 -66
- package/inline/inline.module.d.ts +9 -9
- package/package.json +7 -7
- package/search/search.component.d.ts +42 -42
- package/search/search.module.d.ts +10 -10
- package/select/custom-combobox.component.d.ts +98 -98
- package/select/custom-multi-combobox.component.d.ts +50 -50
- package/select/md-multi-select.component.d.ts +32 -32
- package/select/md-select.component.d.ts +30 -30
- package/select/native-select.component.d.ts +37 -37
- package/select/select.module.d.ts +21 -21
|
@@ -1,138 +1,138 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, EventEmitter, Input, isDevMode, Output, SimpleChange } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* I'm just screwing around with some ideas here, beware of actually using any of this code.
|
|
5
|
-
*/
|
|
6
|
-
export class SearchComponent {
|
|
7
|
-
constructor(changeDetectorRef) {
|
|
8
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
9
|
-
this.CHILD_NODE = "children";
|
|
10
|
-
this.dataFiltered = new EventEmitter();
|
|
11
|
-
}
|
|
12
|
-
ngAfterViewInit() {
|
|
13
|
-
if (isDevMode()) {
|
|
14
|
-
console.debug("SearchComponent.ngAfterViewInit");
|
|
15
|
-
}
|
|
16
|
-
setTimeout(() => {
|
|
17
|
-
if (this.anyComponent && this.data && this.input) {
|
|
18
|
-
let changes = {};
|
|
19
|
-
changes[this.input] = new SimpleChange([], this.data, false);
|
|
20
|
-
this.anyComponent.ngOnChanges(changes);
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
ngOnChanges(changes) {
|
|
25
|
-
if (isDevMode()) {
|
|
26
|
-
console.debug("SearchComponent.ngOnChanges");
|
|
27
|
-
}
|
|
28
|
-
if (changes.data && this.isArray === undefined) {
|
|
29
|
-
for (let item of this.data) {
|
|
30
|
-
if (item[this.CHILD_NODE]) {
|
|
31
|
-
this.isArray = false;
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* A tree or a grid? Who knows.
|
|
39
|
-
*
|
|
40
|
-
* @param {KeyboardEvent} event
|
|
41
|
-
*/
|
|
42
|
-
doSearch(searchBox) {
|
|
43
|
-
if (isDevMode()) {
|
|
44
|
-
console.debug("doSearch");
|
|
45
|
-
}
|
|
46
|
-
this.search = searchBox;
|
|
47
|
-
let filteredData = null;
|
|
48
|
-
if (this.isArray) {
|
|
49
|
-
console.debug("array option");
|
|
50
|
-
filteredData = this.filterArray(this.data);
|
|
51
|
-
}
|
|
52
|
-
else if (this.isIncludeChildren) {
|
|
53
|
-
console.debug("child option");
|
|
54
|
-
filteredData = this.filterTreeIncludeChildren(JSON.parse(JSON.stringify(this.data)));
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
console.debug("not child option");
|
|
58
|
-
filteredData = this.filterTree(JSON.parse(JSON.stringify(this.data)));
|
|
59
|
-
}
|
|
60
|
-
// This is what triggers the @Output
|
|
61
|
-
this.dataFiltered.emit(filteredData);
|
|
62
|
-
if (this.anyComponent) {
|
|
63
|
-
let changes = {};
|
|
64
|
-
changes[this.input] = new SimpleChange(this.anyComponent[this.input], filteredData, false);
|
|
65
|
-
this.anyComponent.ngOnChanges(changes);
|
|
66
|
-
}
|
|
67
|
-
this.changeDetectorRef.detectChanges();
|
|
68
|
-
}
|
|
69
|
-
filterArray(data) {
|
|
70
|
-
if (isDevMode()) {
|
|
71
|
-
console.debug("filterArray");
|
|
72
|
-
}
|
|
73
|
-
return data.filter((o) => {
|
|
74
|
-
return (o["name"].indexOf(this.search) >= 0);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Recursive tree search. It will include parent nodes if a leaf node matches the search string.
|
|
79
|
-
*
|
|
80
|
-
* @param {any[]} data
|
|
81
|
-
* @returns {any[]}
|
|
82
|
-
*/
|
|
83
|
-
filterTree(data) {
|
|
84
|
-
if (isDevMode()) {
|
|
85
|
-
console.debug("filterTreeOrigional");
|
|
86
|
-
}
|
|
87
|
-
let filteredData = [];
|
|
88
|
-
for (let child of data) {
|
|
89
|
-
let pushed = false;
|
|
90
|
-
if (child["children"]) {
|
|
91
|
-
child["children"] = this.filterTree(child["children"]);
|
|
92
|
-
if (child["children"].length > 0) {
|
|
93
|
-
pushed = true;
|
|
94
|
-
filteredData.push(child);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
if (!pushed && child["name"].indexOf(this.search) >= 0) {
|
|
98
|
-
filteredData.push(child);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return filteredData;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Recursive tree search. It will include children nodes if a parent node matches the search string.
|
|
105
|
-
*
|
|
106
|
-
* @param {any[]} data
|
|
107
|
-
* @returns {any[]}
|
|
108
|
-
*/
|
|
109
|
-
filterTreeIncludeChildren(data) {
|
|
110
|
-
if (isDevMode()) {
|
|
111
|
-
console.debug("filterTreeIncludeChildren");
|
|
112
|
-
}
|
|
113
|
-
let filteredData = [];
|
|
114
|
-
for (let child of data) {
|
|
115
|
-
if (child["name"].indexOf(this.search) >= 0) {
|
|
116
|
-
filteredData.push(child);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
let pushed = false;
|
|
120
|
-
if (child["children"]) {
|
|
121
|
-
child["children"] = this.filterTreeIncludeChildren(child["children"]);
|
|
122
|
-
if (child["children"].length > 0) {
|
|
123
|
-
pushed = true;
|
|
124
|
-
filteredData.push(child);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
if (!pushed && child["name"].indexOf(this.search) >= 0) {
|
|
128
|
-
filteredData.push(child);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
return filteredData;
|
|
133
|
-
}
|
|
134
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1
|
+
import { ChangeDetectorRef, Component, EventEmitter, Input, isDevMode, Output, SimpleChange } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* I'm just screwing around with some ideas here, beware of actually using any of this code.
|
|
5
|
+
*/
|
|
6
|
+
export class SearchComponent {
|
|
7
|
+
constructor(changeDetectorRef) {
|
|
8
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
9
|
+
this.CHILD_NODE = "children";
|
|
10
|
+
this.dataFiltered = new EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
if (isDevMode()) {
|
|
14
|
+
console.debug("SearchComponent.ngAfterViewInit");
|
|
15
|
+
}
|
|
16
|
+
setTimeout(() => {
|
|
17
|
+
if (this.anyComponent && this.data && this.input) {
|
|
18
|
+
let changes = {};
|
|
19
|
+
changes[this.input] = new SimpleChange([], this.data, false);
|
|
20
|
+
this.anyComponent.ngOnChanges(changes);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
ngOnChanges(changes) {
|
|
25
|
+
if (isDevMode()) {
|
|
26
|
+
console.debug("SearchComponent.ngOnChanges");
|
|
27
|
+
}
|
|
28
|
+
if (changes.data && this.isArray === undefined) {
|
|
29
|
+
for (let item of this.data) {
|
|
30
|
+
if (item[this.CHILD_NODE]) {
|
|
31
|
+
this.isArray = false;
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A tree or a grid? Who knows.
|
|
39
|
+
*
|
|
40
|
+
* @param {KeyboardEvent} event
|
|
41
|
+
*/
|
|
42
|
+
doSearch(searchBox) {
|
|
43
|
+
if (isDevMode()) {
|
|
44
|
+
console.debug("doSearch");
|
|
45
|
+
}
|
|
46
|
+
this.search = searchBox;
|
|
47
|
+
let filteredData = null;
|
|
48
|
+
if (this.isArray) {
|
|
49
|
+
console.debug("array option");
|
|
50
|
+
filteredData = this.filterArray(this.data);
|
|
51
|
+
}
|
|
52
|
+
else if (this.isIncludeChildren) {
|
|
53
|
+
console.debug("child option");
|
|
54
|
+
filteredData = this.filterTreeIncludeChildren(JSON.parse(JSON.stringify(this.data)));
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
console.debug("not child option");
|
|
58
|
+
filteredData = this.filterTree(JSON.parse(JSON.stringify(this.data)));
|
|
59
|
+
}
|
|
60
|
+
// This is what triggers the @Output
|
|
61
|
+
this.dataFiltered.emit(filteredData);
|
|
62
|
+
if (this.anyComponent) {
|
|
63
|
+
let changes = {};
|
|
64
|
+
changes[this.input] = new SimpleChange(this.anyComponent[this.input], filteredData, false);
|
|
65
|
+
this.anyComponent.ngOnChanges(changes);
|
|
66
|
+
}
|
|
67
|
+
this.changeDetectorRef.detectChanges();
|
|
68
|
+
}
|
|
69
|
+
filterArray(data) {
|
|
70
|
+
if (isDevMode()) {
|
|
71
|
+
console.debug("filterArray");
|
|
72
|
+
}
|
|
73
|
+
return data.filter((o) => {
|
|
74
|
+
return (o["name"].indexOf(this.search) >= 0);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Recursive tree search. It will include parent nodes if a leaf node matches the search string.
|
|
79
|
+
*
|
|
80
|
+
* @param {any[]} data
|
|
81
|
+
* @returns {any[]}
|
|
82
|
+
*/
|
|
83
|
+
filterTree(data) {
|
|
84
|
+
if (isDevMode()) {
|
|
85
|
+
console.debug("filterTreeOrigional");
|
|
86
|
+
}
|
|
87
|
+
let filteredData = [];
|
|
88
|
+
for (let child of data) {
|
|
89
|
+
let pushed = false;
|
|
90
|
+
if (child["children"]) {
|
|
91
|
+
child["children"] = this.filterTree(child["children"]);
|
|
92
|
+
if (child["children"].length > 0) {
|
|
93
|
+
pushed = true;
|
|
94
|
+
filteredData.push(child);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (!pushed && child["name"].indexOf(this.search) >= 0) {
|
|
98
|
+
filteredData.push(child);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return filteredData;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Recursive tree search. It will include children nodes if a parent node matches the search string.
|
|
105
|
+
*
|
|
106
|
+
* @param {any[]} data
|
|
107
|
+
* @returns {any[]}
|
|
108
|
+
*/
|
|
109
|
+
filterTreeIncludeChildren(data) {
|
|
110
|
+
if (isDevMode()) {
|
|
111
|
+
console.debug("filterTreeIncludeChildren");
|
|
112
|
+
}
|
|
113
|
+
let filteredData = [];
|
|
114
|
+
for (let child of data) {
|
|
115
|
+
if (child["name"].indexOf(this.search) >= 0) {
|
|
116
|
+
filteredData.push(child);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
let pushed = false;
|
|
120
|
+
if (child["children"]) {
|
|
121
|
+
child["children"] = this.filterTreeIncludeChildren(child["children"]);
|
|
122
|
+
if (child["children"].length > 0) {
|
|
123
|
+
pushed = true;
|
|
124
|
+
filteredData.push(child);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (!pushed && child["name"].indexOf(this.search) >= 0) {
|
|
128
|
+
filteredData.push(child);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return filteredData;
|
|
133
|
+
}
|
|
134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SearchComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SearchComponent, selector: "hci-search", inputs: { isArray: "isArray", isIncludeChildren: "isIncludeChildren", anyComponent: "anyComponent", input: "input", data: "data" }, outputs: { dataFiltered: "dataFiltered" }, usesOnChanges: true, ngImport: i0, template: `
|
|
136
136
|
<div class="input-group ">
|
|
137
137
|
<input #searchBox type="text"
|
|
138
138
|
(keyup.enter)="doSearch(searchBox.value)"
|
|
@@ -145,12 +145,12 @@ export class SearchComponent {
|
|
|
145
145
|
</button>
|
|
146
146
|
</div>
|
|
147
147
|
</div>
|
|
148
|
-
`, isInline: true }); }
|
|
149
|
-
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
151
|
-
type: Component,
|
|
152
|
-
args: [{
|
|
153
|
-
selector: "hci-search",
|
|
148
|
+
`, isInline: true }); }
|
|
149
|
+
}
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SearchComponent, decorators: [{
|
|
151
|
+
type: Component,
|
|
152
|
+
args: [{
|
|
153
|
+
selector: "hci-search",
|
|
154
154
|
template: `
|
|
155
155
|
<div class="input-group ">
|
|
156
156
|
<input #searchBox type="text"
|
|
@@ -164,19 +164,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
164
164
|
</button>
|
|
165
165
|
</div>
|
|
166
166
|
</div>
|
|
167
|
-
`
|
|
168
|
-
}]
|
|
169
|
-
}], ctorParameters:
|
|
170
|
-
type: Input
|
|
171
|
-
}], isIncludeChildren: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], anyComponent: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], input: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], data: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], dataFiltered: [{
|
|
180
|
-
type: Output
|
|
181
|
-
}] } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0L3NyYy9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBRW5GLE1BQU0sZUFBZSxDQUFDOztBQUV2Qjs7R0FFRztBQWtCSCxNQUFNLE9BQU8sZUFBZTtJQWMxQixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVp4RCxlQUFVLEdBQVcsVUFBVSxDQUFDO1FBVXRCLGlCQUFZLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7SUFFYixDQUFDO0lBRTVELGVBQWU7UUFDYixJQUFJLFNBQVMsRUFBRSxFQUFFO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hELElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxTQUFTLEVBQUUsRUFBRTtZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMs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TSxHQUFHLElBQUksQ0FBQzt3QkFDZCxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMxQjtpQkFDRjtnQkFDRCxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDdEQsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDMUI7YUFDRjtTQUNGO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzsrR0EvSVUsZUFBZTttR0FBZixlQUFlLHNQQWZoQjs7Ozs7Ozs7Ozs7OztHQWFUOzs0RkFFVSxlQUFlO2tCQWpCM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBYVQ7aUJBQ0Y7d0dBTVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgaXNEZXZNb2RlLCBPdXRwdXQsIFNpbXBsZUNoYW5nZSxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKlxyXG4gKiBJJ20ganVzdCBzY3Jld2luZyBhcm91bmQgd2l0aCBzb21lIGlkZWFzIGhlcmUsIGJld2FyZSBvZiBhY3R1YWxseSB1c2luZyBhbnkgb2YgdGhpcyBjb2RlLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaGNpLXNlYXJjaFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgXCI+XHJcbiAgICAgIDxpbnB1dCAjc2VhcmNoQm94IHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJkb1NlYXJjaChzZWFyY2hCb3gudmFsdWUpXCJcclxuICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIGZvci4uLlwiXHJcbiAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIGZvciB0ZXh0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZG9TZWFyY2goc2VhcmNoQm94LnZhbHVlKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbXBvbmVudCB7XHJcblxyXG4gIENISUxEX05PREU6IHN0cmluZyA9IFwiY2hpbGRyZW5cIjtcclxuXHJcbiAgc2VhcmNoOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNBcnJheTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpc0luY2x1ZGVDaGlsZHJlbjogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgYW55Q29tcG9uZW50OiBhbnk7XHJcbiAgQElucHV0KCkgaW5wdXQ6IHN0cmluZztcclxuICBASW5wdXQoKSBkYXRhOiBhbnlbXTtcclxuXHJcbiAgQE91dHB1dCgpIGRhdGFGaWx0ZXJlZDogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcIlNlYXJjaENvbXBvbmVudC5uZ0FmdGVyVmlld0luaXRcIik7XHJcbiAgICB9XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuYW55Q29tcG9uZW50ICYmIHRoaXMuZGF0YSAmJiB0aGlzLmlucHV0KSB7XHJcbiAgICAgICAgbGV0IGNoYW5nZXMgPSB7fTtcclxuICAgICAgICBjaGFuZ2VzW3RoaXMuaW5wdXRdID0gbmV3IFNpbXBsZUNoYW5nZShbXSwgdGhpcy5kYXRhLCBmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5hbnlDb21wb25lbnQubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJTZWFyY2hDb21wb25lbnQubmdPbkNoYW5nZXNcIik7XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlcy5kYXRhICYmIHRoaXMuaXNBcnJheSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5kYXRhKSB7XHJcbiAgICAgICAgaWYgKGl0ZW1bdGhpcy5DSElMRF9OT0RFXSkge1xyXG4gICAgICAgICAgdGhpcy5pc0FycmF5ID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBIHRyZWUgb3IgYSBncmlkPyAgV2hvIGtub3dzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudFxyXG4gICAqL1xyXG4gIGRvU2VhcmNoKHNlYXJjaEJveDogc3RyaW5nKSB7XHJcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcImRvU2VhcmNoXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VhcmNoID0gc2VhcmNoQm94O1xyXG4gICAgbGV0IGZpbHRlcmVkRGF0YSA9IG51bGw7XHJcbiAgICBpZiAodGhpcy5pc0FycmF5KSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJhcnJheSBvcHRpb25cIik7XHJcbiAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyQXJyYXkodGhpcy5kYXRhKTtcclxuICAgIH0gZWxzZSBpZih0aGlzLmlzSW5jbHVkZUNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJjaGlsZCBvcHRpb25cIik7XHJcbiAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyVHJlZUluY2x1ZGVDaGlsZHJlbihKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YSkpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJub3QgY2hpbGQgb3B0aW9uXCIpO1xyXG4gICAgICBmaWx0ZXJlZERhdGEgPSB0aGlzLmZpbHRlclRyZWUoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGEpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhpcyBpcyB3aGF0IHRyaWdnZXJzIHRoZSBAT3V0cHV0XHJcbiAgICB0aGlzLmRhdGFGaWx0ZXJlZC5lbWl0KGZpbHRlcmVkRGF0YSk7XHJcblxyXG4gICAgaWYgKHRoaXMuYW55Q29tcG9uZW50KSB7XHJcbiAgICAgIGxldCBjaGFuZ2VzID0ge307XHJcbiAgICAgIGNoYW5nZXNbdGhpcy5pbnB1dF0gPSBuZXcgU2ltcGxlQ2hhbmdlKHRoaXMuYW55Q29tcG9uZW50W3RoaXMuaW5wdXRdLCBmaWx0ZXJlZERhdGEsIGZhbHNlKTtcclxuICAgICAgdGhpcy5hbnlDb21wb25lbnQubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJBcnJheShkYXRhOiBhbnlbXSk6IGFueVtdIHtcclxuICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICBjb25zb2xlLmRlYnVnKFwiZmlsdGVyQXJyYXlcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoKG86IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gKG9bXCJuYW1lXCJdLmluZGV4T2YodGhpcy5zZWFyY2gpID49IDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWN1cnNpdmUgdHJlZSBzZWFyY2guICBJdCB3aWxsIGluY2x1ZGUgcGFyZW50IG5vZGVzIGlmIGEgbGVhZiBub2RlIG1hdGNoZXMgdGhlIHNlYXJjaCBzdHJpbmcuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge2FueVtdfSBkYXRhXHJcbiAgICogQHJldHVybnMge2FueVtdfVxyXG4gICAqL1xyXG4gIGZpbHRlclRyZWUoZGF0YTogYW55W10pOiBhbnlbXSB7XHJcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcImZpbHRlclRyZWVPcmlnaW9uYWxcIik7XHJcbiAgICB9XHJcbiAgICBsZXQgZmlsdGVyZWREYXRhOiBhbnlbXSA9IFtdO1xyXG4gICAgZm9yIChsZXQgY2hpbGQgb2YgZGF0YSkge1xyXG4gICAgICBsZXQgcHVzaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgIGlmIChjaGlsZFtcImNoaWxkcmVuXCJdKSB7XHJcbiAgICAgICAgY2hpbGRbXCJjaGlsZHJlblwiXSA9IHRoaXMuZmlsdGVyVHJlZShjaGlsZFtcImNoaWxkcmVuXCJdKTtcclxuICAgICAgICBpZiAoY2hpbGRbXCJjaGlsZHJlblwiXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBwdXNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgZmlsdGVyZWREYXRhLnB1c2goY2hpbGQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIXB1c2hlZCAmJiBjaGlsZFtcIm5hbWVcIl0uaW5kZXhPZih0aGlzLnNlYXJjaCkgPj0gMCkge1xyXG4gICAgICAgIGZpbHRlcmVkRGF0YS5wdXNoKGNoaWxkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpbHRlcmVkRGF0YTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlY3Vyc2l2ZSB0cmVlIHNlYXJjaC4gIEl0IHdpbGwgaW5jbHVkZSBjaGlsZHJlbiBub2RlcyBpZiBhIHBhcmVudCBub2RlIG1hdGNoZXMgdGhlIHNlYXJjaCBzdHJpbmcuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge2FueVtdfSBkYXRhXHJcbiAgICogQHJldHVybnMge2FueVtdfVxyXG4gICAqL1xyXG4gIGZpbHRlclRyZWVJbmNsdWRlQ2hpbGRyZW4oZGF0YTogYW55W10pOiBhbnlbXSB7XHJcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcImZpbHRlclRyZWVJbmNsdWRlQ2hpbGRyZW5cIik7XHJcbiAgICB9XHJcbiAgICBsZXQgZmlsdGVyZWREYXRhOiBhbnlbXSA9IFtdO1xyXG4gICAgZm9yIChsZXQgY2hpbGQgb2YgZGF0YSkge1xyXG4gICAgICBpZiAoY2hpbGRbXCJuYW1lXCJdLmluZGV4T2YodGhpcy5zZWFyY2gpID49IDApIHtcclxuICAgICAgICBmaWx0ZXJlZERhdGEucHVzaChjaGlsZCk7XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICBsZXQgcHVzaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKGNoaWxkW1wiY2hpbGRyZW5cIl0pIHtcclxuICAgICAgICAgIGNoaWxkW1wiY2hpbGRyZW5cIl0gPSB0aGlzLmZpbHRlclRyZWVJbmNsdWRlQ2hpbGRyZW4oY2hpbGRbXCJjaGlsZHJlblwiXSk7XHJcbiAgICAgICAgICBpZiAoY2hpbGRbXCJjaGlsZHJlblwiXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHB1c2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGZpbHRlcmVkRGF0YS5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFwdXNoZWQgJiYgY2hpbGRbXCJuYW1lXCJdLmluZGV4T2YodGhpcy5zZWFyY2gpID49IDApIHtcclxuICAgICAgICAgIGZpbHRlcmVkRGF0YS5wdXNoKGNoaWxkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJlZERhdGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
167
|
+
`
|
|
168
|
+
}]
|
|
169
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { isArray: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], isIncludeChildren: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], anyComponent: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], input: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], data: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], dataFiltered: [{
|
|
180
|
+
type: Output
|
|
181
|
+
}] } });
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0L3NyYy9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBRW5GLE1BQU0sZUFBZSxDQUFDOztBQUV2Qjs7R0FFRztBQWtCSCxNQUFNLE9BQU8sZUFBZTtJQWMxQixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVp4RCxlQUFVLEdBQVcsVUFBVSxDQUFDO1FBVXRCLGlCQUFZLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7SUFFYixDQUFDO0lBRTVELGVBQWU7UUFDYixJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNqRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0MsS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzNCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsT0FBTztnQkFDVCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxTQUFpQjtRQUN4QixJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDeEIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUIsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxJQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUIsWUFBWSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNsQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzRixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBVztRQUNyQixJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDNUIsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLElBQVc7UUFDcEIsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxZQUFZLEdBQVUsRUFBRSxDQUFDO1FBQzdCLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsSUFBSSxNQUFNLEdBQVksS0FBSyxDQUFDO1lBQzVCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ2pDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ2QsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN2RCxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gseUJBQXlCLENBQUMsSUFBVztRQUNuQyxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxJQUFJLFlBQVksR0FBVSxFQUFFLENBQUM7UUFDN0IsS0FBSyxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUM7aUJBQUssQ0FBQztnQkFDTCxJQUFJLE1BQU0sR0FBWSxLQUFLLENBQUM7Z0JBQzVCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7b0JBQ3RCLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7b0JBQ3RFLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDakMsTUFBTSxHQUFHLElBQUksQ0FBQzt3QkFDZCxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUMzQixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDdkQsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs4R0EvSVUsZUFBZTtrR0FBZixlQUFlLHNQQWZoQjs7Ozs7Ozs7Ozs7OztHQWFUOzsyRkFFVSxlQUFlO2tCQWpCM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBYVQ7aUJBQ0Y7c0ZBTVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgaXNEZXZNb2RlLCBPdXRwdXQsIFNpbXBsZUNoYW5nZSxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKlxyXG4gKiBJJ20ganVzdCBzY3Jld2luZyBhcm91bmQgd2l0aCBzb21lIGlkZWFzIGhlcmUsIGJld2FyZSBvZiBhY3R1YWxseSB1c2luZyBhbnkgb2YgdGhpcyBjb2RlLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaGNpLXNlYXJjaFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgXCI+XHJcbiAgICAgIDxpbnB1dCAjc2VhcmNoQm94IHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJkb1NlYXJjaChzZWFyY2hCb3gudmFsdWUpXCJcclxuICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIGZvci4uLlwiXHJcbiAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIGZvciB0ZXh0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZG9TZWFyY2goc2VhcmNoQm94LnZhbHVlKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtc2VhcmNoXCI+PC9pPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbXBvbmVudCB7XHJcblxyXG4gIENISUxEX05PREU6IHN0cmluZyA9IFwiY2hpbGRyZW5cIjtcclxuXHJcbiAgc2VhcmNoOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNBcnJheTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpc0luY2x1ZGVDaGlsZHJlbjogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgYW55Q29tcG9uZW50OiBhbnk7XHJcbiAgQElucHV0KCkgaW5wdXQ6IHN0cmluZztcclxuICBASW5wdXQoKSBkYXRhOiBhbnlbXTtcclxuXHJcbiAgQE91dHB1dCgpIGRhdGFGaWx0ZXJlZDogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcIlNlYXJjaENvbXBvbmVudC5uZ0FmdGVyVmlld0luaXRcIik7XHJcbiAgICB9XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuYW55Q29tcG9uZW50ICYmIHRoaXMuZGF0YSAmJiB0aGlzLmlucHV0KSB7XHJcbiAgICAgICAgbGV0IGNoYW5nZXMgPSB7fTtcclxuICAgICAgICBjaGFuZ2VzW3RoaXMuaW5wdXRdID0gbmV3IFNpbXBsZUNoYW5nZShbXSwgdGhpcy5kYXRhLCBmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5hbnlDb21wb25lbnQubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJTZWFyY2hDb21wb25lbnQubmdPbkNoYW5nZXNcIik7XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlcy5kYXRhICYmIHRoaXMuaXNBcnJheSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5kYXRhKSB7XHJcbiAgICAgICAgaWYgKGl0ZW1bdGhpcy5DSElMRF9OT0RFXSkge1xyXG4gICAgICAgICAgdGhpcy5pc0FycmF5ID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBIHRyZWUgb3IgYSBncmlkPyAgV2hvIGtub3dzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudFxyXG4gICAqL1xyXG4gIGRvU2VhcmNoKHNlYXJjaEJveDogc3RyaW5nKSB7XHJcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcImRvU2VhcmNoXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VhcmNoID0gc2VhcmNoQm94O1xyXG4gICAgbGV0IGZpbHRlcmVkRGF0YSA9IG51bGw7XHJcbiAgICBpZiAodGhpcy5pc0FycmF5KSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJhcnJheSBvcHRpb25cIik7XHJcbiAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyQXJyYXkodGhpcy5kYXRhKTtcclxuICAgIH0gZWxzZSBpZih0aGlzLmlzSW5jbHVkZUNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJjaGlsZCBvcHRpb25cIik7XHJcbiAgICAgIGZpbHRlcmVkRGF0YSA9IHRoaXMuZmlsdGVyVHJlZUluY2x1ZGVDaGlsZHJlbihKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YSkpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJub3QgY2hpbGQgb3B0aW9uXCIpO1xyXG4gICAgICBmaWx0ZXJlZERhdGEgPSB0aGlzLmZpbHRlclRyZWUoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGEpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhpcyBpcyB3aGF0IHRyaWdnZXJzIHRoZSBAT3V0cHV0XHJcbiAgICB0aGlzLmRhdGFGaWx0ZXJlZC5lbWl0KGZpbHRlcmVkRGF0YSk7XHJcblxyXG4gICAgaWYgKHRoaXMuYW55Q29tcG9uZW50KSB7XHJcbiAgICAgIGxldCBjaGFuZ2VzID0ge307XHJcbiAgICAgIGNoYW5nZXNbdGhpcy5pbnB1dF0gPSBuZXcgU2ltcGxlQ2hhbmdlKHRoaXMuYW55Q29tcG9uZW50W3RoaXMuaW5wdXRdLCBmaWx0ZXJlZERhdGEsIGZhbHNlKTtcclxuICAgICAgdGhpcy5hbnlDb21wb25lbnQubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJBcnJheShkYXRhOiBhbnlbXSk6IGFueVtdIHtcclxuICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICBjb25zb2xlLmRlYnVnKFwiZmlsdGVyQXJyYXlcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoKG86IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gKG9bXCJuYW1lXCJdLmluZGV4T2YodGhpcy5zZWFyY2gpID49IDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWN1cnNpdmUgdHJlZSBzZWFyY2guICBJdCB3aWxsIGluY2x1ZGUgcGFyZW50IG5vZGVzIGlmIGEgbGVhZiBub2RlIG1hdGNoZXMgdGhlIHNlYXJjaCBzdHJpbmcuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge2FueVtdfSBkYXRhXHJcbiAgICogQHJldHVybnMge2FueVtdfVxyXG4gICAqL1xyXG4gIGZpbHRlclRyZWUoZGF0YTogYW55W10pOiBhbnlbXSB7XHJcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcImZpbHRlclRyZWVPcmlnaW9uYWxcIik7XHJcbiAgICB9XHJcbiAgICBsZXQgZmlsdGVyZWREYXRhOiBhbnlbXSA9IFtdO1xyXG4gICAgZm9yIChsZXQgY2hpbGQgb2YgZGF0YSkge1xyXG4gICAgICBsZXQgcHVzaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgIGlmIChjaGlsZFtcImNoaWxkcmVuXCJdKSB7XHJcbiAgICAgICAgY2hpbGRbXCJjaGlsZHJlblwiXSA9IHRoaXMuZmlsdGVyVHJlZShjaGlsZFtcImNoaWxkcmVuXCJdKTtcclxuICAgICAgICBpZiAoY2hpbGRbXCJjaGlsZHJlblwiXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBwdXNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgZmlsdGVyZWREYXRhLnB1c2goY2hpbGQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIXB1c2hlZCAmJiBjaGlsZFtcIm5hbWVcIl0uaW5kZXhPZih0aGlzLnNlYXJjaCkgPj0gMCkge1xyXG4gICAgICAgIGZpbHRlcmVkRGF0YS5wdXNoKGNoaWxkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpbHRlcmVkRGF0YTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlY3Vyc2l2ZSB0cmVlIHNlYXJjaC4gIEl0IHdpbGwgaW5jbHVkZSBjaGlsZHJlbiBub2RlcyBpZiBhIHBhcmVudCBub2RlIG1hdGNoZXMgdGhlIHNlYXJjaCBzdHJpbmcuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge2FueVtdfSBkYXRhXHJcbiAgICogQHJldHVybnMge2FueVtdfVxyXG4gICAqL1xyXG4gIGZpbHRlclRyZWVJbmNsdWRlQ2hpbGRyZW4oZGF0YTogYW55W10pOiBhbnlbXSB7XHJcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcImZpbHRlclRyZWVJbmNsdWRlQ2hpbGRyZW5cIik7XHJcbiAgICB9XHJcbiAgICBsZXQgZmlsdGVyZWREYXRhOiBhbnlbXSA9IFtdO1xyXG4gICAgZm9yIChsZXQgY2hpbGQgb2YgZGF0YSkge1xyXG4gICAgICBpZiAoY2hpbGRbXCJuYW1lXCJdLmluZGV4T2YodGhpcy5zZWFyY2gpID49IDApIHtcclxuICAgICAgICBmaWx0ZXJlZERhdGEucHVzaChjaGlsZCk7XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICBsZXQgcHVzaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKGNoaWxkW1wiY2hpbGRyZW5cIl0pIHtcclxuICAgICAgICAgIGNoaWxkW1wiY2hpbGRyZW5cIl0gPSB0aGlzLmZpbHRlclRyZWVJbmNsdWRlQ2hpbGRyZW4oY2hpbGRbXCJjaGlsZHJlblwiXSk7XHJcbiAgICAgICAgICBpZiAoY2hpbGRbXCJjaGlsZHJlblwiXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHB1c2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGZpbHRlcmVkRGF0YS5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFwdXNoZWQgJiYgY2hpbGRbXCJuYW1lXCJdLmluZGV4T2YodGhpcy5zZWFyY2gpID49IDApIHtcclxuICAgICAgICAgIGZpbHRlcmVkRGF0YS5wdXNoKGNoaWxkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJlZERhdGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import { CommonModule } from "@angular/common";
|
|
3
|
-
import { FormsModule } from "@angular/forms";
|
|
4
|
-
import { NgbModule } from "@ng-bootstrap/ng-bootstrap";
|
|
5
|
-
import { SearchComponent } from "./search.component";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class SearchModule {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
10
|
-
FormsModule,
|
|
11
|
-
NgbModule], exports: [SearchComponent] }); }
|
|
12
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
13
|
-
FormsModule,
|
|
14
|
-
NgbModule] }); }
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
17
|
-
type: NgModule,
|
|
18
|
-
args: [{
|
|
19
|
-
imports: [
|
|
20
|
-
CommonModule,
|
|
21
|
-
FormsModule,
|
|
22
|
-
NgbModule
|
|
23
|
-
],
|
|
24
|
-
declarations: [
|
|
25
|
-
SearchComponent
|
|
26
|
-
],
|
|
27
|
-
exports: [
|
|
28
|
-
SearchComponent
|
|
29
|
-
]
|
|
30
|
-
}]
|
|
31
|
-
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { FormsModule } from "@angular/forms";
|
|
4
|
+
import { NgbModule } from "@ng-bootstrap/ng-bootstrap";
|
|
5
|
+
import { SearchComponent } from "./search.component";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class SearchModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: SearchModule, declarations: [SearchComponent], imports: [CommonModule,
|
|
10
|
+
FormsModule,
|
|
11
|
+
NgbModule], exports: [SearchComponent] }); }
|
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SearchModule, imports: [CommonModule,
|
|
13
|
+
FormsModule,
|
|
14
|
+
NgbModule] }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SearchModule, decorators: [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
imports: [
|
|
20
|
+
CommonModule,
|
|
21
|
+
FormsModule,
|
|
22
|
+
NgbModule
|
|
23
|
+
],
|
|
24
|
+
declarations: [
|
|
25
|
+
SearchComponent
|
|
26
|
+
],
|
|
27
|
+
exports: [
|
|
28
|
+
SearchComponent
|
|
29
|
+
]
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0L3NyYy9zZWFyY2gvc2VhcmNoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXJELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUFnQm5ELE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxpQkFOckIsZUFBZSxhQUxmLFlBQVk7WUFDWixXQUFXO1lBQ1gsU0FBUyxhQU1ULGVBQWU7K0dBR04sWUFBWSxZQVhyQixZQUFZO1lBQ1osV0FBVztZQUNYLFNBQVM7OzJGQVNBLFlBQVk7a0JBYnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxTQUFTO3FCQUNWO29CQUNELFlBQVksRUFBRTt3QkFDWixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTtxQkFDaEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7TmdiTW9kdWxlfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuXHJcbmltcG9ydCB7U2VhcmNoQ29tcG9uZW50fSBmcm9tIFwiLi9zZWFyY2guY29tcG9uZW50XCI7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE5nYk1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZWFyY2hDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNlYXJjaENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaE1vZHVsZSB7fVxyXG4iXX0=
|