nira-falcon 0.1.74 → 1.0.2
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.
|
@@ -22,8 +22,11 @@ export class CoreSelectSearchComponent {
|
|
|
22
22
|
this.newItems = [];
|
|
23
23
|
this.isOpenMenu = false;
|
|
24
24
|
this._items = [];
|
|
25
|
+
this.keys = [];
|
|
25
26
|
this.searchText = '';
|
|
26
27
|
this.size = 'small';
|
|
28
|
+
this.searchKeys = '';
|
|
29
|
+
this.canAddValueKeyAndTitleKeyInSearchKeys = true;
|
|
27
30
|
this.canHighlightBackground = false;
|
|
28
31
|
this.label = '';
|
|
29
32
|
this.disabled = false;
|
|
@@ -34,27 +37,49 @@ export class CoreSelectSearchComponent {
|
|
|
34
37
|
init() {
|
|
35
38
|
this.titleKeyObject = this.titleKey;
|
|
36
39
|
this.valueKeyObject = this.valueKey;
|
|
40
|
+
console.log('titleKeyObject', this.titleKeyObject);
|
|
41
|
+
console.log('valueKeyObject', this.valueKeyObject);
|
|
37
42
|
this.newItems = this.changeItemsType(this._items);
|
|
38
43
|
this.inputFormControl.setValue(this._defaultValue);
|
|
39
44
|
this.onItemSelect(this.newItems.find((item) => item.value == this._defaultValue), false);
|
|
40
45
|
this.changeSearchText();
|
|
41
46
|
}
|
|
42
47
|
ngOnInit() {
|
|
48
|
+
this.keys = this.searchKeys.split(',');
|
|
43
49
|
this.init();
|
|
44
50
|
this.changeSearchText();
|
|
45
51
|
}
|
|
46
52
|
changeItemsType(items) {
|
|
47
53
|
return items.map((item) => {
|
|
48
|
-
|
|
54
|
+
let result = {
|
|
49
55
|
title: item[this.titleKeyObject],
|
|
50
56
|
value: item[this.valueKeyObject],
|
|
51
57
|
};
|
|
58
|
+
this.keys.forEach((key) => {
|
|
59
|
+
result[key] = item[key];
|
|
60
|
+
});
|
|
61
|
+
return result;
|
|
52
62
|
});
|
|
53
63
|
}
|
|
54
64
|
async changeSearchText() {
|
|
55
65
|
if (this.searchText.length > 0) {
|
|
56
|
-
this.filteredItems.next(this.newItems.filter((item) =>
|
|
57
|
-
|
|
66
|
+
this.filteredItems.next(this.newItems.filter((item) => {
|
|
67
|
+
let isMach = false;
|
|
68
|
+
if (this.canAddValueKeyAndTitleKeyInSearchKeys &&
|
|
69
|
+
(item.title.includes(this.searchText) ||
|
|
70
|
+
item.value.toLowerCase().includes(this.searchText.toLowerCase()))) {
|
|
71
|
+
isMach = true;
|
|
72
|
+
}
|
|
73
|
+
this.keys.forEach((key) => {
|
|
74
|
+
if (item[key]
|
|
75
|
+
.toString()
|
|
76
|
+
.toLowerCase()
|
|
77
|
+
.includes(this.searchText.toLowerCase())) {
|
|
78
|
+
isMach = true;
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
return isMach;
|
|
82
|
+
}));
|
|
58
83
|
}
|
|
59
84
|
else {
|
|
60
85
|
this.filteredItems.next(this.newItems);
|
|
@@ -92,7 +117,7 @@ export class CoreSelectSearchComponent {
|
|
|
92
117
|
this.changeSearchText();
|
|
93
118
|
}
|
|
94
119
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreSelectSearchComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
95
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreSelectSearchComponent, selector: "core-select-search", inputs: { titleKey: "titleKey", valueKey: "valueKey", size: "size", canHighlightBackground: "canHighlightBackground", items: "items", defaultValue: "defaultValue", label: "label", disabled: "disabled", inputFormControl: "inputFormControl" }, outputs: { onItemSelected: "onItemSelected" }, ngImport: i0, template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open-no-data': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">\u0645\u0648\u0631\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F</b>\r\n </div>\r\n <ul\r\n class=\"menu\"\r\n *ngIf=\"newItems.length > 0\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <div\r\n *ngIf=\"newItems.length > 4\"\r\n class=\"grid grid-cols-12 h-11 items-center pe-5 ps-5 bg-white shadow-md\"\r\n >\r\n <input\r\n placeholder=\"\u062C\u0633\u062A\u062C\u0648 \"\r\n class=\"col-span-11 bg-transparent focus:outline-none min-h-9\"\r\n [(ngModel)]=\"searchText\"\r\n (keyup)=\"changeSearchText()\"\r\n />\r\n <span class=\"md:h-7 flex justify-center\">\r\n <search-icon\r\n class=\"transform scale-x-[-1] fill-icon-color hover:fill-primary-color hover:cursor-pointer\"\r\n >\r\n </search-icon\r\n ></span>\r\n </div>\r\n <li\r\n *ngFor=\"let item of filteredItems | async\"\r\n [ngClass]=\"{ active: item.value === selectedItem.value }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu-open-no-data{display:flex!important;opacity:1}.dropdown .no-data{display:none;justify-content:center;align-items:center;font-size:small;flex-direction:column;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);transition:0,2s;z-index:10;height:120px;overflow:auto}.dropdown .no-data .icon-color{fill:var(--default-table-warning-icon-color)}.dropdown .no-data .content{color:var(--default-table-warning-color)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6;box-shadow:0 1px 2px #00000021,0 4px 4px #0000001a}.dropdown .menu .active{background:#ced4da!important}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i3.SearchIconComponent, selector: "search-icon" }, { kind: "component", type: i4.WarningIconComponent, selector: "warning-icon" }, { kind: "component", type: i5.ArrowDownIconComponent, selector: "arrow-down-icon" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
|
|
120
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreSelectSearchComponent, selector: "core-select-search", inputs: { titleKey: "titleKey", valueKey: "valueKey", size: "size", searchKeys: "searchKeys", canAddValueKeyAndTitleKeyInSearchKeys: "canAddValueKeyAndTitleKeyInSearchKeys", canHighlightBackground: "canHighlightBackground", items: "items", defaultValue: "defaultValue", label: "label", disabled: "disabled", inputFormControl: "inputFormControl" }, outputs: { onItemSelected: "onItemSelected" }, ngImport: i0, template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open-no-data': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">\u0645\u0648\u0631\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F</b>\r\n </div>\r\n <ul\r\n class=\"menu\"\r\n *ngIf=\"newItems.length > 0\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <div\r\n *ngIf=\"newItems.length > 4\"\r\n class=\"grid grid-cols-12 h-11 items-center pe-5 ps-5 bg-white shadow-md\"\r\n >\r\n <input\r\n placeholder=\"\u062C\u0633\u062A\u062C\u0648 \"\r\n class=\"col-span-11 bg-transparent focus:outline-none min-h-9\"\r\n [(ngModel)]=\"searchText\"\r\n (keyup)=\"changeSearchText()\"\r\n />\r\n <span class=\"md:h-7 flex justify-center\">\r\n <search-icon\r\n class=\"transform scale-x-[-1] fill-icon-color hover:fill-primary-color hover:cursor-pointer\"\r\n >\r\n </search-icon\r\n ></span>\r\n </div>\r\n <li\r\n *ngFor=\"let item of filteredItems | async\"\r\n [ngClass]=\"{ active: item.value === selectedItem.value }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu-open-no-data{display:flex!important;opacity:1}.dropdown .no-data{display:none;justify-content:center;align-items:center;font-size:small;flex-direction:column;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);transition:0,2s;z-index:10;height:120px;overflow:auto}.dropdown .no-data .icon-color{fill:var(--default-table-warning-icon-color)}.dropdown .no-data .content{color:var(--default-table-warning-color)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6;box-shadow:0 1px 2px #00000021,0 4px 4px #0000001a}.dropdown .menu .active{background:#ced4da!important}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i3.SearchIconComponent, selector: "search-icon" }, { kind: "component", type: i4.WarningIconComponent, selector: "warning-icon" }, { kind: "component", type: i5.ArrowDownIconComponent, selector: "arrow-down-icon" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
|
|
96
121
|
}
|
|
97
122
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreSelectSearchComponent, decorators: [{
|
|
98
123
|
type: Component,
|
|
@@ -103,6 +128,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
103
128
|
type: Input
|
|
104
129
|
}], size: [{
|
|
105
130
|
type: Input
|
|
131
|
+
}], searchKeys: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], canAddValueKeyAndTitleKeyInSearchKeys: [{
|
|
134
|
+
type: Input
|
|
106
135
|
}], canHighlightBackground: [{
|
|
107
136
|
type: Input
|
|
108
137
|
}], items: [{
|
|
@@ -118,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
118
147
|
}], inputFormControl: [{
|
|
119
148
|
type: Input
|
|
120
149
|
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXNlbGVjdC1zZWFyY2gvY29yZS1zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXNlbGVjdC1zZWFyY2gvY29yZS1zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFRdkMsTUFBTSxPQUFPLHlCQUF5QjtJQWFwQyxJQUFhLEtBQUssQ0FBQyxJQUFTO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFhLFlBQVksQ0FBQyxJQUFPO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFPRCxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBMUIxQyxpQkFBWSxHQUFnQixFQUFpQixDQUFDO1FBRzlDLGFBQVEsR0FBa0IsRUFBRSxDQUFDO1FBQzdCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUNqQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBSVAsU0FBSSxHQUFXLE9BQU8sQ0FBQztRQUN2QiwyQkFB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dGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAnLi4vZmFsY29uVHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb3JlLXNlbGVjdC1zZWFyY2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXNlbGVjdC1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcmUtc2VsZWN0LXNlYXJjaC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVNlbGVjdFNlYXJjaENvbXBvbmVudDxUPiB7XHJcbiAgc2VsZWN0ZWRJdGVtOiBNZW51SXRlbTxUPiA9IHt9IGFzIE1lbnVJdGVtPFQ+O1xyXG4gIHRpdGxlS2V5T2JqZWN0IToga2V5b2Ygc3RyaW5nIHwgbnVtYmVyO1xyXG4gIHZhbHVlS2V5T2JqZWN0IToga2V5b2Ygc3RyaW5nIHwgbnVtYmVyO1xyXG4gIG5ld0l0ZW1zOiBNZW51SXRlbTxUPltdID0gW107XHJcbiAgaXNPcGVuTWVudSA9IGZhbHNlO1xyXG4gIF9pdGVtczogYW55ID0gW107XHJcbiAgc2VhcmNoVGV4dCA9ICcnO1xyXG4gIF9kZWZhdWx0VmFsdWUhOiBUO1xyXG4gIEBJbnB1dCgpIHRpdGxlS2V5ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHZhbHVlS2V5ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNpemU6IHN0cmluZyA9ICdzbWFsbCc7XHJcbiAgQElucHV0KCkgY2FuSGlnaGxpZ2h0QmFja2dyb3VuZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCBpdGVtcyhkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuX2l0ZW1zID0gZGF0YTtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuICBASW5wdXQoKSBzZXQgZGVmYXVsdFZhbHVlKGRhdGE6IFQpIHtcclxuICAgIHRoaXMuX2RlZmF1bHRWYWx1ZSA9IGRhdGE7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIG9uSXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgaW5wdXRGb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFtdKTtcclxuICBmaWx0ZXJlZEl0ZW1zOiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIGluaXQoKSB7XHJcbiAgICB0eXBlIE9iamVjdEtleSA9ICh0eXBlb2YgdGhpcy5faXRlbXMpWzBdO1xyXG4gICAgdGhpcy50aXRsZUtleU9iamVjdCA9IHRoaXMudGl0bGVLZXkgYXMgT2JqZWN0S2V5O1xyXG4gICAgdGhpcy52YWx1ZUtleU9iamVjdCA9IHRoaXMudmFsdWVLZXkgYXMgT2JqZWN0S2V5O1xyXG4gICAgdGhpcy5uZXdJdGVtcyA9IHRoaXMuY2hhbmdlSXRlbXNUeXBlKHRoaXMuX2l0ZW1zKTtcclxuICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLl9kZWZhdWx0VmFsdWUpO1xyXG4gICAgdGhpcy5vbkl0ZW1TZWxlY3QoXHJcbiAgICAgIHRoaXMubmV3SXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PSB0aGlzLl9kZWZhdWx0VmFsdWUpLFxyXG4gICAgICBmYWxzZVxyXG4gICAgKTtcclxuICAgIHRoaXMuY2hhbmdlU2VhcmNoVGV4dCgpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgdGhpcy5jaGFuZ2VTZWFyY2hUZXh0KCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VJdGVtc1R5cGUoaXRlbXM6IGFueVtdKTogTWVudUl0ZW08VD5bXSB7XHJcbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgdGl0bGU6IGl0ZW1bdGhpcy50aXRsZUtleU9iamVjdF0sXHJcbiAgICAgICAgdmFsdWU6IGl0ZW1bdGhpcy52YWx1ZUtleU9iamVjdF0sXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9XHJcbiAgYXN5bmMgY2hhbmdlU2VhcmNoVGV4dCgpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFRleHQubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMubmV4dChcclxuICAgICAgICB0aGlzLm5ld0l0ZW1zLmZpbHRlcihcclxuICAgICAgICAgIChpdGVtOiBhbnkpID0+XHJcbiAgICAgICAgICAgIGl0ZW0udGl0bGUuaW5jbHVkZXModGhpcy5zZWFyY2hUZXh0KSB8fFxyXG4gICAgICAgICAgICBpdGVtLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zLm5leHQodGhpcy5uZXdJdGVtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5NZW51Q2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5pc09wZW5NZW51ID0gIXRoaXMuaXNPcGVuTWVudTtcclxuICB9XHJcblxyXG4gIG9uSXRlbVNlbGVjdChzZWxlY3RlZEl0ZW06IE1lbnVJdGVtPFQ+IHwgdW5kZWZpbmVkLCBpc0Zyb21VaTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKGlzRnJvbVVpKSB0aGlzLmlucHV0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgdGhpcy5pc09wZW5NZW51ID0gZmFsc2U7XHJcbiAgICBpZiAoIXNlbGVjdGVkSXRlbSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHt9IGFzIE1lbnVJdGVtPFQ+O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHNlbGVjdGVkSXRlbTtcclxuICAgIGNvbnN0IG1haW5JdGVtID0gdGhpcy5faXRlbXMuZmluZChcclxuICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbVt0aGlzLnZhbHVlS2V5T2JqZWN0XSA9PT0gc2VsZWN0ZWRJdGVtLnZhbHVlXHJcbiAgICApO1xyXG4gICAgdGhpcy5pbnB1dEZvcm1Db250cm9sLnNldFZhbHVlKHNlbGVjdGVkSXRlbS52YWx1ZSk7XHJcbiAgICB0aGlzLmNsZWFyVGV4dCgpO1xyXG4gICAgdGhpcy5vbkl0ZW1TZWxlY3RlZC5lbWl0KG1haW5JdGVtKTtcclxuICB9XHJcbiAgZm9jdXNPdXQoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcclxuICAgICAgdGhpcy5pc09wZW5NZW51ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIHRoaXMuY2xlYXJUZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNsZWFyVGV4dCgpIHtcclxuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xyXG4gICAgdGhpcy5jaGFuZ2VTZWFyY2hUZXh0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgdGFiaW5kZXg9XCItMVwiIGNsYXNzPVwiZHJvcGRvd25cIiAoZm9jdXNvdXQpPVwiZm9jdXNPdXQoJGV2ZW50KVwiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwic2VsZWN0XCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ3NlbGVjdC1jbGlja2VkJzogaXNPcGVuTWVudSxcclxuICAgICAgJ2hpZ2hsaWdodC1iYWNrZ3JvdW5kJzpcclxuICAgICAgICBjYW5IaWdobGlnaHRCYWNrZ3JvdW5kICYmXHJcbiAgICAgICAgKHNlbGVjdGVkSXRlbSB8IGpzb24pID09PSAoe30gfCBqc29uKSAmJlxyXG4gICAgICAgICEoaW5wdXRGb3JtQ29udHJvbC50b3VjaGVkICYmIGlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzKSxcclxuICAgICAgc2VsZWN0RXJyb3I6IGlucHV0Rm9ybUNvbnRyb2wudG91Y2hlZCAmJiBpbnB1dEZvcm1Db250cm9sLmVycm9ycyAsXHJcbiAgICAgICdkaXNhYmxlLXNlbGVjdG9yJzogZGlzYWJsZWQsXHJcbiAgICB9XCJcclxuICAgIChjbGljayk9XCJvcGVuTWVudUNsaWNrKClcIlxyXG4gID5cclxuICAgIDxzcGFuXHJcbiAgICAgIGNsYXNzPVwicGxhY2Vob2xkZXItdG9wXCJcclxuICAgICAgKm5nSWY9XCIoc2VsZWN0ZWRJdGVtIHwganNvbikgIT0gKHt9IHwganNvbilcIlxyXG4gICAgICA+e3sgbGFiZWwgfX08L3NwYW5cclxuICAgID5cclxuICAgIDxhcnJvdy1kb3duLWljb25cclxuICAgICAgY2xhc3M9XCJjYXJldCBmaWxsLXNlY29uZGFyeS10ZXh0LWNvbG9yIGgtNlwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2NhcmV0LXJvdGF0ZSc6IGlzT3Blbk1lbnUgfVwiXHJcbiAgICA+PC9hcnJvdy1kb3duLWljb24+XHJcblxyXG4gICAgPHNwYW5cclxuICAgICAgW25nQ2xhc3NdPVwiW1xyXG4gICAgICAgIGxhYmVsLmxlbmd0aCA+IDAgJiYgKHNlbGVjdGVkSXRlbSB8IGpzb24pID09ICh7fSB8IGpzb24pXHJcbiAgICAgICAgICA/ICdwbGFjZWhvbGRlcidcclxuICAgICAgICAgIDogJ3NlbGVjdGVkJ1xyXG4gICAgICBdXCJcclxuICAgICAgPnt7XHJcbiAgICAgICAgbGFiZWwubGVuZ3RoID4gMCAmJiAoc2VsZWN0ZWRJdGVtIHwganNvbikgPT0gKHt9IHwganNvbilcclxuICAgICAgICAgID8gbGFiZWxcclxuICAgICAgICAgIDogc2VsZWN0ZWRJdGVtLnRpdGxlXHJcbiAgICAgIH19PC9zcGFuXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJuby1kYXRhXCJcclxuICAgICpuZ0lmPVwibmV3SXRlbXMubGVuZ3RoID09PSAwXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgJ21lbnUtb3Blbi1uby1kYXRhJzogaXNPcGVuTWVudSB9XCJcclxuICA+XHJcbiAgICA8d2FybmluZy1pY29uIGNsYXNzPVwiaWNvbi1jb2xvciBpbmxpbmUtYmxvY2sgdy02XCI+PC93YXJuaW5nLWljb24+XHJcbiAgICA8YiBjbGFzcz1cImNvbnRlbnQgYmxvY2tcIj7ZhdmI2LHYr9uMINuM2KfZgdiqINmG2LTYrzwvYj5cclxuICA8L2Rpdj5cclxuICA8dWxcclxuICAgIGNsYXNzPVwibWVudVwiXHJcbiAgICAqbmdJZj1cIm5ld0l0ZW1zLmxlbmd0aCA+IDBcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAnbWVudS1vcGVuJzogaXNPcGVuTWVudSB9XCJcclxuICA+XHJcbiAgICA8ZGl2XHJcbiAgICAgICpuZ0lmPVwibmV3SXRlbXMubGVuZ3RoID4gNFwiXHJcbiAgICAgIGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMTIgaC0xMSBpdGVtcy1jZW50ZXIgcGUtNSBwcy01IGJnLXdoaXRlIHNoYWRvdy1tZFwiXHJcbiAgICA+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwi2KzYs9iq2KzZiCBcIlxyXG4gICAgICAgIGNsYXNzPVwiY29sLXNwYW4tMTEgYmctdHJhbnNwYXJlbnQgZm9jdXM6b3V0bGluZS1ub25lIG1pbi1oLTlcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiXHJcbiAgICAgICAgKGtleXVwKT1cImNoYW5nZVNlYXJjaFRleHQoKVwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWQ6aC03IGZsZXgganVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgICA8c2VhcmNoLWljb25cclxuICAgICAgICAgIGNsYXNzPVwidHJhbnNmb3JtIHNjYWxlLXgtWy0xXSBmaWxsLWljb24tY29sb3IgaG92ZXI6ZmlsbC1wcmltYXJ5LWNvbG9yIGhvdmVyOmN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9zZWFyY2gtaWNvblxyXG4gICAgICA+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bGlcclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWRJdGVtcyB8IGFzeW5jXCJcclxuICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IGl0ZW0udmFsdWUgPT09IHNlbGVjdGVkSXRlbS52YWx1ZSB9XCJcclxuICAgICAgKGNsaWNrKT1cIm9uSXRlbVNlbGVjdChpdGVtLCB0cnVlKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7IGl0ZW0udGl0bGUgfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuICA8ZGl2IGNsYXNzPVwibGFiZWwtZXJyb3Igb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICA8c3BhblxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgaW5wdXRGb3JtQ29udHJvbC50b3VjaGVkICAmJlxyXG4gICAgICBpbnB1dEZvcm1Db250cm9sLmVycm9ycz8uWydyZXF1aXJlZCddXCJcclxuICAgICAgPtin24zZhiDZgduM2YTYryDYrtin2YTbjCDYp9iz2Ko8L3NwYW5cclxuICAgID5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXNlbGVjdC1zZWFyY2gvY29yZS1zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXNlbGVjdC1zZWFyY2gvY29yZS1zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFRdkMsTUFBTSxPQUFPLHlCQUF5QjtJQWdCcEMsSUFBYSxLQUFLLENBQUMsSUFBUztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBYSxZQUFZLENBQUMsSUFBTztRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBT0QsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTdCMUMsaUJBQVksR0FBZ0IsRUFBaUIsQ0FBQztRQUc5QyxhQUFRLEdBQWtCLEVBQUUsQ0FBQztRQUM3QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFDakIsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQUNwQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBSVAsU0FB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QUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQWlCO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxhQUE0QixDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFDRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0E3SFUseUJBQXlCO21HQUF6Qix5QkFBeUIscWNDbEJ0Qywwd0ZBb0ZBOzs0RkRsRWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLG9CQUFvQjtpR0FjckIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLHFDQUFxQztzQkFBN0MsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ08sS0FBSztzQkFBakIsS0FBSztnQkFJTyxZQUFZO3NCQUF4QixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0UsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJy4uL2ZhbGNvblR5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29yZS1zZWxlY3Qtc2VhcmNoJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS1zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXNlbGVjdC1zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcmVTZWxlY3RTZWFyY2hDb21wb25lbnQ8VD4ge1xyXG4gIHNlbGVjdGVkSXRlbTogTWVudUl0ZW08VD4gPSB7fSBhcyBNZW51SXRlbTxUPjtcclxuICB0aXRsZUtleU9iamVjdCE6IGtleW9mIHN0cmluZyB8IG51bWJlcjtcclxuICB2YWx1ZUtleU9iamVjdCE6IGtleW9mIHN0cmluZyB8IG51bWJlcjtcclxuICBuZXdJdGVtczogTWVudUl0ZW08VD5bXSA9IFtdO1xyXG4gIGlzT3Blbk1lbnUgPSBmYWxzZTtcclxuICBfaXRlbXM6IGFueSA9IFtdO1xyXG4gIGtleXM6IHN0cmluZ1tdID0gW107XHJcbiAgc2VhcmNoVGV4dCA9ICcnO1xyXG4gIF9kZWZhdWx0VmFsdWUhOiBUO1xyXG4gIEBJbnB1dCgpIHRpdGxlS2V5ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHZhbHVlS2V5ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNpemU6IHN0cmluZyA9ICdzbWFsbCc7XHJcbiAgQElucHV0KCkgc2VhcmNoS2V5czogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgY2FuQWRkVmFsdWVLZXlBbmRUaXRsZUtleUluU2VhcmNoS2V5czogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY2FuSGlnaGxpZ2h0QmFja2dyb3VuZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCBpdGVtcyhkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuX2l0ZW1zID0gZGF0YTtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuICBASW5wdXQoKSBzZXQgZGVmYXVsdFZhbHVlKGRhdGE6IFQpIHtcclxuICAgIHRoaXMuX2RlZmF1bHRWYWx1ZSA9IGRhdGE7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIG9uSXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgaW5wdXRGb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFtdKTtcclxuICBmaWx0ZXJlZEl0ZW1zOiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIGluaXQoKSB7XHJcbiAgICB0eXBlIE9iamVjdEtleSA9ICh0eXBlb2YgdGhpcy5faXRlbXMpWzBdO1xyXG4gICAgdGhpcy50aXRsZUtleU9iamVjdCA9IHRoaXMudGl0bGVLZXkgYXMgT2JqZWN0S2V5O1xyXG4gICAgdGhpcy52YWx1ZUtleU9iamVjdCA9IHRoaXMudmFsdWVLZXkgYXMgT2JqZWN0S2V5O1xyXG4gICAgY29uc29sZS5sb2coJ3RpdGxlS2V5T2JqZWN0JywgdGhpcy50aXRsZUtleU9iamVjdCk7XHJcbiAgICBjb25zb2xlLmxvZygndmFsdWVLZXlPYmplY3QnLCB0aGlzLnZhbHVlS2V5T2JqZWN0KTtcclxuXHJcbiAgICB0aGlzLm5ld0l0ZW1zID0gdGhpcy5jaGFuZ2VJdGVtc1R5cGUodGhpcy5faXRlbXMpO1xyXG4gICAgdGhpcy5pbnB1dEZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuX2RlZmF1bHRWYWx1ZSk7XHJcbiAgICB0aGlzLm9uSXRlbVNlbGVjdChcclxuICAgICAgdGhpcy5uZXdJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09IHRoaXMuX2RlZmF1bHRWYWx1ZSksXHJcbiAgICAgIGZhbHNlXHJcbiAgICApO1xyXG4gICAgdGhpcy5jaGFuZ2VTZWFyY2hUZXh0KCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5rZXlzID0gdGhpcy5zZWFyY2hLZXlzLnNwbGl0KCcsJyk7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICAgIHRoaXMuY2hhbmdlU2VhcmNoVGV4dCgpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlSXRlbXNUeXBlKGl0ZW1zOiBhbnlbXSk6IE1lbnVJdGVtPFQ+W10ge1xyXG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgcmVzdWx0OiBhbnkgPSB7XHJcbiAgICAgICAgdGl0bGU6IGl0ZW1bdGhpcy50aXRsZUtleU9iamVjdF0sXHJcbiAgICAgICAgdmFsdWU6IGl0ZW1bdGhpcy52YWx1ZUtleU9iamVjdF0sXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMua2V5cy5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICByZXN1bHRba2V5XSA9IGl0ZW1ba2V5XTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgYXN5bmMgY2hhbmdlU2VhcmNoVGV4dCgpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFRleHQubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMubmV4dChcclxuICAgICAgICB0aGlzLm5ld0l0ZW1zLmZpbHRlcigoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICBsZXQgaXNNYWNoID0gZmFsc2U7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMuY2FuQWRkVmFsdWVLZXlBbmRUaXRsZUtleUluU2VhcmNoS2V5cyAmJlxyXG4gICAgICAgICAgICAoaXRlbS50aXRsZS5pbmNsdWRlcyh0aGlzLnNlYXJjaFRleHQpIHx8XHJcbiAgICAgICAgICAgICAgaXRlbS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKSlcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBpc01hY2ggPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5rZXlzLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgaXRlbVtrZXldXHJcbiAgICAgICAgICAgICAgICAudG9TdHJpbmcoKVxyXG4gICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgICAgIC5pbmNsdWRlcyh0aGlzLnNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSlcclxuICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgaXNNYWNoID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4gaXNNYWNoO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMubmV4dCh0aGlzLm5ld0l0ZW1zKTtcclxuICAgIH1cclxuICB9XHJcbiAgb3Blbk1lbnVDbGljaygpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmlzT3Blbk1lbnUgPSAhdGhpcy5pc09wZW5NZW51O1xyXG4gIH1cclxuXHJcbiAgb25JdGVtU2VsZWN0KHNlbGVjdGVkSXRlbTogTWVudUl0ZW08VD4gfCB1bmRlZmluZWQsIGlzRnJvbVVpOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoaXNGcm9tVWkpIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB0aGlzLmlzT3Blbk1lbnUgPSBmYWxzZTtcclxuICAgIGlmICghc2VsZWN0ZWRJdGVtKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0ge30gYXMgTWVudUl0ZW08VD47XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gc2VsZWN0ZWRJdGVtO1xyXG4gICAgY29uc3QgbWFpbkl0ZW0gPSB0aGlzLl9pdGVtcy5maW5kKFxyXG4gICAgICAoaXRlbTogYW55KSA9PiBpdGVtW3RoaXMudmFsdWVLZXlPYmplY3RdID09PSBzZWxlY3RlZEl0ZW0udmFsdWVcclxuICAgICk7XHJcbiAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wuc2V0VmFsdWUoc2VsZWN0ZWRJdGVtLnZhbHVlKTtcclxuICAgIHRoaXMuY2xlYXJUZXh0KCk7XHJcbiAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQobWFpbkl0ZW0pO1xyXG4gIH1cclxuICBmb2N1c091dChldmVudDogRm9jdXNFdmVudCkge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkge1xyXG4gICAgICB0aGlzLmlzT3Blbk1lbnUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pbnB1dEZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgdGhpcy5jbGVhclRleHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgY2xlYXJUZXh0KCkge1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XHJcbiAgICB0aGlzLmNoYW5nZVNlYXJjaFRleHQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiB0YWJpbmRleD1cIi0xXCIgY2xhc3M9XCJkcm9wZG93blwiIChmb2N1c291dCk9XCJmb2N1c091dCgkZXZlbnQpXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJzZWxlY3RcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnc2VsZWN0LWNsaWNrZWQnOiBpc09wZW5NZW51LFxyXG4gICAgICAnaGlnaGxpZ2h0LWJhY2tncm91bmQnOlxyXG4gICAgICAgIGNhbkhpZ2hsaWdodEJhY2tncm91bmQgJiZcclxuICAgICAgICAoc2VsZWN0ZWRJdGVtIHwganNvbikgPT09ICh7fSB8IGpzb24pICYmXHJcbiAgICAgICAgIShpbnB1dEZvcm1Db250cm9sLnRvdWNoZWQgJiYgaW5wdXRGb3JtQ29udHJvbC5lcnJvcnMpLFxyXG4gICAgICBzZWxlY3RFcnJvcjogaW5wdXRGb3JtQ29udHJvbC50b3VjaGVkICYmIGlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzICxcclxuICAgICAgJ2Rpc2FibGUtc2VsZWN0b3InOiBkaXNhYmxlZCxcclxuICAgIH1cIlxyXG4gICAgKGNsaWNrKT1cIm9wZW5NZW51Q2xpY2soKVwiXHJcbiAgPlxyXG4gICAgPHNwYW5cclxuICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlci10b3BcIlxyXG4gICAgICAqbmdJZj1cIihzZWxlY3RlZEl0ZW0gfCBqc29uKSAhPSAoe30gfCBqc29uKVwiXHJcbiAgICAgID57eyBsYWJlbCB9fTwvc3BhblxyXG4gICAgPlxyXG4gICAgPGFycm93LWRvd24taWNvblxyXG4gICAgICBjbGFzcz1cImNhcmV0IGZpbGwtc2Vjb25kYXJ5LXRleHQtY29sb3IgaC02XCJcclxuICAgICAgW25nQ2xhc3NdPVwieyAnY2FyZXQtcm90YXRlJzogaXNPcGVuTWVudSB9XCJcclxuICAgID48L2Fycm93LWRvd24taWNvbj5cclxuXHJcbiAgICA8c3BhblxyXG4gICAgICBbbmdDbGFzc109XCJbXHJcbiAgICAgICAgbGFiZWwubGVuZ3RoID4gMCAmJiAoc2VsZWN0ZWRJdGVtIHwganNvbikgPT0gKHt9IHwganNvbilcclxuICAgICAgICAgID8gJ3BsYWNlaG9sZGVyJ1xyXG4gICAgICAgICAgOiAnc2VsZWN0ZWQnXHJcbiAgICAgIF1cIlxyXG4gICAgICA+e3tcclxuICAgICAgICBsYWJlbC5sZW5ndGggPiAwICYmIChzZWxlY3RlZEl0ZW0gfCBqc29uKSA9PSAoe30gfCBqc29uKVxyXG4gICAgICAgICAgPyBsYWJlbFxyXG4gICAgICAgICAgOiBzZWxlY3RlZEl0ZW0udGl0bGVcclxuICAgICAgfX08L3NwYW5cclxuICAgID5cclxuICA8L2Rpdj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIm5vLWRhdGFcIlxyXG4gICAgKm5nSWY9XCJuZXdJdGVtcy5sZW5ndGggPT09IDBcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAnbWVudS1vcGVuLW5vLWRhdGEnOiBpc09wZW5NZW51IH1cIlxyXG4gID5cclxuICAgIDx3YXJuaW5nLWljb24gY2xhc3M9XCJpY29uLWNvbG9yIGlubGluZS1ibG9jayB3LTZcIj48L3dhcm5pbmctaWNvbj5cclxuICAgIDxiIGNsYXNzPVwiY29udGVudCBibG9ja1wiPtmF2YjYsdiv24wg24zYp9mB2Kog2YbYtNivPC9iPlxyXG4gIDwvZGl2PlxyXG4gIDx1bFxyXG4gICAgY2xhc3M9XCJtZW51XCJcclxuICAgICpuZ0lmPVwibmV3SXRlbXMubGVuZ3RoID4gMFwiXHJcbiAgICBbbmdDbGFzc109XCJ7ICdtZW51LW9wZW4nOiBpc09wZW5NZW51IH1cIlxyXG4gID5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJuZXdJdGVtcy5sZW5ndGggPiA0XCJcclxuICAgICAgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xMiBoLTExIGl0ZW1zLWNlbnRlciBwZS01IHBzLTUgYmctd2hpdGUgc2hhZG93LW1kXCJcclxuICAgID5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCLYrNiz2KrYrNmIIFwiXHJcbiAgICAgICAgY2xhc3M9XCJjb2wtc3Bhbi0xMSBiZy10cmFuc3BhcmVudCBmb2N1czpvdXRsaW5lLW5vbmUgbWluLWgtOVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcclxuICAgICAgICAoa2V5dXApPVwiY2hhbmdlU2VhcmNoVGV4dCgpXCJcclxuICAgICAgLz5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtZDpoLTcgZmxleCBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgIDxzZWFyY2gtaWNvblxyXG4gICAgICAgICAgY2xhc3M9XCJ0cmFuc2Zvcm0gc2NhbGUteC1bLTFdIGZpbGwtaWNvbi1jb2xvciBob3ZlcjpmaWxsLXByaW1hcnktY29sb3IgaG92ZXI6Y3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L3NlYXJjaC1pY29uXHJcbiAgICAgID48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxsaVxyXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zIHwgYXN5bmNcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogaXRlbS52YWx1ZSA9PT0gc2VsZWN0ZWRJdGVtLnZhbHVlIH1cIlxyXG4gICAgICAoY2xpY2spPVwib25JdGVtU2VsZWN0KGl0ZW0sIHRydWUpXCJcclxuICAgID5cclxuICAgICAge3sgaXRlbS50aXRsZSB9fVxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG4gIDxkaXYgY2xhc3M9XCJsYWJlbC1lcnJvciBvdmVyZmxvdy1oaWRkZW5cIj5cclxuICAgIDxzcGFuXHJcbiAgICAgICpuZ0lmPVwiXHJcbiAgICAgICBpbnB1dEZvcm1Db250cm9sLnRvdWNoZWQgICYmXHJcbiAgICAgIGlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzPy5bJ3JlcXVpcmVkJ11cIlxyXG4gICAgICA+2KfbjNmGINmB24zZhNivINiu2KfZhNuMINin2LPYqjwvc3BhblxyXG4gICAgPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
package/fesm2022/nira-falcon.mjs
CHANGED
|
@@ -3195,8 +3195,11 @@ class CoreSelectSearchComponent {
|
|
|
3195
3195
|
this.newItems = [];
|
|
3196
3196
|
this.isOpenMenu = false;
|
|
3197
3197
|
this._items = [];
|
|
3198
|
+
this.keys = [];
|
|
3198
3199
|
this.searchText = '';
|
|
3199
3200
|
this.size = 'small';
|
|
3201
|
+
this.searchKeys = '';
|
|
3202
|
+
this.canAddValueKeyAndTitleKeyInSearchKeys = true;
|
|
3200
3203
|
this.canHighlightBackground = false;
|
|
3201
3204
|
this.label = '';
|
|
3202
3205
|
this.disabled = false;
|
|
@@ -3207,27 +3210,49 @@ class CoreSelectSearchComponent {
|
|
|
3207
3210
|
init() {
|
|
3208
3211
|
this.titleKeyObject = this.titleKey;
|
|
3209
3212
|
this.valueKeyObject = this.valueKey;
|
|
3213
|
+
console.log('titleKeyObject', this.titleKeyObject);
|
|
3214
|
+
console.log('valueKeyObject', this.valueKeyObject);
|
|
3210
3215
|
this.newItems = this.changeItemsType(this._items);
|
|
3211
3216
|
this.inputFormControl.setValue(this._defaultValue);
|
|
3212
3217
|
this.onItemSelect(this.newItems.find((item) => item.value == this._defaultValue), false);
|
|
3213
3218
|
this.changeSearchText();
|
|
3214
3219
|
}
|
|
3215
3220
|
ngOnInit() {
|
|
3221
|
+
this.keys = this.searchKeys.split(',');
|
|
3216
3222
|
this.init();
|
|
3217
3223
|
this.changeSearchText();
|
|
3218
3224
|
}
|
|
3219
3225
|
changeItemsType(items) {
|
|
3220
3226
|
return items.map((item) => {
|
|
3221
|
-
|
|
3227
|
+
let result = {
|
|
3222
3228
|
title: item[this.titleKeyObject],
|
|
3223
3229
|
value: item[this.valueKeyObject],
|
|
3224
3230
|
};
|
|
3231
|
+
this.keys.forEach((key) => {
|
|
3232
|
+
result[key] = item[key];
|
|
3233
|
+
});
|
|
3234
|
+
return result;
|
|
3225
3235
|
});
|
|
3226
3236
|
}
|
|
3227
3237
|
async changeSearchText() {
|
|
3228
3238
|
if (this.searchText.length > 0) {
|
|
3229
|
-
this.filteredItems.next(this.newItems.filter((item) =>
|
|
3230
|
-
|
|
3239
|
+
this.filteredItems.next(this.newItems.filter((item) => {
|
|
3240
|
+
let isMach = false;
|
|
3241
|
+
if (this.canAddValueKeyAndTitleKeyInSearchKeys &&
|
|
3242
|
+
(item.title.includes(this.searchText) ||
|
|
3243
|
+
item.value.toLowerCase().includes(this.searchText.toLowerCase()))) {
|
|
3244
|
+
isMach = true;
|
|
3245
|
+
}
|
|
3246
|
+
this.keys.forEach((key) => {
|
|
3247
|
+
if (item[key]
|
|
3248
|
+
.toString()
|
|
3249
|
+
.toLowerCase()
|
|
3250
|
+
.includes(this.searchText.toLowerCase())) {
|
|
3251
|
+
isMach = true;
|
|
3252
|
+
}
|
|
3253
|
+
});
|
|
3254
|
+
return isMach;
|
|
3255
|
+
}));
|
|
3231
3256
|
}
|
|
3232
3257
|
else {
|
|
3233
3258
|
this.filteredItems.next(this.newItems);
|
|
@@ -3265,7 +3290,7 @@ class CoreSelectSearchComponent {
|
|
|
3265
3290
|
this.changeSearchText();
|
|
3266
3291
|
}
|
|
3267
3292
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreSelectSearchComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3268
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreSelectSearchComponent, selector: "core-select-search", inputs: { titleKey: "titleKey", valueKey: "valueKey", size: "size", canHighlightBackground: "canHighlightBackground", items: "items", defaultValue: "defaultValue", label: "label", disabled: "disabled", inputFormControl: "inputFormControl" }, outputs: { onItemSelected: "onItemSelected" }, ngImport: i0, template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open-no-data': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">\u0645\u0648\u0631\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F</b>\r\n </div>\r\n <ul\r\n class=\"menu\"\r\n *ngIf=\"newItems.length > 0\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <div\r\n *ngIf=\"newItems.length > 4\"\r\n class=\"grid grid-cols-12 h-11 items-center pe-5 ps-5 bg-white shadow-md\"\r\n >\r\n <input\r\n placeholder=\"\u062C\u0633\u062A\u062C\u0648 \"\r\n class=\"col-span-11 bg-transparent focus:outline-none min-h-9\"\r\n [(ngModel)]=\"searchText\"\r\n (keyup)=\"changeSearchText()\"\r\n />\r\n <span class=\"md:h-7 flex justify-center\">\r\n <search-icon\r\n class=\"transform scale-x-[-1] fill-icon-color hover:fill-primary-color hover:cursor-pointer\"\r\n >\r\n </search-icon\r\n ></span>\r\n </div>\r\n <li\r\n *ngFor=\"let item of filteredItems | async\"\r\n [ngClass]=\"{ active: item.value === selectedItem.value }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu-open-no-data{display:flex!important;opacity:1}.dropdown .no-data{display:none;justify-content:center;align-items:center;font-size:small;flex-direction:column;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);transition:0,2s;z-index:10;height:120px;overflow:auto}.dropdown .no-data .icon-color{fill:var(--default-table-warning-icon-color)}.dropdown .no-data .content{color:var(--default-table-warning-color)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6;box-shadow:0 1px 2px #00000021,0 4px 4px #0000001a}.dropdown .menu .active{background:#ced4da!important}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: SearchIconComponent, selector: "search-icon" }, { kind: "component", type: WarningIconComponent, selector: "warning-icon" }, { kind: "component", type: ArrowDownIconComponent, selector: "arrow-down-icon" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
|
|
3293
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreSelectSearchComponent, selector: "core-select-search", inputs: { titleKey: "titleKey", valueKey: "valueKey", size: "size", searchKeys: "searchKeys", canAddValueKeyAndTitleKeyInSearchKeys: "canAddValueKeyAndTitleKeyInSearchKeys", canHighlightBackground: "canHighlightBackground", items: "items", defaultValue: "defaultValue", label: "label", disabled: "disabled", inputFormControl: "inputFormControl" }, outputs: { onItemSelected: "onItemSelected" }, ngImport: i0, template: "<div tabindex=\"-1\" class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n }\"\r\n (click)=\"openMenuClick()\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open-no-data': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">\u0645\u0648\u0631\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F</b>\r\n </div>\r\n <ul\r\n class=\"menu\"\r\n *ngIf=\"newItems.length > 0\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <div\r\n *ngIf=\"newItems.length > 4\"\r\n class=\"grid grid-cols-12 h-11 items-center pe-5 ps-5 bg-white shadow-md\"\r\n >\r\n <input\r\n placeholder=\"\u062C\u0633\u062A\u062C\u0648 \"\r\n class=\"col-span-11 bg-transparent focus:outline-none min-h-9\"\r\n [(ngModel)]=\"searchText\"\r\n (keyup)=\"changeSearchText()\"\r\n />\r\n <span class=\"md:h-7 flex justify-center\">\r\n <search-icon\r\n class=\"transform scale-x-[-1] fill-icon-color hover:fill-primary-color hover:cursor-pointer\"\r\n >\r\n </search-icon\r\n ></span>\r\n </div>\r\n <li\r\n *ngFor=\"let item of filteredItems | async\"\r\n [ngClass]=\"{ active: item.value === selectedItem.value }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .menu-open-no-data{display:flex!important;opacity:1}.dropdown .no-data{display:none;justify-content:center;align-items:center;font-size:small;flex-direction:column;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);transition:0,2s;z-index:10;height:120px;overflow:auto}.dropdown .no-data .icon-color{fill:var(--default-table-warning-icon-color)}.dropdown .no-data .content{color:var(--default-table-warning-color)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);opacity:0;display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;margin-inline:4px;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6;box-shadow:0 1px 2px #00000021,0 4px 4px #0000001a}.dropdown .menu .active{background:#ced4da!important}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: SearchIconComponent, selector: "search-icon" }, { kind: "component", type: WarningIconComponent, selector: "warning-icon" }, { kind: "component", type: ArrowDownIconComponent, selector: "arrow-down-icon" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
|
|
3269
3294
|
}
|
|
3270
3295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreSelectSearchComponent, decorators: [{
|
|
3271
3296
|
type: Component,
|
|
@@ -3276,6 +3301,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3276
3301
|
type: Input
|
|
3277
3302
|
}], size: [{
|
|
3278
3303
|
type: Input
|
|
3304
|
+
}], searchKeys: [{
|
|
3305
|
+
type: Input
|
|
3306
|
+
}], canAddValueKeyAndTitleKeyInSearchKeys: [{
|
|
3307
|
+
type: Input
|
|
3279
3308
|
}], canHighlightBackground: [{
|
|
3280
3309
|
type: Input
|
|
3281
3310
|
}], items: [{
|