ecabs-components 0.0.53 → 0.0.54
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/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +24 -6
- package/esm2020/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +8 -8
- package/esm2020/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +21 -3
- package/esm2020/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +8 -3
- package/esm2020/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +8 -4
- package/esm2020/lib/ecabs-select/ecabs-select.component.mjs +41 -129
- package/fesm2015/ecabs-components.mjs +102 -149
- package/fesm2015/ecabs-components.mjs.map +1 -1
- package/fesm2020/ecabs-components.mjs +100 -147
- package/fesm2020/ecabs-components.mjs.map +1 -1
- package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +9 -4
- package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.d.ts +4 -4
- package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +7 -1
- package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +3 -1
- package/lib/ecabs-language-selector/ecabs-language-selector.module.d.ts +2 -1
- package/lib/ecabs-select/ecabs-select.component.d.ts +5 -17
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ import * as i3$1 from '@angular/material/form-field';
|
|
|
15
15
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
16
16
|
import * as i7 from 'ngx-mat-select-search';
|
|
17
17
|
import { MatSelectSearchComponent, NgxMatSelectSearchModule } from 'ngx-mat-select-search';
|
|
18
|
-
import {
|
|
18
|
+
import { ReplaySubject, Subscription, combineLatest, map, debounceTime, Subject, takeUntil } from 'rxjs';
|
|
19
19
|
import * as i4$1 from '@angular/material/select';
|
|
20
20
|
import { MatSelectModule, MAT_SELECT_SCROLL_STRATEGY } from '@angular/material/select';
|
|
21
21
|
import * as i2 from '@angular/material/core';
|
|
@@ -729,10 +729,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
729
729
|
}] });
|
|
730
730
|
|
|
731
731
|
class EcabsSelectComponent extends ElementBaseComponent {
|
|
732
|
-
constructor(injector
|
|
732
|
+
constructor(injector) {
|
|
733
733
|
super();
|
|
734
734
|
this.injector = injector;
|
|
735
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
736
735
|
this.multiple = false;
|
|
737
736
|
this.useNoneOption = false;
|
|
738
737
|
this.useOnlyDisabledClass = false;
|
|
@@ -748,12 +747,9 @@ class EcabsSelectComponent extends ElementBaseComponent {
|
|
|
748
747
|
this.othersLabel = 'Others';
|
|
749
748
|
this.updateFilterItems = new EventEmitter();
|
|
750
749
|
this.selectionChange = new EventEmitter();
|
|
751
|
-
this.filteredItems$ = new
|
|
750
|
+
this.filteredItems$ = new ReplaySubject(1);
|
|
752
751
|
this.itemFilterCtrl = new UntypedFormControl();
|
|
753
752
|
this.isClearAll = false;
|
|
754
|
-
this.showFilteredAllOption = true;
|
|
755
|
-
this.selectedItems = [];
|
|
756
|
-
this.notSelectedItems = [];
|
|
757
753
|
this.subscriptions = new Subscription();
|
|
758
754
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
759
755
|
this.onChange = () => { };
|
|
@@ -766,20 +762,22 @@ class EcabsSelectComponent extends ElementBaseComponent {
|
|
|
766
762
|
set value(val) {
|
|
767
763
|
if (this.val !== val) {
|
|
768
764
|
this.val = val;
|
|
769
|
-
this.setSelectedItems();
|
|
770
765
|
this.onChange(val);
|
|
771
766
|
this.onTouch(val);
|
|
772
767
|
}
|
|
773
768
|
}
|
|
774
769
|
ngOnChanges(changes) {
|
|
775
|
-
|
|
776
|
-
|
|
770
|
+
if (changes['items'] && changes['items'].currentValue) {
|
|
771
|
+
this.filteredItems$.next(changes['items'].currentValue.slice());
|
|
777
772
|
this.filterItems();
|
|
778
|
-
if (this.multiple &&
|
|
773
|
+
if (this.multiple &&
|
|
774
|
+
this.useSelectAllOption &&
|
|
775
|
+
this.allSelected?.selected) {
|
|
779
776
|
setTimeout(() => {
|
|
780
|
-
this.control.patchValue([
|
|
781
|
-
|
|
782
|
-
|
|
777
|
+
this.control.patchValue([
|
|
778
|
+
...this.items.map((item) => item.value),
|
|
779
|
+
this.selectAllValue,
|
|
780
|
+
]);
|
|
783
781
|
}, 100);
|
|
784
782
|
}
|
|
785
783
|
}
|
|
@@ -805,19 +803,17 @@ class EcabsSelectComponent extends ElementBaseComponent {
|
|
|
805
803
|
this.filterItems();
|
|
806
804
|
this.updateFilterItems.emit(value);
|
|
807
805
|
if (this.isClearAll) {
|
|
808
|
-
this.control.patchValue([]
|
|
806
|
+
this.control.patchValue([]);
|
|
809
807
|
this.isClearAll = false;
|
|
810
808
|
}
|
|
811
809
|
}));
|
|
812
810
|
}
|
|
813
811
|
toggleAllSelection() {
|
|
814
812
|
if (this.allSelected.selected) {
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
this.control.patchValue([...this.items.map((item) => item.value), this.selectAllValue]);
|
|
820
|
-
}
|
|
813
|
+
this.control.patchValue([
|
|
814
|
+
...this.items.map((item) => item.value),
|
|
815
|
+
this.selectAllValue,
|
|
816
|
+
]);
|
|
821
817
|
}
|
|
822
818
|
else {
|
|
823
819
|
this.control.patchValue([]);
|
|
@@ -825,44 +821,30 @@ class EcabsSelectComponent extends ElementBaseComponent {
|
|
|
825
821
|
}
|
|
826
822
|
}
|
|
827
823
|
togglePerOne() {
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
if (this.allSelected.selected) {
|
|
832
|
-
this.allSelected.deselect();
|
|
833
|
-
}
|
|
834
|
-
if (this.setAllOptionAfterChosenAllItems && this.control.value.length === this.items.length) {
|
|
835
|
-
this.allSelected.select();
|
|
836
|
-
}
|
|
824
|
+
if (this.allSelected) {
|
|
825
|
+
if (this.allSelected.selected) {
|
|
826
|
+
this.allSelected.deselect();
|
|
837
827
|
}
|
|
838
|
-
this.
|
|
839
|
-
|
|
828
|
+
if (this.setAllOptionAfterChosenAllItems &&
|
|
829
|
+
this.control.value.length === this.items.length) {
|
|
830
|
+
this.allSelected.select();
|
|
831
|
+
}
|
|
832
|
+
}
|
|
840
833
|
this.isClearAll = false;
|
|
841
834
|
}
|
|
842
|
-
toggleNone() {
|
|
843
|
-
this.selectedItems = [];
|
|
844
|
-
}
|
|
845
835
|
getAllSelectedChecked() {
|
|
846
836
|
return this.allSelected !== undefined && this.allSelected.selected;
|
|
847
837
|
}
|
|
848
838
|
getLabel(val) {
|
|
849
|
-
if (this.useSelectAllOption &&
|
|
839
|
+
if (this.useSelectAllOption &&
|
|
840
|
+
this.allSelected?.selected &&
|
|
841
|
+
this.items &&
|
|
842
|
+
this.items.length > 0) {
|
|
850
843
|
return this.items[0].label;
|
|
851
844
|
}
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
if (this.selectedItems && this.selectedItems.length > 0) {
|
|
856
|
-
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
857
|
-
item = this.selectedItems.find((item) => item.value === val);
|
|
858
|
-
}
|
|
859
|
-
}
|
|
860
|
-
else {
|
|
861
|
-
if (this.items && this.items.length > 0) {
|
|
862
|
-
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
863
|
-
item = this.items.find((item) => item.value === val);
|
|
864
|
-
}
|
|
865
|
-
}
|
|
845
|
+
if (val !== undefined && this.items && this.items.length > 0) {
|
|
846
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
847
|
+
const item = this.items.find((item) => item.value === val);
|
|
866
848
|
return item ? item.label : '';
|
|
867
849
|
}
|
|
868
850
|
return '';
|
|
@@ -883,99 +865,29 @@ class EcabsSelectComponent extends ElementBaseComponent {
|
|
|
883
865
|
this.selectionChange.emit($event);
|
|
884
866
|
}
|
|
885
867
|
filterItems() {
|
|
886
|
-
this.setSelectedItems();
|
|
887
868
|
if (!this.items) {
|
|
888
869
|
return;
|
|
889
870
|
}
|
|
890
871
|
// get the search keyword
|
|
891
872
|
let search = this.itemFilterCtrl.value;
|
|
892
873
|
if (!search || search === '') {
|
|
893
|
-
|
|
894
|
-
this.filteredItems$.next([...this.selectedItems]);
|
|
895
|
-
}
|
|
896
|
-
else {
|
|
897
|
-
this.filteredItems$.next(this.items?.slice());
|
|
898
|
-
}
|
|
899
|
-
this.showFilteredAllOption = true;
|
|
874
|
+
this.filteredItems$.next(this.items.slice());
|
|
900
875
|
return;
|
|
901
876
|
}
|
|
902
877
|
search = search.toLowerCase();
|
|
903
|
-
this.
|
|
904
|
-
this.
|
|
905
|
-
|
|
906
|
-
(!(this.value instanceof Array) && this.value === this.selectAllValue);
|
|
907
|
-
this.changeDetectorRef.detectChanges();
|
|
908
|
-
if (this.useSearchOption) {
|
|
909
|
-
const filteredItems = this.notSelectedItems?.length > 0
|
|
910
|
-
? this.notSelectedItems.filter((item) => item.label.toLowerCase().includes(search.toLowerCase()))
|
|
911
|
-
: [];
|
|
912
|
-
this.filteredItems$.next([...this.selectedItems, ...filteredItems]);
|
|
913
|
-
}
|
|
914
|
-
else {
|
|
915
|
-
this.filteredItems$.next(this.items?.length > 0
|
|
916
|
-
? this.items.filter((item) => item.label.toLowerCase().includes(search.toLowerCase()))
|
|
917
|
-
: []);
|
|
918
|
-
}
|
|
919
|
-
}
|
|
920
|
-
setSelectedItems() {
|
|
921
|
-
if (this.useSearchOption) {
|
|
922
|
-
const selectedItems = [];
|
|
923
|
-
if (this.value) {
|
|
924
|
-
if (this.value instanceof Array) {
|
|
925
|
-
const skipSteps = this.value.includes(this.selectAllValue);
|
|
926
|
-
if (!skipSteps) {
|
|
927
|
-
this.value.forEach((value) => {
|
|
928
|
-
const index = this.selectedItems.findIndex((selectedItem) => selectedItem.value === value);
|
|
929
|
-
if (index !== -1) {
|
|
930
|
-
selectedItems.push(this.selectedItems[index]);
|
|
931
|
-
}
|
|
932
|
-
else {
|
|
933
|
-
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
934
|
-
const item = this.items.find((item) => item.value === value);
|
|
935
|
-
if (item) {
|
|
936
|
-
selectedItems.push(item);
|
|
937
|
-
}
|
|
938
|
-
}
|
|
939
|
-
});
|
|
940
|
-
this.selectedItems.forEach((selectedItem) => {
|
|
941
|
-
const index = this.value.find((value) => selectedItem.value === value);
|
|
942
|
-
if (index === -1) {
|
|
943
|
-
selectedItems.splice(index, 1);
|
|
944
|
-
}
|
|
945
|
-
});
|
|
946
|
-
}
|
|
947
|
-
}
|
|
948
|
-
else {
|
|
949
|
-
const index = this.selectedItems.findIndex((selectedItem) => selectedItem.value === this.value);
|
|
950
|
-
if (index !== -1) {
|
|
951
|
-
selectedItems.push(this.selectedItems[index]);
|
|
952
|
-
}
|
|
953
|
-
else {
|
|
954
|
-
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
955
|
-
const item = this.items.find((item) => item.value === this.value);
|
|
956
|
-
// eslint-disable-next-line max-depth
|
|
957
|
-
if (item) {
|
|
958
|
-
selectedItems.push(item);
|
|
959
|
-
}
|
|
960
|
-
}
|
|
961
|
-
}
|
|
962
|
-
this.selectedItems = [...selectedItems];
|
|
963
|
-
this.notSelectedItems = this.items?.filter((item) => this.selectedItems.findIndex((selectedItem) => selectedItem.value === item.value) === -1);
|
|
964
|
-
}
|
|
965
|
-
else {
|
|
966
|
-
this.notSelectedItems = this.items?.slice();
|
|
967
|
-
}
|
|
968
|
-
}
|
|
878
|
+
this.filteredItems$.next(this.items && this.items.length > 0
|
|
879
|
+
? this.items.filter((item) => item.label.toLowerCase().includes(search.toLowerCase()))
|
|
880
|
+
: []);
|
|
969
881
|
}
|
|
970
882
|
}
|
|
971
|
-
EcabsSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsSelectComponent, deps: [{ token: i0.Injector }
|
|
883
|
+
EcabsSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsSelectComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
972
884
|
EcabsSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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: [
|
|
973
885
|
{
|
|
974
886
|
provide: NG_VALUE_ACCESSOR,
|
|
975
887
|
useExisting: EcabsSelectComponent,
|
|
976
888
|
multi: true,
|
|
977
889
|
},
|
|
978
|
-
], 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\"
|
|
890
|
+
], 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: ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.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", "indexAndLengthScreenReaderText", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toogleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
979
891
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsSelectComponent, decorators: [{
|
|
980
892
|
type: Component,
|
|
981
893
|
args: [{ selector: 'ecabs-select', providers: [
|
|
@@ -984,8 +896,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
984
896
|
useExisting: EcabsSelectComponent,
|
|
985
897
|
multi: true,
|
|
986
898
|
},
|
|
987
|
-
], 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\"
|
|
988
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }
|
|
899
|
+
], 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" }]
|
|
900
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { items: [{
|
|
989
901
|
type: Input
|
|
990
902
|
}], multiple: [{
|
|
991
903
|
type: Input
|
|
@@ -3150,36 +3062,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
3150
3062
|
}]
|
|
3151
3063
|
}] });
|
|
3152
3064
|
|
|
3153
|
-
class
|
|
3065
|
+
class EcabsDialogConfirmComponent {
|
|
3154
3066
|
constructor(dialogRef, data) {
|
|
3155
3067
|
this.dialogRef = dialogRef;
|
|
3156
3068
|
this.data = data;
|
|
3069
|
+
this.destroy$ = new Subject();
|
|
3157
3070
|
this.color = 'primary';
|
|
3158
3071
|
this.titleColor = 'primary';
|
|
3159
3072
|
}
|
|
3160
3073
|
ngOnInit() {
|
|
3161
3074
|
this.dialogRef.updateSize(this.data.width || '24rem');
|
|
3162
3075
|
}
|
|
3076
|
+
ngOnDestroy() {
|
|
3077
|
+
this.destroy$.next(true);
|
|
3078
|
+
this.destroy$.complete();
|
|
3079
|
+
}
|
|
3080
|
+
closeDialog() {
|
|
3081
|
+
if (this.data.loading$) {
|
|
3082
|
+
this.data.loading$?.pipe(takeUntil(this.destroy$)).subscribe((loading) => {
|
|
3083
|
+
if (!loading) {
|
|
3084
|
+
this.dialogRef.close(true);
|
|
3085
|
+
}
|
|
3086
|
+
});
|
|
3087
|
+
}
|
|
3088
|
+
else {
|
|
3089
|
+
this.dialogRef.close(true);
|
|
3090
|
+
}
|
|
3091
|
+
}
|
|
3163
3092
|
}
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type:
|
|
3093
|
+
EcabsDialogConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsDialogConfirmComponent, deps: [{ token: i1$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
3094
|
+
EcabsDialogConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EcabsDialogConfirmComponent, selector: "ecabs-dialog-confirm", ngImport: i0, template: "<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"font-semibold heading--xs modal-title {{ data.titleColor }}\" *ngIf=\"data.title\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n <div>{{ data?.content }}</div>\r\n <ng-container *ngTemplateOutlet=\"data?.message\"></ng-container>\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons (click)=\"dialogRef.close(false)\" [stroked]=\"true\">\r\n {{ data?.cancelLabel }}\r\n </ecabs-buttons>\r\n\r\n <ecabs-buttons [color]=\"data?.color || color\" [loading]=\"data.loading$ | async\" (click)=\"closeDialog()\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-dialog-title .mat-icon.icon--close,:host ::ng-deep .mat-dialog-title .mat-icon.icon--close{width:20px;height:20px;line-height:20px;font-size:20px}:host app-buttons,:host ::ng-deep app-buttons{width:calc(50% - .5rem)}:host button,:host ::ng-deep button{width:100%}.modal-title.warn{color:var(--color-error)!important}\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: "directive", type: i1$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { kind: "component", type: ButtonsComponent, selector: "ecabs-buttons", inputs: ["label", "disabled", "loading", "form", "size", "type", "raised", "stroked", "full", "color"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
3095
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsDialogConfirmComponent, decorators: [{
|
|
3167
3096
|
type: Component,
|
|
3168
|
-
args: [{ selector: 'ecabs-dialog-confirm', template: "<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"font-semibold heading--xs modal-title {{ data.titleColor }}\" *ngIf=\"data.title\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n <div>{{ data?.content }}</div>\r\n <ng-container *ngTemplateOutlet=\"data?.message\"></ng-container>\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons (click)=\"dialogRef.close(false)\" [stroked]=\"true\">\r\n {{ data?.cancelLabel }}\r\n </ecabs-buttons>\r\n\r\n <ecabs-buttons [color]=\"data?.color || color\" (click)=\"
|
|
3097
|
+
args: [{ selector: 'ecabs-dialog-confirm', template: "<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"font-semibold heading--xs modal-title {{ data.titleColor }}\" *ngIf=\"data.title\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n <div>{{ data?.content }}</div>\r\n <ng-container *ngTemplateOutlet=\"data?.message\"></ng-container>\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons (click)=\"dialogRef.close(false)\" [stroked]=\"true\">\r\n {{ data?.cancelLabel }}\r\n </ecabs-buttons>\r\n\r\n <ecabs-buttons [color]=\"data?.color || color\" [loading]=\"data.loading$ | async\" (click)=\"closeDialog()\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-dialog-title .mat-icon.icon--close,:host ::ng-deep .mat-dialog-title .mat-icon.icon--close{width:20px;height:20px;line-height:20px;font-size:20px}:host app-buttons,:host ::ng-deep app-buttons{width:calc(50% - .5rem)}:host button,:host ::ng-deep button{width:100%}.modal-title.warn{color:var(--color-error)!important}\n"] }]
|
|
3169
3098
|
}], ctorParameters: function () { return [{ type: i1$1.MatDialogRef }, { type: undefined, decorators: [{
|
|
3170
3099
|
type: Inject,
|
|
3171
3100
|
args: [MAT_DIALOG_DATA]
|
|
3172
3101
|
}] }]; } });
|
|
3173
3102
|
|
|
3174
|
-
class
|
|
3103
|
+
class EcabsDialogConfirmModule {
|
|
3175
3104
|
}
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type:
|
|
3105
|
+
EcabsDialogConfirmModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsDialogConfirmModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3106
|
+
EcabsDialogConfirmModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: EcabsDialogConfirmModule, declarations: [EcabsDialogConfirmComponent], imports: [CommonModule, MatDialogModule, EcabsButtonsModule, MatIconModule] });
|
|
3107
|
+
EcabsDialogConfirmModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsDialogConfirmModule, imports: [CommonModule, MatDialogModule, EcabsButtonsModule, MatIconModule] });
|
|
3108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsDialogConfirmModule, decorators: [{
|
|
3180
3109
|
type: NgModule,
|
|
3181
3110
|
args: [{
|
|
3182
|
-
declarations: [
|
|
3111
|
+
declarations: [EcabsDialogConfirmComponent],
|
|
3183
3112
|
imports: [CommonModule, MatDialogModule, EcabsButtonsModule, MatIconModule],
|
|
3184
3113
|
}]
|
|
3185
3114
|
}] });
|
|
@@ -3190,13 +3119,30 @@ class EcabsDialogMessageComponent {
|
|
|
3190
3119
|
this.data = data;
|
|
3191
3120
|
this.color = 'primary';
|
|
3192
3121
|
this.titleColor = 'success';
|
|
3122
|
+
this.destroy$ = new Subject();
|
|
3123
|
+
}
|
|
3124
|
+
ngOnDestroy() {
|
|
3125
|
+
this.destroy$.next(true);
|
|
3126
|
+
this.destroy$.complete();
|
|
3127
|
+
}
|
|
3128
|
+
closeDialog() {
|
|
3129
|
+
if (this.data.loading$) {
|
|
3130
|
+
this.data.loading$?.pipe(takeUntil(this.destroy$)).subscribe((loading) => {
|
|
3131
|
+
if (!loading) {
|
|
3132
|
+
this.dialogRef.close(true);
|
|
3133
|
+
}
|
|
3134
|
+
});
|
|
3135
|
+
}
|
|
3136
|
+
else {
|
|
3137
|
+
this.dialogRef.close(true);
|
|
3138
|
+
}
|
|
3193
3139
|
}
|
|
3194
3140
|
}
|
|
3195
3141
|
EcabsDialogMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsDialogMessageComponent, deps: [{ token: i1$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
3196
|
-
EcabsDialogMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EcabsDialogMessageComponent, selector: "ecabs-dialog-message", ngImport: i0, template: "<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div *ngIf=\"data.title\" class=\"title font-semibold heading--xs\" [ngClass]=\"data?.titleColor || titleColor\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n {{data?.message}}\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons [color]=\"data?.color || color\" [full]=\"data?.isButtonBlock\" (click)=\"
|
|
3142
|
+
EcabsDialogMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EcabsDialogMessageComponent, selector: "ecabs-dialog-message", ngImport: i0, template: "<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div *ngIf=\"data.title\" class=\"title font-semibold heading--xs\" [ngClass]=\"data?.titleColor || titleColor\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n {{data?.message}}\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons [color]=\"data?.color || color\" [full]=\"data?.isButtonBlock\" [loading]=\"data.loading$ | async\" (click)=\"closeDialog()\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-dialog-title .mat-icon.icon--close,:host ::ng-deep .mat-dialog-title .mat-icon.icon--close{width:20px;height:20px;line-height:20px;font-size:20px}:host .title.success,:host ::ng-deep .title.success{color:var(--color-success)}:host app-buttons,:host ::ng-deep app-buttons{width:calc(50% - .5rem)}:host button,:host ::ng-deep button{width:100%}\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$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { kind: "component", type: ButtonsComponent, selector: "ecabs-buttons", inputs: ["label", "disabled", "loading", "form", "size", "type", "raised", "stroked", "full", "color"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
3197
3143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsDialogMessageComponent, decorators: [{
|
|
3198
3144
|
type: Component,
|
|
3199
|
-
args: [{ selector: 'ecabs-dialog-message', template: "<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div *ngIf=\"data.title\" class=\"title font-semibold heading--xs\" [ngClass]=\"data?.titleColor || titleColor\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n {{data?.message}}\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons [color]=\"data?.color || color\" [full]=\"data?.isButtonBlock\" (click)=\"
|
|
3145
|
+
args: [{ selector: 'ecabs-dialog-message', template: "<div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon\r\n (click)=\"dialogRef.close(true)\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\"\r\n role=\"button\"\r\n >\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div *ngIf=\"data.title\" class=\"title font-semibold heading--xs\" [ngClass]=\"data?.titleColor || titleColor\">\r\n {{ data.title }}\r\n </div>\r\n</div>\r\n\r\n<div mat-dialog-content>\r\n {{data?.message}}\r\n</div>\r\n\r\n<div class=\"pb-6\">\r\n <div mat-dialog-actions class=\"btn__group flex justify-end w-full\" *ngIf=\"!data?.isPopover\">\r\n <ecabs-buttons [color]=\"data?.color || color\" [full]=\"data?.isButtonBlock\" [loading]=\"data.loading$ | async\" (click)=\"closeDialog()\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-dialog-title .mat-icon.icon--close,:host ::ng-deep .mat-dialog-title .mat-icon.icon--close{width:20px;height:20px;line-height:20px;font-size:20px}:host .title.success,:host ::ng-deep .title.success{color:var(--color-success)}:host app-buttons,:host ::ng-deep app-buttons{width:calc(50% - .5rem)}:host button,:host ::ng-deep button{width:100%}\n"] }]
|
|
3200
3146
|
}], ctorParameters: function () { return [{ type: i1$1.MatDialogRef }, { type: undefined, decorators: [{
|
|
3201
3147
|
type: Inject,
|
|
3202
3148
|
args: [MAT_DIALOG_DATA]
|
|
@@ -3272,14 +3218,18 @@ class EcabsLanguageSelectorComponent {
|
|
|
3272
3218
|
}
|
|
3273
3219
|
}
|
|
3274
3220
|
EcabsLanguageSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsLanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3275
|
-
EcabsLanguageSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EcabsLanguageSelectorComponent, selector: "ecabs-language-selector", inputs: { languages: "languages", currentLanguage: "currentLanguage" }, outputs: { languageChanged: "languageChanged" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field>\r\n <mat-select class=\"capitalize\" [(ngModel)]=\"selectedLang\" name=\"language\" (ngModelChange)=\"toggleLang()\"\r\n panelClass=\"wide-select\">\r\n <mat-select-trigger>\r\n <div class=\"flex items-center\">\r\n <span [ngClass]=\"flagClass(matchSelected())\"></span>\r\n <div class=\"ml-2\">{{standardLang(matchSelected())}}</div>\r\n </div>\r\n </mat-select-trigger>\r\n <mat-option class=\"capitalize\" *ngFor=\"let lang of languages\" [value]=\"lang\">\r\n <div class=\"flex items-center\">\r\n <span [ngClass]=\"flagClass(lang)\"></span>\r\n <div class=\"ml-2\">{{standardLang(lang) | titlecase}}</div>\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-select{padding:0;border:0}:host::ng-deep .mat-select .mat-select-arrow{border:none}:host::ng-deep .mat-select,:host::ng-deep .mat-select .mat-option{font-size:12px}:host::ng-deep .mat-form-field-infix{width:auto}\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: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }] });
|
|
3221
|
+
EcabsLanguageSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EcabsLanguageSelectorComponent, selector: "ecabs-language-selector", inputs: { languages: "languages", currentLanguage: "currentLanguage", flagOnly: "flagOnly", tooltip: "tooltip" }, outputs: { languageChanged: "languageChanged" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field [ngClass]=\"{'flag-only': flagOnly}\">\r\n <mat-select class=\"capitalize\" [(ngModel)]=\"selectedLang\" name=\"language\" (ngModelChange)=\"toggleLang()\"\r\n panelClass=\"wide-select\">\r\n <mat-select-trigger>\r\n <div class=\"flex items-center\" [matTooltip]=\"tooltip\" [matTooltipDisabled]=\"!flagOnly || !tooltip\">\r\n <span [ngClass]=\"flagClass(matchSelected())\"></span>\r\n <div *ngIf=\"!flagOnly\" class=\"ml-2\">{{standardLang(matchSelected())}}</div>\r\n </div>\r\n </mat-select-trigger>\r\n <mat-option class=\"capitalize\" *ngFor=\"let lang of languages\" [value]=\"lang\">\r\n <div class=\"flex items-center\">\r\n <span [ngClass]=\"flagClass(lang)\"></span>\r\n <div class=\"ml-2\">{{standardLang(lang) | titlecase}}</div>\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-select{padding:0;border:0}:host::ng-deep .mat-select .mat-select-arrow{border:none}:host::ng-deep .mat-select,:host::ng-deep .mat-select .mat-option{font-size:12px}:host::ng-deep .mat-form-field-infix{width:auto}:host::ng-deep .flag-only .mat-select .mat-select-arrow-wrapper{width:0}\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: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }] });
|
|
3276
3222
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsLanguageSelectorComponent, decorators: [{
|
|
3277
3223
|
type: Component,
|
|
3278
|
-
args: [{ selector: 'ecabs-language-selector', template: "<mat-form-field>\r\n <mat-select class=\"capitalize\" [(ngModel)]=\"selectedLang\" name=\"language\" (ngModelChange)=\"toggleLang()\"\r\n panelClass=\"wide-select\">\r\n <mat-select-trigger>\r\n <div class=\"flex items-center\">\r\n <span [ngClass]=\"flagClass(matchSelected())\"></span>\r\n <div class=\"ml-2\">{{standardLang(matchSelected())}}</div>\r\n </div>\r\n </mat-select-trigger>\r\n <mat-option class=\"capitalize\" *ngFor=\"let lang of languages\" [value]=\"lang\">\r\n <div class=\"flex items-center\">\r\n <span [ngClass]=\"flagClass(lang)\"></span>\r\n <div class=\"ml-2\">{{standardLang(lang) | titlecase}}</div>\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-select{padding:0;border:0}:host::ng-deep .mat-select .mat-select-arrow{border:none}:host::ng-deep .mat-select,:host::ng-deep .mat-select .mat-option{font-size:12px}:host::ng-deep .mat-form-field-infix{width:auto}\n"] }]
|
|
3224
|
+
args: [{ selector: 'ecabs-language-selector', template: "<mat-form-field [ngClass]=\"{'flag-only': flagOnly}\">\r\n <mat-select class=\"capitalize\" [(ngModel)]=\"selectedLang\" name=\"language\" (ngModelChange)=\"toggleLang()\"\r\n panelClass=\"wide-select\">\r\n <mat-select-trigger>\r\n <div class=\"flex items-center\" [matTooltip]=\"tooltip\" [matTooltipDisabled]=\"!flagOnly || !tooltip\">\r\n <span [ngClass]=\"flagClass(matchSelected())\"></span>\r\n <div *ngIf=\"!flagOnly\" class=\"ml-2\">{{standardLang(matchSelected())}}</div>\r\n </div>\r\n </mat-select-trigger>\r\n <mat-option class=\"capitalize\" *ngFor=\"let lang of languages\" [value]=\"lang\">\r\n <div class=\"flex items-center\">\r\n <span [ngClass]=\"flagClass(lang)\"></span>\r\n <div class=\"ml-2\">{{standardLang(lang) | titlecase}}</div>\r\n </div>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-select{padding:0;border:0}:host::ng-deep .mat-select .mat-select-arrow{border:none}:host::ng-deep .mat-select,:host::ng-deep .mat-select .mat-option{font-size:12px}:host::ng-deep .mat-form-field-infix{width:auto}:host::ng-deep .flag-only .mat-select .mat-select-arrow-wrapper{width:0}\n"] }]
|
|
3279
3225
|
}], propDecorators: { languages: [{
|
|
3280
3226
|
type: Input
|
|
3281
3227
|
}], currentLanguage: [{
|
|
3282
3228
|
type: Input
|
|
3229
|
+
}], flagOnly: [{
|
|
3230
|
+
type: Input
|
|
3231
|
+
}], tooltip: [{
|
|
3232
|
+
type: Input
|
|
3283
3233
|
}], languageChanged: [{
|
|
3284
3234
|
type: Output
|
|
3285
3235
|
}] } });
|
|
@@ -3291,12 +3241,14 @@ EcabsLanguageSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0
|
|
|
3291
3241
|
MatSelectModule,
|
|
3292
3242
|
MatFormFieldModule,
|
|
3293
3243
|
FormsModule,
|
|
3294
|
-
ReactiveFormsModule
|
|
3244
|
+
ReactiveFormsModule,
|
|
3245
|
+
MatTooltipModule], exports: [EcabsLanguageSelectorComponent] });
|
|
3295
3246
|
EcabsLanguageSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsLanguageSelectorModule, imports: [CommonModule,
|
|
3296
3247
|
MatSelectModule,
|
|
3297
3248
|
MatFormFieldModule,
|
|
3298
3249
|
FormsModule,
|
|
3299
|
-
ReactiveFormsModule
|
|
3250
|
+
ReactiveFormsModule,
|
|
3251
|
+
MatTooltipModule] });
|
|
3300
3252
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EcabsLanguageSelectorModule, decorators: [{
|
|
3301
3253
|
type: NgModule,
|
|
3302
3254
|
args: [{
|
|
@@ -3306,7 +3258,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
3306
3258
|
MatSelectModule,
|
|
3307
3259
|
MatFormFieldModule,
|
|
3308
3260
|
FormsModule,
|
|
3309
|
-
ReactiveFormsModule
|
|
3261
|
+
ReactiveFormsModule,
|
|
3262
|
+
MatTooltipModule
|
|
3310
3263
|
],
|
|
3311
3264
|
exports: [EcabsLanguageSelectorComponent],
|
|
3312
3265
|
}]
|
|
@@ -3385,5 +3338,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
3385
3338
|
* Generated bundle index. Do not edit.
|
|
3386
3339
|
*/
|
|
3387
3340
|
|
|
3388
|
-
export { ActiveStatusFilterComponent, ButtonsComponent,
|
|
3341
|
+
export { ActiveStatusFilterComponent, ButtonsComponent, EcabsActiveStatusFilterModule, EcabsBreadcrumbComponent, EcabsBreadcrumbModule, EcabsButtonsModule, EcabsCheckboxToggleComponent, EcabsCheckboxToggleModule, EcabsComponentsService, EcabsDatePickerComponent, EcabsDatePickerHeaderComponent, EcabsDatePickerModule, EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent, EcabsDateTimeRangePickerComponent, EcabsDateTimeRangePickerHeaderComponent, EcabsDatetimePickerModule, EcabsDatetimeRangePickerModule, EcabsDialogConfirmComponent, EcabsDialogConfirmModule, EcabsDialogMessageComponent, EcabsDialogMessageModule, EcabsEmptyPlaceholderComponent, EcabsEmptyPlaceholderModule, EcabsExpansionPanelComponent, EcabsExpansionPanelModule, EcabsIncrementComponent, EcabsIncrementModule, EcabsInputComponent, EcabsInputModule, EcabsLanguageSelectorComponent, EcabsLanguageSelectorModule, EcabsLoadingComponent, EcabsLoadingModule, EcabsPhoneComponent, EcabsPhoneModule, EcabsRadioButtonListComponent, EcabsRadioButtonListModule, EcabsSelectComponent, EcabsSelectModule, EcabsSpinnerComponent, EcabsTableFilterWrapperComponent, EcabsTableFilterWrapperModule, EcabsTableModule, EcabsTextAreaModule, EcabsTextareaComponent, EcabsTimeListPanelComponent, EcabsTimepickerComponent, EcabsTimepickerModule, EcabsValidationComponent, EcabsValidationModule, EcabsValidationViewModule, FormTimePickerService, NoteComponent, NoteModule, TableComponent, TimeRangeDirective, ValidationComponent, scrollFactory };
|
|
3389
3342
|
//# sourceMappingURL=ecabs-components.mjs.map
|