ngx-techlify-core 14.11.0 → 14.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/base-model/techlify-listing-component.class.mjs +2 -2
- package/esm2020/lib/column-selector/column-selector/column-selector.component.mjs +37 -0
- package/esm2020/lib/column-selector/column-selector.module.mjs +40 -0
- package/esm2020/lib/column-selector/index.mjs +3 -0
- package/esm2020/lib/number-input-button/index.mjs +3 -0
- package/esm2020/lib/number-input-button/number-input-button/number-input-button.component.mjs +104 -0
- package/esm2020/lib/number-input-button/number-input-button.module.mjs +32 -0
- package/esm2020/lib/searchable-selector/searchable-selector.component.mjs +1 -1
- package/esm2020/lib/searchable-selector/searchable-selector.module.mjs +9 -10
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/ngx-techlify-core.mjs +276 -92
- package/fesm2015/ngx-techlify-core.mjs.map +1 -1
- package/fesm2020/ngx-techlify-core.mjs +274 -92
- package/fesm2020/ngx-techlify-core.mjs.map +1 -1
- package/lib/column-selector/column-selector/column-selector.component.d.ts +13 -0
- package/lib/column-selector/column-selector.module.d.ts +12 -0
- package/lib/column-selector/index.d.ts +2 -0
- package/lib/number-input-button/index.d.ts +2 -0
- package/lib/number-input-button/number-input-button/number-input-button.component.d.ts +32 -0
- package/lib/number-input-button/number-input-button.module.d.ts +10 -0
- package/lib/searchable-selector/searchable-selector.module.d.ts +6 -6
- package/package.json +2 -1
- package/public-api.d.ts +2 -0
|
@@ -6,7 +6,7 @@ import * as i7 from '@angular/flex-layout/flex';
|
|
|
6
6
|
import * as i5 from '@angular/material/button';
|
|
7
7
|
import { MatButtonModule } from '@angular/material/button';
|
|
8
8
|
import { __decorate } from 'tslib';
|
|
9
|
-
import { debounceTime, catchError, switchMap, map,
|
|
9
|
+
import { debounceTime, catchError, switchMap, map, distinctUntilChanged, startWith, finalize, takeUntil, tap, filter } from 'rxjs/operators';
|
|
10
10
|
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
|
11
11
|
import * as i11 from '@angular/material/table';
|
|
12
12
|
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
|
@@ -31,7 +31,7 @@ import * as i1$4 from '@angular/forms';
|
|
|
31
31
|
import { UntypedFormControl, Validators, ReactiveFormsModule, FormsModule, NG_VALUE_ACCESSOR, FormControl } from '@angular/forms';
|
|
32
32
|
import * as i1$2 from '@angular/common/http';
|
|
33
33
|
import { HttpResponse, HttpClient, HttpClientModule } from '@angular/common/http';
|
|
34
|
-
import { throwError, Observable, Subject, of, BehaviorSubject, map as map$1,
|
|
34
|
+
import { throwError, Observable, Subject, of, BehaviorSubject, map as map$1, from, fromEvent, interval } from 'rxjs';
|
|
35
35
|
import * as i1$1 from '@angular/material/snack-bar';
|
|
36
36
|
import { MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-bar';
|
|
37
37
|
import * as i8$4 from '@angular/material/form-field';
|
|
@@ -58,6 +58,8 @@ import * as i3$2 from '@angular/material/button-toggle';
|
|
|
58
58
|
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
59
59
|
import * as i11$1 from '@angular/material/progress-spinner';
|
|
60
60
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
61
|
+
import * as i13 from 'ng-mat-select-infinite-scroll';
|
|
62
|
+
import { MatSelectInfiniteScrollModule } from 'ng-mat-select-infinite-scroll';
|
|
61
63
|
import * as i24 from '@angular/material/progress-bar';
|
|
62
64
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
63
65
|
import * as i11$2 from '@angular/material/datepicker';
|
|
@@ -176,7 +178,7 @@ let TechlifyListingControllerInterface = class TechlifyListingControllerInterfac
|
|
|
176
178
|
this.models = [];
|
|
177
179
|
this.page = 1;
|
|
178
180
|
this.perPage = 25;
|
|
179
|
-
this.lastPage =
|
|
181
|
+
this.lastPage = 0;
|
|
180
182
|
this.isWorking = false;
|
|
181
183
|
}
|
|
182
184
|
/**
|
|
@@ -2850,85 +2852,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
2850
2852
|
}]
|
|
2851
2853
|
}], ctorParameters: function () { return [{ type: i1$5.Router }, { type: i1$5.ActivatedRoute }]; } });
|
|
2852
2854
|
|
|
2853
|
-
//import { SELECT_ITEM_HEIGHT_EM } from '@angular/material/select/select';
|
|
2854
|
-
class MatSelectInfiniteScrollDirective {
|
|
2855
|
-
constructor(matSelect, ngZone) {
|
|
2856
|
-
this.matSelect = matSelect;
|
|
2857
|
-
this.ngZone = ngZone;
|
|
2858
|
-
this.threshold = '15%';
|
|
2859
|
-
this.debounceTime = 150;
|
|
2860
|
-
this.infiniteScroll = new EventEmitter();
|
|
2861
|
-
this.thrPx = 0;
|
|
2862
|
-
this.thrPc = 0;
|
|
2863
|
-
this.singleOptionHeight = 20;
|
|
2864
|
-
this.destroyed$ = new Subject();
|
|
2865
|
-
}
|
|
2866
|
-
ngOnInit() {
|
|
2867
|
-
this.evaluateThreshold();
|
|
2868
|
-
}
|
|
2869
|
-
ngAfterViewInit() {
|
|
2870
|
-
this.matSelect.openedChange.pipe(takeUntil(this.destroyed$)).subscribe((opened) => {
|
|
2871
|
-
if (opened) {
|
|
2872
|
-
this.panel = this.matSelect.panel.nativeElement;
|
|
2873
|
-
this.singleOptionHeight = this.getSelectItemHeightPx();
|
|
2874
|
-
this.registerScrollListener();
|
|
2875
|
-
}
|
|
2876
|
-
});
|
|
2877
|
-
}
|
|
2878
|
-
ngOnDestroy() {
|
|
2879
|
-
this.destroyed$.next(true);
|
|
2880
|
-
this.destroyed$.complete();
|
|
2881
|
-
}
|
|
2882
|
-
evaluateThreshold() {
|
|
2883
|
-
if (this.threshold.lastIndexOf('%') > -1) {
|
|
2884
|
-
this.thrPx = 0;
|
|
2885
|
-
this.thrPc = (parseFloat(this.threshold) / 100);
|
|
2886
|
-
}
|
|
2887
|
-
else {
|
|
2888
|
-
this.thrPx = parseFloat(this.threshold);
|
|
2889
|
-
this.thrPc = 0;
|
|
2890
|
-
}
|
|
2891
|
-
}
|
|
2892
|
-
registerScrollListener() {
|
|
2893
|
-
fromEvent(this.panel, 'scroll').pipe(takeUntil(this.destroyed$), debounceTime(this.debounceTime), tap((event) => {
|
|
2894
|
-
this.handleScrollEvent(event);
|
|
2895
|
-
})).subscribe();
|
|
2896
|
-
}
|
|
2897
|
-
handleScrollEvent(event) {
|
|
2898
|
-
this.ngZone.runOutsideAngular(() => {
|
|
2899
|
-
if (this.complete) {
|
|
2900
|
-
return;
|
|
2901
|
-
}
|
|
2902
|
-
const countOfRenderedOptions = this.matSelect.options.length;
|
|
2903
|
-
const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions;
|
|
2904
|
-
const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx;
|
|
2905
|
-
const scrolledDistance = this.panel.clientHeight + event.target.scrollTop;
|
|
2906
|
-
if ((scrolledDistance + threshold) >= infiniteScrollDistance) {
|
|
2907
|
-
this.ngZone.run(() => this.infiniteScroll.emit());
|
|
2908
|
-
}
|
|
2909
|
-
});
|
|
2910
|
-
}
|
|
2911
|
-
getSelectItemHeightPx() {
|
|
2912
|
-
return parseFloat(getComputedStyle(this.panel).fontSize) * 20;
|
|
2913
|
-
}
|
|
2914
|
-
}
|
|
2915
|
-
MatSelectInfiniteScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MatSelectInfiniteScrollDirective, deps: [{ token: i9$1.MatSelect }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2916
|
-
MatSelectInfiniteScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: MatSelectInfiniteScrollDirective, selector: "[msInfiniteScroll]", inputs: { threshold: "threshold", debounceTime: "debounceTime", complete: "complete" }, outputs: { infiniteScroll: "infiniteScroll" }, ngImport: i0 });
|
|
2917
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MatSelectInfiniteScrollDirective, decorators: [{
|
|
2918
|
-
type: Directive,
|
|
2919
|
-
args: [{
|
|
2920
|
-
selector: '[msInfiniteScroll]'
|
|
2921
|
-
}]
|
|
2922
|
-
}], ctorParameters: function () { return [{ type: i9$1.MatSelect }, { type: i0.NgZone }]; }, propDecorators: { threshold: [{
|
|
2923
|
-
type: Input
|
|
2924
|
-
}], debounceTime: [{
|
|
2925
|
-
type: Input
|
|
2926
|
-
}], complete: [{
|
|
2927
|
-
type: Input
|
|
2928
|
-
}], infiniteScroll: [{
|
|
2929
|
-
type: Output
|
|
2930
|
-
}] } });
|
|
2931
|
-
|
|
2932
2855
|
var SearchableSelectorComponent_1;
|
|
2933
2856
|
let SearchableSelectorComponent = SearchableSelectorComponent_1 = class SearchableSelectorComponent {
|
|
2934
2857
|
constructor(formBuilder, _focusMonitor, http, _elementRef, dialog, ngControl) {
|
|
@@ -3188,7 +3111,7 @@ SearchableSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
|
|
|
3188
3111
|
provide: MatFormFieldControl,
|
|
3189
3112
|
useExisting: SearchableSelectorComponent_1
|
|
3190
3113
|
}
|
|
3191
|
-
], ngImport: i0, template: "<div [formGroup]=\"selectorForm\" class=\"searchable-selctor-container\">\n <mat-select formControlName=\"select_value\" focused=\"false\" [multiple]=\"multiple\" [required]=\"required\"\n autocomplete=\"off\" (selectionChange)=\"_handleInput()\" msInfiniteScroll (infiniteScroll)=\"onScroll()\"\n (openedChange)=\"openedChange($event)\">\n <mat-form-field *ngIf=\"enableSearch\" class=\"p-1 w-100\">\n <input matInput formControlName=\"search\" placeholder=\"Search...\" (keydown)=\"$event.stopPropagation();\"\n autocomplete=\"off\">\n </mat-form-field>\n <div>\n <!-- TODO:Implement scroll only for options and have search fixed -->\n <mat-option *ngFor=\" let item of dataItems\" [value]=\"getPropertyValue(item,valueField)\">\n {{getPropertyValue(item,titleField)}}\n </mat-option>\n </div>\n <div fxlayout=\"column\" class=\"w-100\" fxLayoutAlign=\"center center\">\n <mat-spinner class=\"my-4\" color=\"primary\" diameter=\"30\" *ngIf=\"isLoading\"></mat-spinner>\n </div>\n </mat-select>\n <mat-icon *ngIf=\"add\" class=\"relative-icon\" matSuffix (click)=\"addItem($event)\">add_circle_outline</mat-icon>\n <mat-icon *ngIf=\"edit && selectedValue\" class=\"relative-icon\" matSuffix (click)=\"editItem($event)\">edit</mat-icon>\n</div>", styles: [".searchable-selctor-container{display:flex}.relative-icon{position:relative;top:-4px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.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: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i8$4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$4.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8$2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i11$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i9$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: MatSelectInfiniteScrollDirective, selector: "[msInfiniteScroll]", inputs: ["threshold", "debounceTime", "complete"], outputs: ["infiniteScroll"] }] });
|
|
3114
|
+
], ngImport: i0, template: "<div [formGroup]=\"selectorForm\" class=\"searchable-selctor-container\">\n <mat-select formControlName=\"select_value\" focused=\"false\" [multiple]=\"multiple\" [required]=\"required\"\n autocomplete=\"off\" (selectionChange)=\"_handleInput()\" msInfiniteScroll (infiniteScroll)=\"onScroll()\"\n (openedChange)=\"openedChange($event)\">\n <mat-form-field *ngIf=\"enableSearch\" class=\"p-1 w-100\">\n <input matInput formControlName=\"search\" placeholder=\"Search...\" (keydown)=\"$event.stopPropagation();\"\n autocomplete=\"off\">\n </mat-form-field>\n <div>\n <!-- TODO:Implement scroll only for options and have search fixed -->\n <mat-option *ngFor=\" let item of dataItems\" [value]=\"getPropertyValue(item,valueField)\">\n {{getPropertyValue(item,titleField)}}\n </mat-option>\n </div>\n <div fxlayout=\"column\" class=\"w-100\" fxLayoutAlign=\"center center\">\n <mat-spinner class=\"my-4\" color=\"primary\" diameter=\"30\" *ngIf=\"isLoading\"></mat-spinner>\n </div>\n </mat-select>\n <mat-icon *ngIf=\"add\" class=\"relative-icon\" matSuffix (click)=\"addItem($event)\">add_circle_outline</mat-icon>\n <mat-icon *ngIf=\"edit && selectedValue\" class=\"relative-icon\" matSuffix (click)=\"editItem($event)\">edit</mat-icon>\n</div>", styles: [".searchable-selctor-container{display:flex}.relative-icon{position:relative;top:-4px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.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: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i8$4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$4.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8$2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i11$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i9$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i13.MatSelectInfiniteScrollDirective, selector: "[msInfiniteScroll]", inputs: ["threshold", "debounceTime", "complete"], outputs: ["infiniteScroll"] }] });
|
|
3192
3115
|
SearchableSelectorComponent = SearchableSelectorComponent_1 = __decorate([
|
|
3193
3116
|
UntilDestroy()
|
|
3194
3117
|
], SearchableSelectorComponent);
|
|
@@ -4831,6 +4754,85 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
4831
4754
|
type: Input
|
|
4832
4755
|
}] } });
|
|
4833
4756
|
|
|
4757
|
+
//import { SELECT_ITEM_HEIGHT_EM } from '@angular/material/select/select';
|
|
4758
|
+
class MatSelectInfiniteScrollDirective {
|
|
4759
|
+
constructor(matSelect, ngZone) {
|
|
4760
|
+
this.matSelect = matSelect;
|
|
4761
|
+
this.ngZone = ngZone;
|
|
4762
|
+
this.threshold = '15%';
|
|
4763
|
+
this.debounceTime = 150;
|
|
4764
|
+
this.infiniteScroll = new EventEmitter();
|
|
4765
|
+
this.thrPx = 0;
|
|
4766
|
+
this.thrPc = 0;
|
|
4767
|
+
this.singleOptionHeight = 20;
|
|
4768
|
+
this.destroyed$ = new Subject();
|
|
4769
|
+
}
|
|
4770
|
+
ngOnInit() {
|
|
4771
|
+
this.evaluateThreshold();
|
|
4772
|
+
}
|
|
4773
|
+
ngAfterViewInit() {
|
|
4774
|
+
this.matSelect.openedChange.pipe(takeUntil(this.destroyed$)).subscribe((opened) => {
|
|
4775
|
+
if (opened) {
|
|
4776
|
+
this.panel = this.matSelect.panel.nativeElement;
|
|
4777
|
+
this.singleOptionHeight = this.getSelectItemHeightPx();
|
|
4778
|
+
this.registerScrollListener();
|
|
4779
|
+
}
|
|
4780
|
+
});
|
|
4781
|
+
}
|
|
4782
|
+
ngOnDestroy() {
|
|
4783
|
+
this.destroyed$.next(true);
|
|
4784
|
+
this.destroyed$.complete();
|
|
4785
|
+
}
|
|
4786
|
+
evaluateThreshold() {
|
|
4787
|
+
if (this.threshold.lastIndexOf('%') > -1) {
|
|
4788
|
+
this.thrPx = 0;
|
|
4789
|
+
this.thrPc = (parseFloat(this.threshold) / 100);
|
|
4790
|
+
}
|
|
4791
|
+
else {
|
|
4792
|
+
this.thrPx = parseFloat(this.threshold);
|
|
4793
|
+
this.thrPc = 0;
|
|
4794
|
+
}
|
|
4795
|
+
}
|
|
4796
|
+
registerScrollListener() {
|
|
4797
|
+
fromEvent(this.panel, 'scroll').pipe(takeUntil(this.destroyed$), debounceTime(this.debounceTime), tap((event) => {
|
|
4798
|
+
this.handleScrollEvent(event);
|
|
4799
|
+
})).subscribe();
|
|
4800
|
+
}
|
|
4801
|
+
handleScrollEvent(event) {
|
|
4802
|
+
this.ngZone.runOutsideAngular(() => {
|
|
4803
|
+
if (this.complete) {
|
|
4804
|
+
return;
|
|
4805
|
+
}
|
|
4806
|
+
const countOfRenderedOptions = this.matSelect.options.length;
|
|
4807
|
+
const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions;
|
|
4808
|
+
const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx;
|
|
4809
|
+
const scrolledDistance = this.panel.clientHeight + event.target.scrollTop;
|
|
4810
|
+
if ((scrolledDistance + threshold) >= infiniteScrollDistance) {
|
|
4811
|
+
this.ngZone.run(() => this.infiniteScroll.emit());
|
|
4812
|
+
}
|
|
4813
|
+
});
|
|
4814
|
+
}
|
|
4815
|
+
getSelectItemHeightPx() {
|
|
4816
|
+
return parseFloat(getComputedStyle(this.panel).fontSize) * 20;
|
|
4817
|
+
}
|
|
4818
|
+
}
|
|
4819
|
+
MatSelectInfiniteScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MatSelectInfiniteScrollDirective, deps: [{ token: i9$1.MatSelect }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4820
|
+
MatSelectInfiniteScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: MatSelectInfiniteScrollDirective, selector: "[msInfiniteScroll]", inputs: { threshold: "threshold", debounceTime: "debounceTime", complete: "complete" }, outputs: { infiniteScroll: "infiniteScroll" }, ngImport: i0 });
|
|
4821
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MatSelectInfiniteScrollDirective, decorators: [{
|
|
4822
|
+
type: Directive,
|
|
4823
|
+
args: [{
|
|
4824
|
+
selector: '[msInfiniteScroll]'
|
|
4825
|
+
}]
|
|
4826
|
+
}], ctorParameters: function () { return [{ type: i9$1.MatSelect }, { type: i0.NgZone }]; }, propDecorators: { threshold: [{
|
|
4827
|
+
type: Input
|
|
4828
|
+
}], debounceTime: [{
|
|
4829
|
+
type: Input
|
|
4830
|
+
}], complete: [{
|
|
4831
|
+
type: Input
|
|
4832
|
+
}], infiniteScroll: [{
|
|
4833
|
+
type: Output
|
|
4834
|
+
}] } });
|
|
4835
|
+
|
|
4834
4836
|
/**
|
|
4835
4837
|
* Component to generate a num items selector
|
|
4836
4838
|
*
|
|
@@ -5247,16 +5249,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
5247
5249
|
class SearchableSelectorModule {
|
|
5248
5250
|
}
|
|
5249
5251
|
SearchableSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SearchableSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5250
|
-
SearchableSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: SearchableSelectorModule, declarations: [SearchableSelectorComponent,
|
|
5251
|
-
MatSelectInfiniteScrollDirective], imports: [CommonModule,
|
|
5252
|
+
SearchableSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: SearchableSelectorModule, declarations: [SearchableSelectorComponent], imports: [CommonModule,
|
|
5252
5253
|
ReactiveFormsModule,
|
|
5253
5254
|
FlexLayoutModule,
|
|
5254
|
-
MaterialModule
|
|
5255
|
-
|
|
5255
|
+
MaterialModule,
|
|
5256
|
+
MatSelectInfiniteScrollModule], exports: [SearchableSelectorComponent] });
|
|
5256
5257
|
SearchableSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SearchableSelectorModule, imports: [CommonModule,
|
|
5257
5258
|
ReactiveFormsModule,
|
|
5258
5259
|
FlexLayoutModule,
|
|
5259
|
-
MaterialModule
|
|
5260
|
+
MaterialModule,
|
|
5261
|
+
MatSelectInfiniteScrollModule] });
|
|
5260
5262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SearchableSelectorModule, decorators: [{
|
|
5261
5263
|
type: NgModule,
|
|
5262
5264
|
args: [{
|
|
@@ -5264,15 +5266,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
5264
5266
|
CommonModule,
|
|
5265
5267
|
ReactiveFormsModule,
|
|
5266
5268
|
FlexLayoutModule,
|
|
5267
|
-
MaterialModule
|
|
5269
|
+
MaterialModule,
|
|
5270
|
+
MatSelectInfiniteScrollModule
|
|
5268
5271
|
],
|
|
5269
5272
|
declarations: [
|
|
5270
5273
|
SearchableSelectorComponent,
|
|
5271
|
-
MatSelectInfiniteScrollDirective
|
|
5272
5274
|
],
|
|
5273
5275
|
exports: [
|
|
5274
5276
|
SearchableSelectorComponent,
|
|
5275
|
-
MatSelectInfiniteScrollDirective
|
|
5276
5277
|
]
|
|
5277
5278
|
}]
|
|
5278
5279
|
}] });
|
|
@@ -13206,6 +13207,187 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
13206
13207
|
}]
|
|
13207
13208
|
}] });
|
|
13208
13209
|
|
|
13210
|
+
// set the default value
|
|
13211
|
+
const DEFAULT_SELECTED_VALUE = 1;
|
|
13212
|
+
class NumberInputButtonComponent {
|
|
13213
|
+
constructor() {
|
|
13214
|
+
this.label = 'Select Value';
|
|
13215
|
+
this.showLabel = true;
|
|
13216
|
+
this.showCustomInput = false;
|
|
13217
|
+
this.options = [
|
|
13218
|
+
{ title: '1', value: 1, type: 'text', hint: '' },
|
|
13219
|
+
{ title: '2', value: 2, type: 'text', hint: '' },
|
|
13220
|
+
{ title: '3', value: 3, type: 'text', hint: '' },
|
|
13221
|
+
{ title: '4', value: 4, type: 'text', hint: '' },
|
|
13222
|
+
{ title: '5', value: 5, type: 'text', hint: '' },
|
|
13223
|
+
{ title: 'help', value: 'custom', type: 'icon', hint: 'Custom' },
|
|
13224
|
+
];
|
|
13225
|
+
this.selectedOption = new UntypedFormControl();
|
|
13226
|
+
this.customValue = new UntypedFormControl(DEFAULT_SELECTED_VALUE);
|
|
13227
|
+
this.touched = false;
|
|
13228
|
+
this.disabled = false;
|
|
13229
|
+
this.onChange = (value) => { };
|
|
13230
|
+
this.onTouched = () => { };
|
|
13231
|
+
}
|
|
13232
|
+
ngOnInit() {
|
|
13233
|
+
this.selectedOption.valueChanges.subscribe((value) => {
|
|
13234
|
+
if (value == 'custom') {
|
|
13235
|
+
this.showCustomInput = true;
|
|
13236
|
+
value = DEFAULT_SELECTED_VALUE;
|
|
13237
|
+
setTimeout(() => {
|
|
13238
|
+
this.customInput?.nativeElement?.focus();
|
|
13239
|
+
}, 100);
|
|
13240
|
+
}
|
|
13241
|
+
else {
|
|
13242
|
+
this.showCustomInput = false;
|
|
13243
|
+
}
|
|
13244
|
+
this.onChange(value);
|
|
13245
|
+
this.onTouched();
|
|
13246
|
+
});
|
|
13247
|
+
this.customValue.valueChanges.subscribe((value) => {
|
|
13248
|
+
this.onChange(value);
|
|
13249
|
+
this.onTouched();
|
|
13250
|
+
});
|
|
13251
|
+
}
|
|
13252
|
+
writeValue(obj) {
|
|
13253
|
+
const option = this.options.find((option) => {
|
|
13254
|
+
return option.value === obj;
|
|
13255
|
+
});
|
|
13256
|
+
if (!option) {
|
|
13257
|
+
this.showCustomInput = true;
|
|
13258
|
+
this.selectedOption.setValue('custom');
|
|
13259
|
+
this.customValue.setValue(obj);
|
|
13260
|
+
}
|
|
13261
|
+
else {
|
|
13262
|
+
this.showCustomInput = false;
|
|
13263
|
+
this.selectedOption.setValue(obj);
|
|
13264
|
+
}
|
|
13265
|
+
}
|
|
13266
|
+
registerOnChange(fn) {
|
|
13267
|
+
this.onChange = fn;
|
|
13268
|
+
}
|
|
13269
|
+
registerOnTouched(fn) {
|
|
13270
|
+
this.onTouched = fn;
|
|
13271
|
+
}
|
|
13272
|
+
setDisabledState(isDisabled) {
|
|
13273
|
+
this.disabled = isDisabled;
|
|
13274
|
+
}
|
|
13275
|
+
}
|
|
13276
|
+
NumberInputButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13277
|
+
NumberInputButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NumberInputButtonComponent, selector: "app-number-input-button", inputs: { label: "label", appearance: "appearance", showLabel: "showLabel" }, providers: [
|
|
13278
|
+
{
|
|
13279
|
+
provide: NG_VALUE_ACCESSOR,
|
|
13280
|
+
multi: true,
|
|
13281
|
+
useExisting: NumberInputButtonComponent
|
|
13282
|
+
}
|
|
13283
|
+
], viewQueries: [{ propertyName: "customInput", first: true, predicate: ["customInput"], descendants: true }], ngImport: i0, template: "<span *ngIf=\"showLabel\" class=\"mr-1\">{{ label }}</span> <br *ngIf=\"showLabel\">\n<mat-button-toggle-group [formControl]=\"selectedOption\">\n <mat-button-toggle [matTooltip]=\"option?.hint || ''\" *ngFor=\"let option of options\" [value]=\"option?.value\">\n <span *ngIf=\"option.type =='text'\">{{ option?.title }}</span>\n <mat-icon class=\"small-icon\" *ngIf=\"option.type == 'icon'\">{{option?.title}}</mat-icon>\n </mat-button-toggle>\n</mat-button-toggle-group>\n<mat-form-field class=\"mt-1 w-100\" *ngIf=\"showCustomInput\">\n <mat-label>{{ label }}</mat-label>\n <input type=\"number\" min=\"0\" #customInput matInput [formControl]=\"customValue\">\n</mat-form-field>\n", styles: [":host ::ng-deep .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:30px;padding:0 12px;font-size:12px}:host ::ng-deep .mat-button-toggle-checked{color:#fff!important}:host ::ng-deep .small-icon{height:18px;width:18px;font-size:18px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8$4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$4.MatLabel, selector: "mat-label" }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i3$2.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i3$2.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "directive", type: i1$4.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: i1$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
13284
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonComponent, decorators: [{
|
|
13285
|
+
type: Component,
|
|
13286
|
+
args: [{ selector: 'app-number-input-button', providers: [
|
|
13287
|
+
{
|
|
13288
|
+
provide: NG_VALUE_ACCESSOR,
|
|
13289
|
+
multi: true,
|
|
13290
|
+
useExisting: NumberInputButtonComponent
|
|
13291
|
+
}
|
|
13292
|
+
], template: "<span *ngIf=\"showLabel\" class=\"mr-1\">{{ label }}</span> <br *ngIf=\"showLabel\">\n<mat-button-toggle-group [formControl]=\"selectedOption\">\n <mat-button-toggle [matTooltip]=\"option?.hint || ''\" *ngFor=\"let option of options\" [value]=\"option?.value\">\n <span *ngIf=\"option.type =='text'\">{{ option?.title }}</span>\n <mat-icon class=\"small-icon\" *ngIf=\"option.type == 'icon'\">{{option?.title}}</mat-icon>\n </mat-button-toggle>\n</mat-button-toggle-group>\n<mat-form-field class=\"mt-1 w-100\" *ngIf=\"showCustomInput\">\n <mat-label>{{ label }}</mat-label>\n <input type=\"number\" min=\"0\" #customInput matInput [formControl]=\"customValue\">\n</mat-form-field>\n", styles: [":host ::ng-deep .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:30px;padding:0 12px;font-size:12px}:host ::ng-deep .mat-button-toggle-checked{color:#fff!important}:host ::ng-deep .small-icon{height:18px;width:18px;font-size:18px}\n"] }]
|
|
13293
|
+
}], propDecorators: { label: [{
|
|
13294
|
+
type: Input
|
|
13295
|
+
}], appearance: [{
|
|
13296
|
+
type: Input
|
|
13297
|
+
}], showLabel: [{
|
|
13298
|
+
type: Input
|
|
13299
|
+
}], customInput: [{
|
|
13300
|
+
type: ViewChild,
|
|
13301
|
+
args: ['customInput']
|
|
13302
|
+
}] } });
|
|
13303
|
+
|
|
13304
|
+
class NumberInputButtonModule {
|
|
13305
|
+
}
|
|
13306
|
+
NumberInputButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13307
|
+
NumberInputButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonModule, declarations: [NumberInputButtonComponent], imports: [CommonModule,
|
|
13308
|
+
MaterialModule,
|
|
13309
|
+
ReactiveFormsModule], exports: [NumberInputButtonComponent] });
|
|
13310
|
+
NumberInputButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonModule, imports: [CommonModule,
|
|
13311
|
+
MaterialModule,
|
|
13312
|
+
ReactiveFormsModule] });
|
|
13313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonModule, decorators: [{
|
|
13314
|
+
type: NgModule,
|
|
13315
|
+
args: [{
|
|
13316
|
+
declarations: [
|
|
13317
|
+
NumberInputButtonComponent
|
|
13318
|
+
],
|
|
13319
|
+
exports: [
|
|
13320
|
+
NumberInputButtonComponent
|
|
13321
|
+
],
|
|
13322
|
+
imports: [
|
|
13323
|
+
CommonModule,
|
|
13324
|
+
MaterialModule,
|
|
13325
|
+
ReactiveFormsModule,
|
|
13326
|
+
]
|
|
13327
|
+
}]
|
|
13328
|
+
}] });
|
|
13329
|
+
|
|
13330
|
+
class ColumnSelectorComponent {
|
|
13331
|
+
constructor() {
|
|
13332
|
+
this.availableColumns = [];
|
|
13333
|
+
this.label = 'Columns';
|
|
13334
|
+
this.updated = new EventEmitter();
|
|
13335
|
+
this.columnSelector = new FormControl([]);
|
|
13336
|
+
}
|
|
13337
|
+
ngOnInit() {
|
|
13338
|
+
if (this.availableColumns?.length > 0) {
|
|
13339
|
+
this.columnSelector.setValue(this.availableColumns, { emitEvent: false });
|
|
13340
|
+
}
|
|
13341
|
+
this.columnSelector.valueChanges.subscribe((val) => {
|
|
13342
|
+
this.updated.emit(val);
|
|
13343
|
+
});
|
|
13344
|
+
}
|
|
13345
|
+
}
|
|
13346
|
+
ColumnSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13347
|
+
ColumnSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ColumnSelectorComponent, selector: "app-column-selector", inputs: { availableColumns: "availableColumns", label: "label" }, outputs: { updated: "updated" }, ngImport: i0, template: "<mat-form-field class=\"w-100\">\n <mat-label>{{ label }}</mat-label>\n <mat-select [multiple]=\"true\" [formControl]=\"columnSelector\">\n <mat-option class=\"text-capitalize\" *ngFor=\"let col of availableColumns\" [value]=\"col\">\n {{ col }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i8$4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8$4.MatLabel, selector: "mat-label" }, { kind: "component", type: i8$2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i9$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
13348
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorComponent, decorators: [{
|
|
13349
|
+
type: Component,
|
|
13350
|
+
args: [{ selector: 'app-column-selector', template: "<mat-form-field class=\"w-100\">\n <mat-label>{{ label }}</mat-label>\n <mat-select [multiple]=\"true\" [formControl]=\"columnSelector\">\n <mat-option class=\"text-capitalize\" *ngFor=\"let col of availableColumns\" [value]=\"col\">\n {{ col }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n" }]
|
|
13351
|
+
}], ctorParameters: function () { return []; }, propDecorators: { availableColumns: [{
|
|
13352
|
+
type: Input
|
|
13353
|
+
}], label: [{
|
|
13354
|
+
type: Input
|
|
13355
|
+
}], updated: [{
|
|
13356
|
+
type: Output
|
|
13357
|
+
}] } });
|
|
13358
|
+
|
|
13359
|
+
class ColumnSelectorModule {
|
|
13360
|
+
}
|
|
13361
|
+
ColumnSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13362
|
+
ColumnSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorModule, declarations: [ColumnSelectorComponent], imports: [CommonModule,
|
|
13363
|
+
MatFormFieldModule,
|
|
13364
|
+
MatOptionModule,
|
|
13365
|
+
MatSelectModule,
|
|
13366
|
+
ReactiveFormsModule], exports: [ColumnSelectorComponent] });
|
|
13367
|
+
ColumnSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorModule, imports: [CommonModule,
|
|
13368
|
+
MatFormFieldModule,
|
|
13369
|
+
MatOptionModule,
|
|
13370
|
+
MatSelectModule,
|
|
13371
|
+
ReactiveFormsModule] });
|
|
13372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorModule, decorators: [{
|
|
13373
|
+
type: NgModule,
|
|
13374
|
+
args: [{
|
|
13375
|
+
declarations: [
|
|
13376
|
+
ColumnSelectorComponent
|
|
13377
|
+
],
|
|
13378
|
+
exports: [
|
|
13379
|
+
ColumnSelectorComponent
|
|
13380
|
+
],
|
|
13381
|
+
imports: [
|
|
13382
|
+
CommonModule,
|
|
13383
|
+
MatFormFieldModule,
|
|
13384
|
+
MatOptionModule,
|
|
13385
|
+
MatSelectModule,
|
|
13386
|
+
ReactiveFormsModule
|
|
13387
|
+
]
|
|
13388
|
+
}]
|
|
13389
|
+
}] });
|
|
13390
|
+
|
|
13209
13391
|
/*
|
|
13210
13392
|
* Public API Surface of ngx-techlify-core
|
|
13211
13393
|
*/
|
|
@@ -13214,5 +13396,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
13214
13396
|
* Generated bundle index. Do not edit.
|
|
13215
13397
|
*/
|
|
13216
13398
|
|
|
13217
|
-
export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ChangePasswordModule, CommentFormComponent, ConfigService, CoreModule, CredentialsService, CurrentUserService, DataManager, DataTable, DataTableComponent, DataTableModule, DateUtils, DateValidator, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFileService, EntityFilesViewAllComponent, EntityFilesViewAllModule, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FileDragdropUploaderComponent, FileDragdropUploaderModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FilterService, ForgotPasswordComponent, ForgotPasswordModule, ForgotPasswordRoutingModule, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService, ImportCsvComponent, ImportCsvModule, LoaderComponent, LoaderModule, LogLevel, Logger, LoginComponent, LoginHistoryForUserComponent, LoginHistoryForUserModule, LoginHistoryForUserRoutingModule, LoginModule, LoginRoutingModule, MatSelectInfiniteScrollDirective, MaterialModule, MultiUserConfig, NgxTechlifyNotifierComponent, NgxTechlifyNotifierModule, NgxTechlifyNotifierRoutingModule, NgxTechlifyUsersModule, NoteFormComponent, NoteListComponent, NoteModule, NumItemsSelector, NumberSelector, PageEvent, Permission, PermissionModule, PermissionRoutingProvider, PermissionsManagementComponent, ProfileEditComponent, ProfileModule, ProfileRoutingModule, ReadMoreComponent, ReadMoreModule, RequestHelperService, RestrictorTypeSelectorComponent, RestrictorTypeSelectorModule, RestrictorsModule, Role, RoleFormComponent, RoleModule, RoleRoutingProvider, RoleService, RolesViewAllComponent, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SignUpComponent, SignupModule, SignupRoutingModule, SnackModule, StorageService, SuccessSnackComponent, TechlifyCompanySwitcherComponent, TechlifyCompanySwitcherModule, TechlifyConfig, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFormComponentInterface, TechlifyListingControllerInterface, TechlifyNotficationSubscriberDashboardComponent, TechlifyNotficationSubscriberDashboardModule, TechlifyNotficationSubscriberDashboardRoutingModule, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyNotificationSubscriberFormComponent, TechlifyNotificationSubscriberFormModule, TechlifyNotificationSubscriberListComponent, TechlifyNotificationSubscriberListFilterComponent, TechlifyNotificationSubscriberListFilterModule, TechlifyNotificationSubscriberListModule, TechlifyNotificationSubscriberListRoutingModule, TechlifyNotificationSubscriberModule, TechlifyNotificationSubscriberRoutingModule, TechlifyNotificationSubscriptionEntity, TechlifyNotificationTypeFormComponent, TechlifyNotificationTypeFormModule, TechlifyNotificationTypeListComponent, TechlifyNotificationTypeListModule, TechlifyNotificationTypeListRoutingModule, TechlifyNotificationTypeModule, TechlifyNotificationTypeRoutingModule, TechlifyNotificationUserStatus, TechlifyServiceBaseClass, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, Timeline, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, User, UserConfig, UserConfigService, UserDataService, UserEnableButtonComponent, UserExploreComponent, UserFormComponent, UserListPageConfig, UserModule, UserRoutingProvider, UserSelectorComponent, UserSelectorModule, UserService, UsersViewAllComponent, UtilityModule, ViewerConfig, calculateTimeline, esfur, estlr, esulr };
|
|
13399
|
+
export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ChangePasswordModule, ColumnSelectorComponent, ColumnSelectorModule, CommentFormComponent, ConfigService, CoreModule, CredentialsService, CurrentUserService, DEFAULT_SELECTED_VALUE, DataManager, DataTable, DataTableComponent, DataTableModule, DateUtils, DateValidator, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFileService, EntityFilesViewAllComponent, EntityFilesViewAllModule, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FileDragdropUploaderComponent, FileDragdropUploaderModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FilterService, ForgotPasswordComponent, ForgotPasswordModule, ForgotPasswordRoutingModule, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService, ImportCsvComponent, ImportCsvModule, LoaderComponent, LoaderModule, LogLevel, Logger, LoginComponent, LoginHistoryForUserComponent, LoginHistoryForUserModule, LoginHistoryForUserRoutingModule, LoginModule, LoginRoutingModule, MatSelectInfiniteScrollDirective, MaterialModule, MultiUserConfig, NgxTechlifyNotifierComponent, NgxTechlifyNotifierModule, NgxTechlifyNotifierRoutingModule, NgxTechlifyUsersModule, NoteFormComponent, NoteListComponent, NoteModule, NumItemsSelector, NumberInputButtonComponent, NumberInputButtonModule, NumberSelector, PageEvent, Permission, PermissionModule, PermissionRoutingProvider, PermissionsManagementComponent, ProfileEditComponent, ProfileModule, ProfileRoutingModule, ReadMoreComponent, ReadMoreModule, RequestHelperService, RestrictorTypeSelectorComponent, RestrictorTypeSelectorModule, RestrictorsModule, Role, RoleFormComponent, RoleModule, RoleRoutingProvider, RoleService, RolesViewAllComponent, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SignUpComponent, SignupModule, SignupRoutingModule, SnackModule, StorageService, SuccessSnackComponent, TechlifyCompanySwitcherComponent, TechlifyCompanySwitcherModule, TechlifyConfig, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFormComponentInterface, TechlifyListingControllerInterface, TechlifyNotficationSubscriberDashboardComponent, TechlifyNotficationSubscriberDashboardModule, TechlifyNotficationSubscriberDashboardRoutingModule, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyNotificationSubscriberFormComponent, TechlifyNotificationSubscriberFormModule, TechlifyNotificationSubscriberListComponent, TechlifyNotificationSubscriberListFilterComponent, TechlifyNotificationSubscriberListFilterModule, TechlifyNotificationSubscriberListModule, TechlifyNotificationSubscriberListRoutingModule, TechlifyNotificationSubscriberModule, TechlifyNotificationSubscriberRoutingModule, TechlifyNotificationSubscriptionEntity, TechlifyNotificationTypeFormComponent, TechlifyNotificationTypeFormModule, TechlifyNotificationTypeListComponent, TechlifyNotificationTypeListModule, TechlifyNotificationTypeListRoutingModule, TechlifyNotificationTypeModule, TechlifyNotificationTypeRoutingModule, TechlifyNotificationUserStatus, TechlifyServiceBaseClass, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, Timeline, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, User, UserConfig, UserConfigService, UserDataService, UserEnableButtonComponent, UserExploreComponent, UserFormComponent, UserListPageConfig, UserModule, UserRoutingProvider, UserSelectorComponent, UserSelectorModule, UserService, UsersViewAllComponent, UtilityModule, ViewerConfig, calculateTimeline, esfur, estlr, esulr };
|
|
13218
13400
|
//# sourceMappingURL=ngx-techlify-core.mjs.map
|