ecabs-components 0.0.47 → 0.0.49
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/esm2020/lib/base/directives/date-mask.directive.mjs +65 -0
- package/{esm2022 → esm2020}/lib/base/directives/date-mask.directive.module.mjs +5 -5
- package/esm2020/lib/base/directives/digits-only.directive.mjs +130 -0
- package/{esm2022 → esm2020}/lib/base/directives/digits-only.directive.module.mjs +5 -5
- package/esm2020/lib/base/directives/number-border.directive.mjs +54 -0
- package/{esm2022 → esm2020}/lib/base/directives/number-border.directive.module.mjs +5 -5
- package/esm2020/lib/base/element-base.mjs +100 -0
- package/esm2020/lib/base/element-wrapper/element-wrapper.component.mjs +53 -0
- package/{esm2022 → esm2020}/lib/base/element-wrapper/element-wrapper.module.mjs +21 -21
- package/esm2020/lib/base/hint/hint.component.mjs +21 -0
- package/{esm2022 → esm2020}/lib/base/hint/hint.module.mjs +5 -5
- package/esm2020/lib/base/validation/validation.component.mjs +70 -0
- package/{esm2022 → esm2020}/lib/base/validation/validation.module.mjs +5 -5
- package/esm2020/lib/ecabs-active-status-filter/active-status-filter.component.mjs +30 -0
- package/esm2020/lib/ecabs-active-status-filter/active-status-filter.module.mjs +20 -0
- package/esm2020/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +16 -0
- package/{esm2022 → esm2020}/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +5 -5
- package/esm2020/lib/ecabs-buttons/ecabs-buttons.component.mjs +65 -0
- package/{esm2022 → esm2020}/lib/ecabs-buttons/ecabs-buttons.module.mjs +5 -5
- package/esm2020/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +85 -0
- package/{esm2022 → esm2020}/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +13 -13
- package/esm2020/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +17 -0
- package/esm2020/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +85 -0
- package/{esm2022 → esm2020}/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +19 -19
- package/esm2020/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +17 -0
- package/esm2020/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +179 -0
- package/{esm2022 → esm2020}/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +27 -27
- package/esm2020/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +17 -0
- package/esm2020/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +193 -0
- package/{esm2022 → esm2020}/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +27 -27
- package/esm2020/lib/ecabs-date-time-range-picker/time-range.directive.mjs +45 -0
- package/esm2020/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +28 -0
- package/{esm2022 → esm2020}/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +5 -5
- package/esm2020/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +25 -0
- package/{esm2022 → esm2020}/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +5 -5
- package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +4 -7
- package/{esm2022 → esm2020}/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +5 -5
- package/esm2020/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +76 -0
- package/{esm2022 → esm2020}/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +5 -5
- package/esm2020/lib/ecabs-increment/ecabs-increment.component.mjs +78 -0
- package/{esm2022 → esm2020}/lib/ecabs-increment/ecabs-increment.module.mjs +5 -5
- package/esm2020/lib/ecabs-input/ecabs-input.component.mjs +85 -0
- package/{esm2022 → esm2020}/lib/ecabs-input/ecabs-input.module.mjs +5 -5
- package/esm2020/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +51 -0
- package/{esm2022 → esm2020}/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +13 -13
- package/esm2020/lib/ecabs-loading/ecabs-loading.component.mjs +24 -0
- package/{esm2022 → esm2020}/lib/ecabs-loading/ecabs-loading.module.mjs +5 -5
- package/esm2020/lib/ecabs-loading/spinner/spinner.component.mjs +16 -0
- package/esm2020/lib/ecabs-note/ecabs-note.component.mjs +30 -0
- package/{esm2022 → esm2020}/lib/ecabs-note/ecabs-note.module.mjs +5 -5
- package/esm2020/lib/ecabs-phone/ecabs-phone.component.mjs +105 -0
- package/{esm2022 → esm2020}/lib/ecabs-phone/ecabs-phone.module.mjs +5 -5
- package/esm2020/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +50 -0
- package/{esm2022 → esm2020}/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +5 -5
- package/esm2020/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +65 -0
- package/{esm2022 → esm2020}/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +11 -11
- package/esm2020/lib/ecabs-select/ecabs-select.component.mjs +222 -0
- package/esm2020/lib/ecabs-select/ecabs-select.module.mjs +60 -0
- package/esm2020/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +17 -0
- package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +7 -7
- package/esm2020/lib/ecabs-table/ecabs-table.component.mjs +43 -0
- package/{esm2022 → esm2020}/lib/ecabs-table/ecabs-table.module.mjs +11 -11
- package/esm2020/lib/ecabs-textarea/ecabs-textarea.component.mjs +62 -0
- package/{esm2022 → esm2020}/lib/ecabs-textarea/ecabs-textarea.module.mjs +5 -5
- package/esm2020/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +137 -0
- package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +312 -0
- package/{esm2022 → esm2020}/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +5 -5
- package/esm2020/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +31 -0
- package/esm2020/lib/services/ecabs-components.service.mjs +32 -0
- package/esm2020/public-api.mjs +57 -0
- package/fesm2015/ecabs-components.mjs +3283 -0
- package/fesm2015/ecabs-components.mjs.map +1 -0
- package/fesm2020/ecabs-components.mjs +3267 -0
- package/fesm2020/ecabs-components.mjs.map +1 -0
- package/lib/base/directives/date-mask.directive.d.ts +1 -1
- package/lib/base/directives/digits-only.directive.d.ts +1 -1
- package/lib/base/directives/number-border.directive.d.ts +1 -1
- package/lib/base/element-base.d.ts +1 -1
- package/lib/base/element-wrapper/element-wrapper.component.d.ts +1 -1
- package/lib/base/hint/hint.component.d.ts +1 -1
- package/lib/base/validation/validation.component.d.ts +1 -1
- package/lib/ecabs-active-status-filter/active-status-filter.component.d.ts +14 -0
- package/lib/ecabs-active-status-filter/active-status-filter.module.d.ts +10 -0
- package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +1 -1
- package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +1 -1
- package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +1 -1
- package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +1 -1
- package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +1 -1
- package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +1 -1
- package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +1 -1
- package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.d.ts +1 -1
- package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +1 -1
- package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +1 -1
- package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +1 -1
- package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +1 -1
- package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +1 -1
- package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +1 -1
- package/lib/ecabs-increment/ecabs-increment.component.d.ts +1 -1
- package/lib/ecabs-input/ecabs-input.component.d.ts +1 -1
- package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +1 -1
- package/lib/ecabs-loading/ecabs-loading.component.d.ts +1 -1
- package/lib/ecabs-loading/spinner/spinner.component.d.ts +1 -1
- package/lib/ecabs-note/ecabs-note.component.d.ts +1 -1
- package/lib/ecabs-phone/ecabs-phone.component.d.ts +1 -1
- package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +1 -1
- package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +1 -1
- package/lib/ecabs-select/ecabs-select.component.d.ts +1 -1
- package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +1 -1
- package/lib/ecabs-table/ecabs-table.component.d.ts +1 -1
- package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +1 -1
- package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +1 -1
- package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +1 -1
- package/lib/models/timepicker.models.d.ts +1 -1
- package/package.json +11 -5
- package/public-api.d.ts +2 -0
- package/esm2022/lib/base/directives/date-mask.directive.mjs +0 -67
- package/esm2022/lib/base/directives/digits-only.directive.mjs +0 -133
- package/esm2022/lib/base/directives/number-border.directive.mjs +0 -58
- package/esm2022/lib/base/element-base.mjs +0 -105
- package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +0 -56
- package/esm2022/lib/base/hint/hint.component.mjs +0 -21
- package/esm2022/lib/base/validation/validation.component.mjs +0 -75
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +0 -17
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +0 -67
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +0 -90
- package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +0 -15
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +0 -89
- package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +0 -15
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +0 -186
- package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +0 -15
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +0 -199
- package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +0 -48
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +0 -31
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +0 -28
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +0 -85
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +0 -83
- package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +0 -93
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +0 -51
- package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +0 -22
- package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +0 -14
- package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +0 -28
- package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +0 -111
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +0 -53
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +0 -68
- package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +0 -227
- package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +0 -60
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +0 -19
- package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +0 -48
- package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +0 -65
- package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +0 -144
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +0 -322
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +0 -29
- package/esm2022/lib/services/ecabs-components.service.mjs +0 -31
- package/esm2022/public-api.mjs +0 -55
- package/fesm2022/ecabs-components.mjs +0 -3338
- package/fesm2022/ecabs-components.mjs.map +0 -1
- /package/{esm2022 → esm2020}/ecabs-components.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/base/consts/date-mask.consts.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/ecabs-timepicker/config.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/models/bread-crumb.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/models/timepicker.models.mjs +0 -0
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import ElementBaseComponent from '../base/element-base';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "../base/element-wrapper/element-wrapper.component";
|
|
7
|
-
import * as i3 from "@angular/material/radio";
|
|
8
|
-
import * as i4 from "@angular/forms";
|
|
9
|
-
export class EcabsRadioButtonListComponent extends ElementBaseComponent {
|
|
10
|
-
injector;
|
|
11
|
-
items;
|
|
12
|
-
direction = 'horizontal';
|
|
13
|
-
val;
|
|
14
|
-
get value() {
|
|
15
|
-
return this.val;
|
|
16
|
-
}
|
|
17
|
-
set value(val) {
|
|
18
|
-
if (val !== undefined && this.val !== val) {
|
|
19
|
-
this.val = val;
|
|
20
|
-
this.onChange(val);
|
|
21
|
-
this.onTouch(val);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
constructor(injector) {
|
|
25
|
-
super();
|
|
26
|
-
this.injector = injector;
|
|
27
|
-
}
|
|
28
|
-
onChange = () => { };
|
|
29
|
-
onTouch = () => { };
|
|
30
|
-
ngAfterViewInit() {
|
|
31
|
-
const ngControl = this.injector.get(NgControl, null);
|
|
32
|
-
if (ngControl) {
|
|
33
|
-
this.control = ngControl.control;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
writeValue(value) {
|
|
37
|
-
this.value = value;
|
|
38
|
-
}
|
|
39
|
-
registerOnChange(fn) {
|
|
40
|
-
this.onChange = fn;
|
|
41
|
-
}
|
|
42
|
-
registerOnTouched(fn) {
|
|
43
|
-
this.onTouch = fn;
|
|
44
|
-
}
|
|
45
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsRadioButtonListComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsRadioButtonListComponent, selector: "ecabs-radio-button-list", inputs: { items: "items", direction: "direction" }, providers: [
|
|
47
|
-
{
|
|
48
|
-
provide: NG_VALUE_ACCESSOR,
|
|
49
|
-
useExisting: EcabsRadioButtonListComponent,
|
|
50
|
-
multi: true,
|
|
51
|
-
},
|
|
52
|
-
], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-radio-group\r\n [ngClass]=\"{ 'flex flex-col my-1': direction === 'vertical' }\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n >\r\n <mat-radio-button\r\n [ngClass]=\"{ 'my-1': direction === 'vertical' }\"\r\n class=\"mr-4\"\r\n *ngFor=\"let item of items\"\r\n [value]=\"item.value\">{{ item.label }}</mat-radio-button>\r\n </mat-radio-group>\r\n</app-element-wrapper>\r\n", styles: [".mr-4{margin-right:1rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.flex{display:flex}.flex-col{flex-direction:column}\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: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
53
|
-
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsRadioButtonListComponent, decorators: [{
|
|
55
|
-
type: Component,
|
|
56
|
-
args: [{ selector: 'ecabs-radio-button-list', providers: [
|
|
57
|
-
{
|
|
58
|
-
provide: NG_VALUE_ACCESSOR,
|
|
59
|
-
useExisting: EcabsRadioButtonListComponent,
|
|
60
|
-
multi: true,
|
|
61
|
-
},
|
|
62
|
-
], template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-radio-group\r\n [ngClass]=\"{ 'flex flex-col my-1': direction === 'vertical' }\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"disabled\"\r\n >\r\n <mat-radio-button\r\n [ngClass]=\"{ 'my-1': direction === 'vertical' }\"\r\n class=\"mr-4\"\r\n *ngFor=\"let item of items\"\r\n [value]=\"item.value\">{{ item.label }}</mat-radio-button>\r\n </mat-radio-group>\r\n</app-element-wrapper>\r\n", styles: [".mr-4{margin-right:1rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.flex{display:flex}.flex-col{flex-direction:column}\n"] }]
|
|
63
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { items: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], direction: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcmFkaW8tYnV0dG9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0L2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1yYWRpby1idXR0b24tbGlzdC9lY2Ficy1yYWRpby1idXR0b24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBWSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUE0QyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFjeEQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLG9CQUFvQjtJQWtCaEQ7SUFqQlosS0FBSyxDQUFtQztJQUN4QyxTQUFTLEdBQThCLFlBQVksQ0FBQztJQUU3RCxHQUFHLENBQVU7SUFFYixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFFLEdBQUc7UUFDWixJQUFLLEdBQUcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUc7WUFDM0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFFLEdBQUcsQ0FBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUUsR0FBRyxDQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsWUFBcUIsUUFBa0I7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRXZDLENBQUM7SUFFRCxRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLE9BQU8sR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFekIsZUFBZTtRQUNiLE1BQU0sU0FBUyxHQUFjLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFFLFNBQVMsRUFBRSxJQUFJLENBQWUsQ0FBQztRQUMvRSxJQUFLLFNBQVMsRUFBRztZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQTZCLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFFLEtBQVU7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFFLEVBQU87UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFFLEVBQU87UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQzt1R0ExQ1UsNkJBQTZCOzJGQUE3Qiw2QkFBNkIsc0dBUjdCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ2RILDRkQWFBOzsyRkRHYSw2QkFBNkI7a0JBWnpDLFNBQVM7K0JBQ0UseUJBQXlCLGFBR3hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsK0JBQStCOzRCQUMxQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjsrRkFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUNvbnRyb2wsIE5nQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KCB7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1yYWRpby1idXR0b24tbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJ2VjYWJzLXJhZGlvLWJ1dHRvbi1saXN0LmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzUmFkaW9CdXR0b25MaXN0Q29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1JhZGlvQnV0dG9uTGlzdENvbXBvbmVudCBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGl0ZW1zITogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH1bXTtcclxuICBASW5wdXQoKSBkaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XHJcblxyXG4gIHZhbCE6IHN0cmluZztcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUoIHZhbCApIHtcclxuICAgIGlmICggdmFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWwgIT09IHZhbCApIHtcclxuICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UoIHZhbCApO1xyXG4gICAgICB0aGlzLm9uVG91Y2goIHZhbCApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCBOZ0NvbnRyb2wsIG51bGwgKSBhcyBOZ0NvbnRyb2w7XHJcbiAgICBpZiAoIG5nQ29udHJvbCApIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZCggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8bWF0LXJhZGlvLWdyb3VwXHJcbiAgICBbbmdDbGFzc109XCJ7ICdmbGV4IGZsZXgtY29sIG15LTEnOiBkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgfVwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICA+XHJcbiAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICBbbmdDbGFzc109XCJ7ICdteS0xJzogZGlyZWN0aW9uID09PSAndmVydGljYWwnIH1cIlxyXG4gICAgICBjbGFzcz1cIm1yLTRcIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiXHJcbiAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCI+e3sgaXRlbS5sYWJlbCB9fTwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICA8L21hdC1yYWRpby1ncm91cD5cclxuPC9hcHAtZWxlbWVudC13cmFwcGVyPlxyXG4iXX0=
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
-
import { UntypedFormControl, NgControl, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
-
import { MatSelectSearchComponent } from 'ngx-mat-select-search';
|
|
4
|
-
import { combineLatest, debounceTime, map, ReplaySubject, Subscription, } from 'rxjs';
|
|
5
|
-
import ElementBaseComponent from '../base/element-base';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "../base/element-wrapper/element-wrapper.component";
|
|
9
|
-
import * as i3 from "@angular/material/form-field";
|
|
10
|
-
import * as i4 from "@angular/material/select";
|
|
11
|
-
import * as i5 from "@angular/material/core";
|
|
12
|
-
import * as i6 from "@angular/forms";
|
|
13
|
-
import * as i7 from "ngx-mat-select-search";
|
|
14
|
-
export class EcabsSelectComponent extends ElementBaseComponent {
|
|
15
|
-
injector;
|
|
16
|
-
items;
|
|
17
|
-
multiple = false;
|
|
18
|
-
useNoneOption = false;
|
|
19
|
-
useOnlyDisabledClass = false;
|
|
20
|
-
searchFieldPlaceholder = 'Search';
|
|
21
|
-
useSearchOption = false;
|
|
22
|
-
useSelectAllOption = false;
|
|
23
|
-
setAllOptionAfterChosenAllItems = true;
|
|
24
|
-
selectAllValue = 0;
|
|
25
|
-
noEntriesFoundLabel = 'No matching found';
|
|
26
|
-
noneLabel = 'None';
|
|
27
|
-
allLabel = 'All';
|
|
28
|
-
otherLabel = 'Other';
|
|
29
|
-
othersLabel = 'Others';
|
|
30
|
-
updateFilterItems = new EventEmitter();
|
|
31
|
-
selectionChange = new EventEmitter();
|
|
32
|
-
allSelected;
|
|
33
|
-
matSelectSearchComponent;
|
|
34
|
-
val;
|
|
35
|
-
filteredItems$ = new ReplaySubject(1);
|
|
36
|
-
itemFilterCtrl = new UntypedFormControl();
|
|
37
|
-
isClearAll = false;
|
|
38
|
-
subscriptions = new Subscription();
|
|
39
|
-
get value() {
|
|
40
|
-
return this.val;
|
|
41
|
-
}
|
|
42
|
-
set value(val) {
|
|
43
|
-
if (this.val !== val) {
|
|
44
|
-
this.val = val;
|
|
45
|
-
this.onChange(val);
|
|
46
|
-
this.onTouch(val);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
constructor(injector) {
|
|
50
|
-
super();
|
|
51
|
-
this.injector = injector;
|
|
52
|
-
}
|
|
53
|
-
ngOnChanges(changes) {
|
|
54
|
-
if (changes['items'] && changes['items'].currentValue) {
|
|
55
|
-
this.filteredItems$.next(changes['items'].currentValue.slice());
|
|
56
|
-
this.filterItems();
|
|
57
|
-
if (this.multiple &&
|
|
58
|
-
this.useSelectAllOption &&
|
|
59
|
-
this.allSelected?.selected) {
|
|
60
|
-
setTimeout(() => {
|
|
61
|
-
this.control.patchValue([
|
|
62
|
-
...this.items.map((item) => item.value),
|
|
63
|
-
this.selectAllValue,
|
|
64
|
-
]);
|
|
65
|
-
}, 100);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
ngAfterViewInit() {
|
|
70
|
-
const ngControl = this.injector.get(NgControl, null);
|
|
71
|
-
if (ngControl) {
|
|
72
|
-
this.control = ngControl.control;
|
|
73
|
-
}
|
|
74
|
-
if (this.matSelectSearchComponent) {
|
|
75
|
-
this.matSelectSearchComponent._showNoEntriesFound$ = combineLatest([
|
|
76
|
-
this.itemFilterCtrl.valueChanges,
|
|
77
|
-
this.filteredItems$,
|
|
78
|
-
]).pipe(map(([value, items]) => this.matSelectSearchComponent.noEntriesFoundLabel &&
|
|
79
|
-
value &&
|
|
80
|
-
items.length === 0));
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
ngOnInit() {
|
|
84
|
-
this.subscriptions.add(this.itemFilterCtrl.valueChanges
|
|
85
|
-
.pipe(debounceTime(200))
|
|
86
|
-
.subscribe((value) => {
|
|
87
|
-
this.filterItems();
|
|
88
|
-
this.updateFilterItems.emit(value);
|
|
89
|
-
if (this.isClearAll) {
|
|
90
|
-
this.control.patchValue([]);
|
|
91
|
-
this.isClearAll = false;
|
|
92
|
-
}
|
|
93
|
-
}));
|
|
94
|
-
}
|
|
95
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
96
|
-
onChange = () => { };
|
|
97
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
98
|
-
onTouch = () => { };
|
|
99
|
-
toggleAllSelection() {
|
|
100
|
-
if (this.allSelected.selected) {
|
|
101
|
-
this.control.patchValue([
|
|
102
|
-
...this.items.map((item) => item.value),
|
|
103
|
-
this.selectAllValue,
|
|
104
|
-
]);
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
this.control.patchValue([]);
|
|
108
|
-
this.isClearAll = true;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
togglePerOne() {
|
|
112
|
-
if (this.allSelected) {
|
|
113
|
-
if (this.allSelected.selected) {
|
|
114
|
-
this.allSelected.deselect();
|
|
115
|
-
}
|
|
116
|
-
if (this.setAllOptionAfterChosenAllItems &&
|
|
117
|
-
this.control.value.length === this.items.length) {
|
|
118
|
-
this.allSelected.select();
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
this.isClearAll = false;
|
|
122
|
-
}
|
|
123
|
-
getAllSelectedChecked() {
|
|
124
|
-
return this.allSelected !== undefined && this.allSelected.selected;
|
|
125
|
-
}
|
|
126
|
-
getLabel(val) {
|
|
127
|
-
if (this.useSelectAllOption &&
|
|
128
|
-
this.allSelected?.selected &&
|
|
129
|
-
this.items &&
|
|
130
|
-
this.items.length > 0) {
|
|
131
|
-
return this.items[0].label;
|
|
132
|
-
}
|
|
133
|
-
if (val !== undefined && this.items && this.items.length > 0) {
|
|
134
|
-
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
135
|
-
const item = this.items.find((item) => item.value === val);
|
|
136
|
-
return item ? item.label : '';
|
|
137
|
-
}
|
|
138
|
-
return '';
|
|
139
|
-
}
|
|
140
|
-
writeValue(value) {
|
|
141
|
-
this.value = value;
|
|
142
|
-
}
|
|
143
|
-
registerOnChange(fn) {
|
|
144
|
-
this.onChange = fn;
|
|
145
|
-
}
|
|
146
|
-
registerOnTouched(fn) {
|
|
147
|
-
this.onTouch = fn;
|
|
148
|
-
}
|
|
149
|
-
ngOnDestroy() {
|
|
150
|
-
this.subscriptions.unsubscribe();
|
|
151
|
-
}
|
|
152
|
-
onSelectionChanged($event) {
|
|
153
|
-
this.selectionChange.emit($event);
|
|
154
|
-
}
|
|
155
|
-
filterItems() {
|
|
156
|
-
if (!this.items) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
// get the search keyword
|
|
160
|
-
let search = this.itemFilterCtrl.value;
|
|
161
|
-
if (!search || search === '') {
|
|
162
|
-
this.filteredItems$.next(this.items.slice());
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
search = search.toLowerCase();
|
|
166
|
-
this.filteredItems$.next(this.items && this.items.length > 0
|
|
167
|
-
? this.items.filter((item) => item.label.toLowerCase().includes(search.toLowerCase()))
|
|
168
|
-
: []);
|
|
169
|
-
}
|
|
170
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsSelectComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
171
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsSelectComponent, selector: "ecabs-select", inputs: { items: "items", multiple: "multiple", useNoneOption: "useNoneOption", useOnlyDisabledClass: "useOnlyDisabledClass", searchFieldPlaceholder: "searchFieldPlaceholder", useSearchOption: "useSearchOption", useSelectAllOption: "useSelectAllOption", setAllOptionAfterChosenAllItems: "setAllOptionAfterChosenAllItems", selectAllValue: "selectAllValue", noEntriesFoundLabel: "noEntriesFoundLabel", noneLabel: "noneLabel", allLabel: "allLabel", otherLabel: "otherLabel", othersLabel: "othersLabel" }, outputs: { updateFilterItems: "updateFilterItems", selectionChange: "selectionChange" }, providers: [
|
|
172
|
-
{
|
|
173
|
-
provide: NG_VALUE_ACCESSOR,
|
|
174
|
-
useExisting: EcabsSelectComponent,
|
|
175
|
-
multi: true,
|
|
176
|
-
},
|
|
177
|
-
], viewQueries: [{ propertyName: "allSelected", first: true, predicate: ["allSelected"], descendants: true }, { propertyName: "matSelectSearchComponent", first: true, predicate: MatSelectSearchComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n appearance=\"outline\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <span *ngIf=\"getAllSelectedChecked()\">{{ allLabel }}</span>\r\n <span *ngIf=\"!getAllSelectedChecked()\"\r\n >{{ val && multiple ? getLabel(val[0]) : getLabel(val) }}\r\n <span *ngIf=\"multiple && value?.length > 1\" class=\"additional-selection\">\r\n (+{{ useSelectAllOption && this.allSelected?.selected ? value?.length - 2 : value?.length - 1 }}\r\n {{ (value?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search\r\n [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n ></ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngIf=\"useNoneOption\">{{ noneLabel }}</mat-option>\r\n <mat-option #allSelected *ngIf=\"useSelectAllOption\" (click)=\"toggleAllSelection()\" [value]=\"selectAllValue\">{{\r\n allLabel\r\n }}</mat-option>\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\" [value]=\"item.value\" (click)=\"togglePerOne()\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</app-element-wrapper>\r\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: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
178
|
-
}
|
|
179
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsSelectComponent, decorators: [{
|
|
180
|
-
type: Component,
|
|
181
|
-
args: [{ selector: 'ecabs-select', providers: [
|
|
182
|
-
{
|
|
183
|
-
provide: NG_VALUE_ACCESSOR,
|
|
184
|
-
useExisting: EcabsSelectComponent,
|
|
185
|
-
multi: true,
|
|
186
|
-
},
|
|
187
|
-
], template: "<app-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n appearance=\"outline\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n >\r\n <mat-select-trigger>\r\n <span *ngIf=\"getAllSelectedChecked()\">{{ allLabel }}</span>\r\n <span *ngIf=\"!getAllSelectedChecked()\"\r\n >{{ val && multiple ? getLabel(val[0]) : getLabel(val) }}\r\n <span *ngIf=\"multiple && value?.length > 1\" class=\"additional-selection\">\r\n (+{{ useSelectAllOption && this.allSelected?.selected ? value?.length - 2 : value?.length - 1 }}\r\n {{ (value?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </span>\r\n </mat-select-trigger>\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search\r\n [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\"\r\n ></ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngIf=\"useNoneOption\">{{ noneLabel }}</mat-option>\r\n <mat-option #allSelected *ngIf=\"useSelectAllOption\" (click)=\"toggleAllSelection()\" [value]=\"selectAllValue\">{{\r\n allLabel\r\n }}</mat-option>\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\" [value]=\"item.value\" (click)=\"togglePerOne()\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</app-element-wrapper>\r\n" }]
|
|
188
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { items: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], multiple: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], useNoneOption: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], useOnlyDisabledClass: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], searchFieldPlaceholder: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], useSearchOption: [{
|
|
199
|
-
type: Input
|
|
200
|
-
}], useSelectAllOption: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}], setAllOptionAfterChosenAllItems: [{
|
|
203
|
-
type: Input
|
|
204
|
-
}], selectAllValue: [{
|
|
205
|
-
type: Input
|
|
206
|
-
}], noEntriesFoundLabel: [{
|
|
207
|
-
type: Input
|
|
208
|
-
}], noneLabel: [{
|
|
209
|
-
type: Input
|
|
210
|
-
}], allLabel: [{
|
|
211
|
-
type: Input
|
|
212
|
-
}], otherLabel: [{
|
|
213
|
-
type: Input
|
|
214
|
-
}], othersLabel: [{
|
|
215
|
-
type: Input
|
|
216
|
-
}], updateFilterItems: [{
|
|
217
|
-
type: Output
|
|
218
|
-
}], selectionChange: [{
|
|
219
|
-
type: Output
|
|
220
|
-
}], allSelected: [{
|
|
221
|
-
type: ViewChild,
|
|
222
|
-
args: ['allSelected']
|
|
223
|
-
}], matSelectSearchComponent: [{
|
|
224
|
-
type: ViewChild,
|
|
225
|
-
args: [MatSelectSearchComponent]
|
|
226
|
-
}] } });
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QvZWNhYnMtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QvZWNhYnMtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsWUFBWSxFQUNaLEdBQUcsRUFDSCxhQUFhLEVBQ2IsWUFBWSxHQUViLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxvQkFBb0IsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O0FBYXhELE1BQU0sT0FBTyxvQkFDWCxTQUFRLG9CQUFvQjtJQTBDUDtJQXhDWixLQUFLLENBQW1DO0lBQ3hDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsYUFBYSxHQUFZLEtBQUssQ0FBQztJQUMvQixvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDN0Isc0JBQXNCLEdBQVcsUUFBUSxDQUFDO0lBQzFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLCtCQUErQixHQUFHLElBQUksQ0FBQztJQUN2QyxjQUFjLEdBQVEsQ0FBQyxDQUFDO0lBQ3hCLG1CQUFtQixHQUFHLG1CQUFtQixDQUFD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QWlCO2dCQUMxQixXQUFXLEVBQUUsb0JBQW9CO2dCQUNqQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaUxBd0JXLHdCQUF3Qiw0RkMvRHRDLG91REFzQ0E7OzJGREdhLG9CQUFvQjtrQkFYaEMsU0FBUzsrQkFDRSxjQUFjLGFBRWI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxzQkFBc0I7NEJBQ2pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOytGQUtRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRywrQkFBK0I7c0JBQXZDLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFFcUIsV0FBVztzQkFBdEMsU0FBUzt1QkFBRSxhQUFhO2dCQUV6Qix3QkFBd0I7c0JBRHZCLFNBQVM7dUJBQUUsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICBOZ0NvbnRyb2wsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRPcHRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnbmd4LW1hdC1zZWxlY3Qtc2VhcmNoJztcclxuaW1wb3J0IHtcclxuICBjb21iaW5lTGF0ZXN0LFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBtYXAsXHJcbiAgUmVwbGF5U3ViamVjdCxcclxuICBTdWJzY3JpcHRpb24sXHJcbiAgdGFwLFxyXG59IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtc2VsZWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic1NlbGVjdENvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNTZWxlY3RDb21wb25lbnRcclxuICBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBpdGVtcyE6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9W107XHJcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSB1c2VOb25lT3B0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdXNlT25seURpc2FibGVkQ2xhc3MgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hGaWVsZFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VhcmNoJztcclxuICBASW5wdXQoKSB1c2VTZWFyY2hPcHRpb24gPSBmYWxzZTtcclxuICBASW5wdXQoKSB1c2VTZWxlY3RBbGxPcHRpb24gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXRBbGxPcHRpb25BZnRlckNob3NlbkFsbEl0ZW1zID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzZWxlY3RBbGxWYWx1ZTogYW55ID0gMDtcclxuICBASW5wdXQoKSBub0VudHJpZXNGb3VuZExhYmVsID0gJ05vIG1hdGNoaW5nIGZvdW5kJztcclxuICBASW5wdXQoKSBub25lTGFiZWwgPSAnTm9uZSc7XHJcbiAgQElucHV0KCkgYWxsTGFiZWwgPSAnQWxsJztcclxuICBASW5wdXQoKSBvdGhlckxhYmVsID0gJ090aGVyJztcclxuICBASW5wdXQoKSBvdGhlcnNMYWJlbCA9ICdPdGhlcnMnO1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVGaWx0ZXJJdGVtczogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCggJ2FsbFNlbGVjdGVkJyApIGFsbFNlbGVjdGVkITogTWF0T3B0aW9uO1xyXG4gIEBWaWV3Q2hpbGQoIE1hdFNlbGVjdFNlYXJjaENvbXBvbmVudCApXHJcbiAgbWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50ITogTWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50O1xyXG5cclxuICB2YWwhOiBhbnk7XHJcbiAgZmlsdGVyZWRJdGVtcyQ6IFJlcGxheVN1YmplY3Q8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH1bXT4gPVxyXG4gICAgbmV3IFJlcGxheVN1YmplY3Q8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH1bXT4oIDEgKTtcclxuICBpdGVtRmlsdGVyQ3RybCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcclxuICBpc0NsZWFyQWxsID0gZmFsc2U7XHJcbiAgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLnZhbDtcclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSggdmFsICkge1xyXG4gICAgaWYgKCB0aGlzLnZhbCAhPT0gdmFsICkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy5vbkNoYW5nZSggdmFsICk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCggdmFsICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMgKTogdm9pZCB7XHJcbiAgICBpZiAoIGNoYW5nZXNbICdpdGVtcycgXSAmJiBjaGFuZ2VzWyAnaXRlbXMnIF0uY3VycmVudFZhbHVlICkge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLm5leHQoIGNoYW5nZXNbICdpdGVtcycgXS5jdXJyZW50VmFsdWUuc2xpY2UoKSApO1xyXG4gICAgICB0aGlzLmZpbHRlckl0ZW1zKCk7XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5tdWx0aXBsZSAmJlxyXG4gICAgICAgIHRoaXMudXNlU2VsZWN0QWxsT3B0aW9uICYmXHJcbiAgICAgICAgdGhpcy5hbGxTZWxlY3RlZD8uc2VsZWN0ZWRcclxuICAgICAgKSB7XHJcbiAgICAgICAgc2V0VGltZW91dCggKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUoIFtcclxuICAgICAgICAgICAgLi4udGhpcy5pdGVtcy5tYXAoICggaXRlbSApID0+IGl0ZW0udmFsdWUgKSxcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RBbGxWYWx1ZSxcclxuICAgICAgICAgIF0gKTtcclxuICAgICAgICB9LCAxMDAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChcclxuICAgICAgTmdDb250cm9sLFxyXG4gICAgICBudWxsXHJcbiAgICApIGFzIE5nQ29udHJvbDtcclxuXHJcbiAgICBpZiAoIG5nQ29udHJvbCApIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICggdGhpcy5tYXRTZWxlY3RTZWFyY2hDb21wb25lbnQgKSB7XHJcbiAgICAgIHRoaXMubWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50Ll9zaG93Tm9FbnRyaWVzRm91bmQkID0gY29tYmluZUxhdGVzdCggW1xyXG4gICAgICAgIHRoaXMuaXRlbUZpbHRlckN0cmwudmFsdWVDaGFuZ2VzLFxyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyQsXHJcbiAgICAgIF0gKS5waXBlKFxyXG4gICAgICAgIG1hcChcclxuICAgICAgICAgICggWyB2YWx1ZSwgaXRlbXMgXSApID0+XHJcbiAgICAgICAgICAgIHRoaXMubWF0U2VsZWN0U2VhcmNoQ29tcG9uZW50Lm5vRW50cmllc0ZvdW5kTGFiZWwgJiZcclxuICAgICAgICAgICAgdmFsdWUgJiZcclxuICAgICAgICAgICAgaXRlbXMubGVuZ3RoID09PSAwXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxyXG4gICAgICB0aGlzLml0ZW1GaWx0ZXJDdHJsLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKCBkZWJvdW5jZVRpbWUoIDIwMCApIClcclxuICAgICAgICAuc3Vic2NyaWJlKCAoIHZhbHVlOiBhbnkgKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlckl0ZW1zKCk7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlckl0ZW1zLmVtaXQoIHZhbHVlICk7XHJcblxyXG4gICAgICAgICAgaWYgKCB0aGlzLmlzQ2xlYXJBbGwgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKCBbXSApO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ2xlYXJBbGwgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICB0b2dnbGVBbGxTZWxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAoIHRoaXMuYWxsU2VsZWN0ZWQuc2VsZWN0ZWQgKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKCBbXHJcbiAgICAgICAgLi4udGhpcy5pdGVtcy5tYXAoICggaXRlbSApID0+IGl0ZW0udmFsdWUgKSxcclxuICAgICAgICB0aGlzLnNlbGVjdEFsbFZhbHVlLFxyXG4gICAgICBdICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZSggW10gKTtcclxuICAgICAgdGhpcy5pc0NsZWFyQWxsID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZVBlck9uZSgpOiB2b2lkIHtcclxuICAgIGlmICggdGhpcy5hbGxTZWxlY3RlZCApIHtcclxuICAgICAgaWYgKCB0aGlzLmFsbFNlbGVjdGVkLnNlbGVjdGVkICkge1xyXG4gICAgICAgIHRoaXMuYWxsU2VsZWN0ZWQuZGVzZWxlY3QoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5zZXRBbGxPcHRpb25BZnRlckNob3NlbkFsbEl0ZW1zICYmXHJcbiAgICAgICAgdGhpcy5jb250cm9sLnZhbHVlLmxlbmd0aCA9PT0gdGhpcy5pdGVtcy5sZW5ndGhcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5hbGxTZWxlY3RlZC5zZWxlY3QoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5pc0NsZWFyQWxsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxTZWxlY3RlZENoZWNrZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5hbGxTZWxlY3RlZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYWxsU2VsZWN0ZWQuc2VsZWN0ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRMYWJlbCggdmFsOiBhbnkgKTogc3RyaW5nIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy51c2VTZWxlY3RBbGxPcHRpb24gJiZcclxuICAgICAgdGhpcy5hbGxTZWxlY3RlZD8uc2VsZWN0ZWQgJiZcclxuICAgICAgdGhpcy5pdGVtcyAmJlxyXG4gICAgICB0aGlzLml0ZW1zLmxlbmd0aCA+IDBcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5pdGVtc1sgMCBdLmxhYmVsO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICggdmFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDAgKSB7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQoICggaXRlbSApID0+IGl0ZW0udmFsdWUgPT09IHZhbCApO1xyXG5cclxuICAgICAgcmV0dXJuIGl0ZW0gPyBpdGVtLmxhYmVsIDogJyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZCggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlZCggJGV2ZW50OiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KCAkZXZlbnQgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmlsdGVySXRlbXMoKTogdm9pZCB7XHJcbiAgICBpZiAoICF0aGlzLml0ZW1zICkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZ2V0IHRoZSBzZWFyY2gga2V5d29yZFxyXG4gICAgbGV0IHNlYXJjaDogc3RyaW5nID0gdGhpcy5pdGVtRmlsdGVyQ3RybC52YWx1ZTtcclxuXHJcbiAgICBpZiAoICFzZWFyY2ggfHwgc2VhcmNoID09PSAnJyApIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zJC5uZXh0KCB0aGlzLml0ZW1zLnNsaWNlKCkgKTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzZWFyY2ggPSBzZWFyY2gudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLm5leHQoXHJcbiAgICAgIHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwXHJcbiAgICAgICAgPyB0aGlzLml0ZW1zLmZpbHRlciggKCBpdGVtICkgPT5cclxuICAgICAgICAgIGl0ZW0ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyggc2VhcmNoLnRvTG93ZXJDYXNlKCkgKVxyXG4gICAgICAgIClcclxuICAgICAgICA6IFtdXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8bWF0LWZvcm0tZmllbGQgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogdXNlT25seURpc2FibGVkQ2xhc3MgfVwiPlxyXG4gICAgPG1hdC1zZWxlY3RcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIChjbG9zZWQpPVwib25Ub3VjaCgpXCJcclxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxyXG4gICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlcj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImdldEFsbFNlbGVjdGVkQ2hlY2tlZCgpXCI+e3sgYWxsTGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhZ2V0QWxsU2VsZWN0ZWRDaGVja2VkKClcIlxyXG4gICAgICAgICAgPnt7IHZhbCAmJiBtdWx0aXBsZSA/IGdldExhYmVsKHZhbFswXSkgOiBnZXRMYWJlbCh2YWwpIH19XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIm11bHRpcGxlICYmIHZhbHVlPy5sZW5ndGggPiAxXCIgY2xhc3M9XCJhZGRpdGlvbmFsLXNlbGVjdGlvblwiPlxyXG4gICAgICAgICAgICAoK3t7IHVzZVNlbGVjdEFsbE9wdGlvbiAmJiB0aGlzLmFsbFNlbGVjdGVkPy5zZWxlY3RlZCA/IHZhbHVlPy5sZW5ndGggLSAyIDogdmFsdWU/Lmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAge3sgKHZhbHVlPy5sZW5ndGggPT09IDIgPyBvdGhlckxhYmVsIDogb3RoZXJzTGFiZWwpIH19KVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwidXNlU2VhcmNoT3B0aW9uXCI+XHJcbiAgICAgICAgPG5neC1tYXQtc2VsZWN0LXNlYXJjaFxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJpdGVtRmlsdGVyQ3RybFwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJMYWJlbF09XCJzZWFyY2hGaWVsZFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFtub0VudHJpZXNGb3VuZExhYmVsXT1cIm5vRW50cmllc0ZvdW5kTGFiZWxcIlxyXG4gICAgICAgID48L25neC1tYXQtc2VsZWN0LXNlYXJjaD5cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cInVzZU5vbmVPcHRpb25cIj57eyBub25lTGFiZWwgfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0aW9uICNhbGxTZWxlY3RlZCAqbmdJZj1cInVzZVNlbGVjdEFsbE9wdGlvblwiIChjbGljayk9XCJ0b2dnbGVBbGxTZWxlY3Rpb24oKVwiIFt2YWx1ZV09XCJzZWxlY3RBbGxWYWx1ZVwiPnt7XHJcbiAgICAgICAgYWxsTGFiZWxcclxuICAgICAgfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkSXRlbXMkIHwgYXN5bmNcIiBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiIChjbGljayk9XCJ0b2dnbGVQZXJPbmUoKVwiPlxyXG4gICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbjwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';
|
|
4
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { EcabsSelectComponent } from './ecabs-select.component';
|
|
6
|
-
import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
|
|
7
|
-
import { MAT_SELECT_SCROLL_STRATEGY, MatSelectModule, } from '@angular/material/select';
|
|
8
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
9
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export class EcabsSelectModule {
|
|
12
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: EcabsSelectModule, declarations: [EcabsSelectComponent], imports: [CommonModule,
|
|
14
|
-
ElementWrapperModule,
|
|
15
|
-
MatSelectModule,
|
|
16
|
-
MatFormFieldModule,
|
|
17
|
-
FormsModule,
|
|
18
|
-
NgxMatSelectSearchModule,
|
|
19
|
-
ReactiveFormsModule], exports: [EcabsSelectComponent] });
|
|
20
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsSelectModule, providers: [
|
|
21
|
-
{
|
|
22
|
-
provide: MAT_SELECT_SCROLL_STRATEGY,
|
|
23
|
-
useFactory: scrollFactory,
|
|
24
|
-
deps: [Overlay],
|
|
25
|
-
},
|
|
26
|
-
], imports: [CommonModule,
|
|
27
|
-
ElementWrapperModule,
|
|
28
|
-
MatSelectModule,
|
|
29
|
-
MatFormFieldModule,
|
|
30
|
-
FormsModule,
|
|
31
|
-
NgxMatSelectSearchModule,
|
|
32
|
-
ReactiveFormsModule] });
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsSelectModule, decorators: [{
|
|
35
|
-
type: NgModule,
|
|
36
|
-
args: [{
|
|
37
|
-
declarations: [EcabsSelectComponent],
|
|
38
|
-
imports: [
|
|
39
|
-
CommonModule,
|
|
40
|
-
ElementWrapperModule,
|
|
41
|
-
MatSelectModule,
|
|
42
|
-
MatFormFieldModule,
|
|
43
|
-
FormsModule,
|
|
44
|
-
NgxMatSelectSearchModule,
|
|
45
|
-
ReactiveFormsModule
|
|
46
|
-
],
|
|
47
|
-
exports: [EcabsSelectComponent],
|
|
48
|
-
providers: [
|
|
49
|
-
{
|
|
50
|
-
provide: MAT_SELECT_SCROLL_STRATEGY,
|
|
51
|
-
useFactory: scrollFactory,
|
|
52
|
-
deps: [Overlay],
|
|
53
|
-
},
|
|
54
|
-
],
|
|
55
|
-
}]
|
|
56
|
-
}] });
|
|
57
|
-
export function scrollFactory(overlay) {
|
|
58
|
-
return () => overlay.scrollStrategies.block();
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtc2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QvZWNhYnMtc2VsZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixlQUFlLEdBQ2hCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUF1QixPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFzQmxFLE1BQU0sT0FBTyxpQkFBaUI7dUdBQWpCLGlCQUFpQjt3R0FBakIsaUJBQWlCLGlCQW5CWixvQkFBb0IsYUFFbEMsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLFdBQVc7WUFDWCx3QkFBd0I7WUFDeEIsbUJBQW1CLGFBRVYsb0JBQW9CO3dHQVNwQixpQkFBaUIsYUFSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxVQUFVLEVBQUUsYUFBYTtnQkFDekIsSUFBSSxFQUFFLENBQUUsT0FBTyxDQUFFO2FBQ2xCO1NBQ0YsWUFmQyxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsV0FBVztZQUNYLHdCQUF3QjtZQUN4QixtQkFBbUI7OzJGQVdWLGlCQUFpQjtrQkFwQjdCLFFBQVE7bUJBQUU7b0JBQ1QsWUFBWSxFQUFFLENBQUUsb0JBQW9CLENBQUU7b0JBQ3RDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLFdBQVc7d0JBQ1gsd0JBQXdCO3dCQUN4QixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFFLG9CQUFvQixDQUFFO29CQUNqQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsVUFBVSxFQUFFLGFBQWE7NEJBQ3pCLElBQUksRUFBRSxDQUFFLE9BQU8sQ0FBRTt5QkFDbEI7cUJBQ0Y7aUJBQ0Y7O0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBRSxPQUFnQjtJQUM3QyxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRWxlbWVudFdyYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEVjYWJzU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9lY2Ficy1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlIH0gZnJvbSAnbmd4LW1hdC1zZWxlY3Qtc2VhcmNoJztcclxuaW1wb3J0IHtcclxuICBNQVRfU0VMRUNUX1NDUk9MTF9TVFJBVEVHWSxcclxuICBNYXRTZWxlY3RNb2R1bGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgQmxvY2tTY3JvbGxTdHJhdGVneSwgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcblxyXG5ATmdNb2R1bGUoIHtcclxuICBkZWNsYXJhdGlvbnM6IFsgRWNhYnNTZWxlY3RDb21wb25lbnQgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBFbGVtZW50V3JhcHBlck1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogWyBFY2Fic1NlbGVjdENvbXBvbmVudCBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNQVRfU0VMRUNUX1NDUk9MTF9TVFJBVEVHWSxcclxuICAgICAgdXNlRmFjdG9yeTogc2Nyb2xsRmFjdG9yeSxcclxuICAgICAgZGVwczogWyBPdmVybGF5IF0sXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNTZWxlY3RNb2R1bGUgeyB9XHJcbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxGYWN0b3J5KCBvdmVybGF5OiBPdmVybGF5ICk6ICgpID0+IEJsb2NrU2Nyb2xsU3RyYXRlZ3kge1xyXG4gIHJldHVybiAoKSA9PiBvdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKTtcclxufVxyXG4iXX0=
|
package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../../ecabs-expansion-panel/ecabs-expansion-panel.component";
|
|
5
|
-
export class EcabsTableFilterWrapperComponent {
|
|
6
|
-
title;
|
|
7
|
-
actions;
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsTableFilterWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsTableFilterWrapperComponent, selector: "ecabs-table-filter-wrapper", inputs: { title: "title", actions: "actions" }, ngImport: i0, template: "<ecabs-expansion-panel [title]=\"title\" class=\"block mb-5\" [expanded]=\"true\">\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"actions\" class=\"flex justify-end\">\r\n <ng-container *ngTemplateOutlet=\"actions\"></ng-container>\r\n </div>\r\n</ecabs-expansion-panel>\r\n", styles: [":root{--color-black: #07080d;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-100: #f5f6f9;--color-gray-200: #f8f9f9;--color-gray-300: #d9d9d9;--color-gray-400: #a6a6a6;--color-gray-500: #6b6d73;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #25bd3d;--color-success--opacity: #e8f8e5;--color-success-rgb: 37, 189, 61;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5)}.mat-expansion-panel-header-title{font-size:22px}:host::ng-deep .btn__group{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.EcabsExpansionPanelComponent, selector: "ecabs-expansion-panel", inputs: ["title", "description", "index", "expanded", "disabled", "errorMessage", "showErrorMessage", "closePanel", "showIcon", "iconName", "showCheckbox", "showStatus", "status", "hideToggle"], outputs: ["checked", "opened"] }] });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsTableFilterWrapperComponent, decorators: [{
|
|
12
|
-
type: Component,
|
|
13
|
-
args: [{ selector: 'ecabs-table-filter-wrapper', template: "<ecabs-expansion-panel [title]=\"title\" class=\"block mb-5\" [expanded]=\"true\">\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"actions\" class=\"flex justify-end\">\r\n <ng-container *ngTemplateOutlet=\"actions\"></ng-container>\r\n </div>\r\n</ecabs-expansion-panel>\r\n", styles: [":root{--color-black: #07080d;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-100: #f5f6f9;--color-gray-200: #f8f9f9;--color-gray-300: #d9d9d9;--color-gray-400: #a6a6a6;--color-gray-500: #6b6d73;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #25bd3d;--color-success--opacity: #e8f8e5;--color-success-rgb: 37, 189, 61;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5)}.mat-expansion-panel-header-title{font-size:22px}:host::ng-deep .btn__group{justify-content:flex-end}\n"] }]
|
|
14
|
-
}], propDecorators: { title: [{
|
|
15
|
-
type: Input
|
|
16
|
-
}], actions: [{
|
|
17
|
-
type: Input
|
|
18
|
-
}] } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGFibGUtZmlsdGVyLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRhYmxlL2VjYWJzLXRhYmxlLWZpbHRlci13cmFwcGVyL2VjYWJzLXRhYmxlLWZpbHRlci13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10YWJsZS9lY2Ficy10YWJsZS1maWx0ZXItd3JhcHBlci9lY2Ficy10YWJsZS1maWx0ZXItd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQzs7OztBQU85RCxNQUFNLE9BQU8sZ0NBQWdDO0lBRTNDLEtBQUssQ0FBUztJQUdkLE9BQU8sQ0FBbUI7dUdBTGYsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0Msa0hDUDdDLDhSQU9BOzsyRkRBYSxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0UsNEJBQTRCOzhCQU10QyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXRhYmxlLWZpbHRlci13cmFwcGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtdGFibGUtZmlsdGVyLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy10YWJsZS1maWx0ZXItd3JhcHBlci5jb21wb25lbnQuc2NzcycgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1RhYmxlRmlsdGVyV3JhcHBlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICB0aXRsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFjdGlvbnM6IFRlbXBsYXRlUmVmPGFueT47XHJcbn1cclxuIiwiPGVjYWJzLWV4cGFuc2lvbi1wYW5lbCBbdGl0bGVdPVwidGl0bGVcIiBjbGFzcz1cImJsb2NrIG1iLTVcIiBbZXhwYW5kZWRdPVwidHJ1ZVwiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImFjdGlvbnNcIiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmRcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25zXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZWNhYnMtZXhwYW5zaW9uLXBhbmVsPlxyXG4iXX0=
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Component, ContentChild, Input } from '@angular/core';
|
|
2
|
-
import { MatTable } from '@angular/material/table';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/material/progress-bar";
|
|
6
|
-
import * as i3 from "../ecabs-empty-placeholder/ecabs-empty-placeholder.component";
|
|
7
|
-
export class TableComponent {
|
|
8
|
-
table;
|
|
9
|
-
header;
|
|
10
|
-
paginator;
|
|
11
|
-
bordered = false;
|
|
12
|
-
loading = false;
|
|
13
|
-
isEmpty;
|
|
14
|
-
isEmptyMessage;
|
|
15
|
-
redirectPath;
|
|
16
|
-
srcImageEmpty;
|
|
17
|
-
ngAfterContentChecked() {
|
|
18
|
-
if (this.table) {
|
|
19
|
-
this.isEmpty = !this.table['_data']?.length;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TableComponent, selector: "ecabs-table", inputs: { header: "header", paginator: "paginator", bordered: "bordered", loading: "loading", isEmpty: "isEmpty", isEmptyMessage: "isEmptyMessage", redirectPath: "redirectPath", srcImageEmpty: "srcImageEmpty" }, queries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true }], ngImport: i0, template: "<section class=\"table-ui table-ui--wrapper\" [ngClass]=\"{ 'table-ui__bordered': bordered, loading: loading }\">\r\n <mat-progress-bar *ngIf=\"loading\" mode=\"indeterminate\" class=\"table-ui__progress\"></mat-progress-bar>\r\n\r\n\r\n <div *ngIf=\"header\" class=\"table-ui__header\">\r\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!(isEmptyMessage && isEmpty); else noDataTemplate\">\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"paginator\" class=\"table-ui__paginator\">\r\n <ng-container *ngTemplateOutlet=\"paginator\"></ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <!--#For Empty state -->\r\n <ng-template #noDataTemplate>\r\n <ecabs-empty-placeholder\r\n *ngIf=\"!loading\"\r\n [redirectPath]=\"redirectPath\"\r\n [isEmptyMessage]=\"isEmptyMessage\"\r\n [srcImage]=\"srcImageEmpty\"\r\n ></ecabs-empty-placeholder>\r\n </ng-template>\r\n</section>\r\n", styles: [":host mat-progress-bar{position:absolute;width:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i3.EcabsEmptyPlaceholderComponent, selector: "ecabs-empty-placeholder", inputs: ["isEmptyMessage", "redirectPath", "srcImage"] }] });
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TableComponent, decorators: [{
|
|
26
|
-
type: Component,
|
|
27
|
-
args: [{ selector: 'ecabs-table', template: "<section class=\"table-ui table-ui--wrapper\" [ngClass]=\"{ 'table-ui__bordered': bordered, loading: loading }\">\r\n <mat-progress-bar *ngIf=\"loading\" mode=\"indeterminate\" class=\"table-ui__progress\"></mat-progress-bar>\r\n\r\n\r\n <div *ngIf=\"header\" class=\"table-ui__header\">\r\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!(isEmptyMessage && isEmpty); else noDataTemplate\">\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"paginator\" class=\"table-ui__paginator\">\r\n <ng-container *ngTemplateOutlet=\"paginator\"></ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <!--#For Empty state -->\r\n <ng-template #noDataTemplate>\r\n <ecabs-empty-placeholder\r\n *ngIf=\"!loading\"\r\n [redirectPath]=\"redirectPath\"\r\n [isEmptyMessage]=\"isEmptyMessage\"\r\n [srcImage]=\"srcImageEmpty\"\r\n ></ecabs-empty-placeholder>\r\n </ng-template>\r\n</section>\r\n", styles: [":host mat-progress-bar{position:absolute;width:auto}\n"] }]
|
|
28
|
-
}], propDecorators: { table: [{
|
|
29
|
-
type: ContentChild,
|
|
30
|
-
args: [MatTable]
|
|
31
|
-
}], header: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}], paginator: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], bordered: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], loading: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], isEmpty: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], isEmptyMessage: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], redirectPath: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], srcImageEmpty: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRhYmxlL2VjYWJzLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10YWJsZS9lY2Ficy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFRbkQsTUFBTSxPQUFPLGNBQWM7SUFFekIsS0FBSyxDQUFnQjtJQUdyQixNQUFNLENBQW1CO0lBR3pCLFNBQVMsQ0FBbUI7SUFHNUIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUdqQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBR2hCLE9BQU8sQ0FBVTtJQUVqQixjQUFjLENBQVM7SUFHdkIsWUFBWSxDQUEwQjtJQUd0QyxhQUFhLENBQVM7SUFFdEIscUJBQXFCO1FBQ25CLElBQUssSUFBSSxDQUFDLEtBQUssRUFBRztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBRSxPQUFPLENBQUUsRUFBRSxNQUFNLENBQUM7U0FDL0M7SUFDSCxDQUFDO3VHQS9CVSxjQUFjOzJGQUFkLGNBQWMsMFNBQ1YsUUFBUSxnRENWekIseTlCQTBCQTs7MkZEakJhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsYUFBYTs4QkFNdkIsS0FBSztzQkFESixZQUFZO3VCQUFFLFFBQVE7Z0JBSXZCLE1BQU07c0JBREwsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBQbGFjZWhvbGRlclJlZGlyZWN0UGF0aCB9IGZyb20gJy4uL2VjYWJzLWVtcHR5LXBsYWNlaG9sZGVyL2VjYWJzLWVtcHR5LXBsYWNlaG9sZGVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KCB7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4vZWNhYnMtdGFibGUuY29tcG9uZW50LnNjc3MnIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcclxuICBAQ29udGVudENoaWxkKCBNYXRUYWJsZSApXHJcbiAgdGFibGU6IE1hdFRhYmxlPGFueT47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaGVhZGVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBhZ2luYXRvcjogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KClcclxuICBib3JkZXJlZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBpc0VtcHR5OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpXHJcbiAgaXNFbXB0eU1lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICByZWRpcmVjdFBhdGg6IFBsYWNlaG9sZGVyUmVkaXJlY3RQYXRoO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNyY0ltYWdlRW1wdHk6IHN0cmluZztcclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKCB0aGlzLnRhYmxlICkge1xyXG4gICAgICB0aGlzLmlzRW1wdHkgPSAhdGhpcy50YWJsZVsgJ19kYXRhJyBdPy5sZW5ndGg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwidGFibGUtdWkgdGFibGUtdWktLXdyYXBwZXJcIiBbbmdDbGFzc109XCJ7ICd0YWJsZS11aV9fYm9yZGVyZWQnOiBib3JkZXJlZCwgbG9hZGluZzogbG9hZGluZyB9XCI+XHJcbiAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJsb2FkaW5nXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBjbGFzcz1cInRhYmxlLXVpX19wcm9ncmVzc1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuXHJcblxyXG4gIDxkaXYgKm5nSWY9XCJoZWFkZXJcIiBjbGFzcz1cInRhYmxlLXVpX19oZWFkZXJcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEoaXNFbXB0eU1lc3NhZ2UgJiYgaXNFbXB0eSk7IGVsc2Ugbm9EYXRhVGVtcGxhdGVcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwicGFnaW5hdG9yXCIgY2xhc3M9XCJ0YWJsZS11aV9fcGFnaW5hdG9yXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwYWdpbmF0b3JcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tI0ZvciBFbXB0eSBzdGF0ZSAtLT5cclxuICA8bmctdGVtcGxhdGUgI25vRGF0YVRlbXBsYXRlPlxyXG4gICAgPGVjYWJzLWVtcHR5LXBsYWNlaG9sZGVyXHJcbiAgICAgICpuZ0lmPVwiIWxvYWRpbmdcIlxyXG4gICAgICBbcmVkaXJlY3RQYXRoXT1cInJlZGlyZWN0UGF0aFwiXHJcbiAgICAgIFtpc0VtcHR5TWVzc2FnZV09XCJpc0VtcHR5TWVzc2FnZVwiXHJcbiAgICAgIFtzcmNJbWFnZV09XCJzcmNJbWFnZUVtcHR5XCJcclxuICAgID48L2VjYWJzLWVtcHR5LXBsYWNlaG9sZGVyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvc2VjdGlvbj5cclxuIl19
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import ElementBaseComponent from '../base/element-base';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../base/element-wrapper/element-wrapper.component";
|
|
6
|
-
import * as i2 from "@angular/forms";
|
|
7
|
-
export class EcabsTextareaComponent extends ElementBaseComponent {
|
|
8
|
-
injector;
|
|
9
|
-
rows;
|
|
10
|
-
val;
|
|
11
|
-
get value() {
|
|
12
|
-
return this.val;
|
|
13
|
-
}
|
|
14
|
-
set value(val) {
|
|
15
|
-
if (val !== undefined && this.val !== val) {
|
|
16
|
-
this.val = val;
|
|
17
|
-
this.onChange(val);
|
|
18
|
-
this.onTouch(val);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
constructor(injector) {
|
|
22
|
-
super();
|
|
23
|
-
this.injector = injector;
|
|
24
|
-
}
|
|
25
|
-
ngAfterViewInit() {
|
|
26
|
-
const ngControl = this.injector.get(NgControl, null);
|
|
27
|
-
if (ngControl) {
|
|
28
|
-
this.control = ngControl.control;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
32
|
-
onChange = () => { };
|
|
33
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
34
|
-
onTouch = () => { };
|
|
35
|
-
writeValue(value) {
|
|
36
|
-
this.value = value;
|
|
37
|
-
}
|
|
38
|
-
registerOnChange(fn) {
|
|
39
|
-
this.onChange = fn;
|
|
40
|
-
}
|
|
41
|
-
registerOnTouched(fn) {
|
|
42
|
-
this.onTouch = fn;
|
|
43
|
-
}
|
|
44
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsTextareaComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: EcabsTextareaComponent, selector: "ecabs-textarea", inputs: { rows: "rows" }, providers: [
|
|
46
|
-
{
|
|
47
|
-
provide: NG_VALUE_ACCESSOR,
|
|
48
|
-
useExisting: EcabsTextareaComponent,
|
|
49
|
-
multi: true,
|
|
50
|
-
},
|
|
51
|
-
], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <textarea\r\n class=\"form-field__textarea\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [rows]=\"rows\"\r\n >\r\n </textarea>\r\n</app-element-wrapper>\r\n", dependencies: [{ kind: "component", type: i1.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { 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.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
52
|
-
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EcabsTextareaComponent, decorators: [{
|
|
54
|
-
type: Component,
|
|
55
|
-
args: [{ selector: 'ecabs-textarea', providers: [
|
|
56
|
-
{
|
|
57
|
-
provide: NG_VALUE_ACCESSOR,
|
|
58
|
-
useExisting: EcabsTextareaComponent,
|
|
59
|
-
multi: true,
|
|
60
|
-
},
|
|
61
|
-
], template: "<app-element-wrapper [data]=\"getData()\">\r\n <textarea\r\n class=\"form-field__textarea\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [rows]=\"rows\"\r\n >\r\n </textarea>\r\n</app-element-wrapper>\r\n" }]
|
|
62
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { rows: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRleHRhcmVhL2VjYWJzLXRleHRhcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10ZXh0YXJlYS9lY2Ficy10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBWSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUE0QyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDOzs7O0FBYXhELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxvQkFBb0I7SUFrQjFDO0lBaEJwQixJQUFJLENBQVU7SUFFZCxHQUFHLENBQVU7SUFFYixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEdBQUc7UUFDWCxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUU7WUFDekMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsWUFBb0IsUUFBa0I7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFEVSxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRXRDLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxTQUFTLEdBQWMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBYyxDQUFDO1FBQzdFLElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBNkIsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsUUFBUSxHQUFRLEdBQVMsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUMvQixnRUFBZ0U7SUFDaEUsT0FBTyxHQUFRLEdBQVMsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUU5QixVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO3VHQTVDVSxzQkFBc0I7MkZBQXRCLHNCQUFzQixtRUFSdEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsc0JBQXNCO2dCQUNuQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDYkgsaVdBYUE7OzJGREVhLHNCQUFzQjtrQkFYbEMsU0FBUzsrQkFDRSxnQkFBZ0IsYUFFZjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHdCQUF3Qjs0QkFDbkMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7K0ZBSUQsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFVudHlwZWRGb3JtQ29udHJvbCwgTmdDb250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEVsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtdGV4dGFyZWEnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNUZXh0YXJlYUNvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1RleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgRWxlbWVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KClcclxuICByb3dzITogbnVtYmVyO1xyXG5cclxuICB2YWwhOiBzdHJpbmc7XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsO1xyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKHZhbCkge1xyXG4gICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkICYmIHRoaXMudmFsICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcclxuICAgICAgdGhpcy5vblRvdWNoKHZhbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKSBhcyBOZ0NvbnRyb2w7XHJcbiAgICBpZiAobmdDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cclxuICBvbkNoYW5nZTogYW55ID0gKCk6IHZvaWQgPT4ge307XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxyXG4gIG9uVG91Y2g6IGFueSA9ICgpOiB2b2lkID0+IHt9O1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDx0ZXh0YXJlYVxyXG4gICAgY2xhc3M9XCJmb3JtLWZpZWxkX190ZXh0YXJlYVwiXHJcbiAgICBbaWRdPVwibmFtZVwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCJcclxuICAgIFtyb3dzXT1cInJvd3NcIlxyXG4gID5cclxuICA8L3RleHRhcmVhPlxyXG48L2FwcC1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==
|