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, __awaiter } 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';
|
|
@@ -180,7 +182,7 @@ let TechlifyListingControllerInterface = class TechlifyListingControllerInterfac
|
|
|
180
182
|
this.models = [];
|
|
181
183
|
this.page = 1;
|
|
182
184
|
this.perPage = 25;
|
|
183
|
-
this.lastPage =
|
|
185
|
+
this.lastPage = 0;
|
|
184
186
|
this.isWorking = false;
|
|
185
187
|
}
|
|
186
188
|
/**
|
|
@@ -2891,85 +2893,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
2891
2893
|
}]
|
|
2892
2894
|
}], ctorParameters: function () { return [{ type: i1$5.Router }, { type: i1$5.ActivatedRoute }]; } });
|
|
2893
2895
|
|
|
2894
|
-
//import { SELECT_ITEM_HEIGHT_EM } from '@angular/material/select/select';
|
|
2895
|
-
class MatSelectInfiniteScrollDirective {
|
|
2896
|
-
constructor(matSelect, ngZone) {
|
|
2897
|
-
this.matSelect = matSelect;
|
|
2898
|
-
this.ngZone = ngZone;
|
|
2899
|
-
this.threshold = '15%';
|
|
2900
|
-
this.debounceTime = 150;
|
|
2901
|
-
this.infiniteScroll = new EventEmitter();
|
|
2902
|
-
this.thrPx = 0;
|
|
2903
|
-
this.thrPc = 0;
|
|
2904
|
-
this.singleOptionHeight = 20;
|
|
2905
|
-
this.destroyed$ = new Subject();
|
|
2906
|
-
}
|
|
2907
|
-
ngOnInit() {
|
|
2908
|
-
this.evaluateThreshold();
|
|
2909
|
-
}
|
|
2910
|
-
ngAfterViewInit() {
|
|
2911
|
-
this.matSelect.openedChange.pipe(takeUntil(this.destroyed$)).subscribe((opened) => {
|
|
2912
|
-
if (opened) {
|
|
2913
|
-
this.panel = this.matSelect.panel.nativeElement;
|
|
2914
|
-
this.singleOptionHeight = this.getSelectItemHeightPx();
|
|
2915
|
-
this.registerScrollListener();
|
|
2916
|
-
}
|
|
2917
|
-
});
|
|
2918
|
-
}
|
|
2919
|
-
ngOnDestroy() {
|
|
2920
|
-
this.destroyed$.next(true);
|
|
2921
|
-
this.destroyed$.complete();
|
|
2922
|
-
}
|
|
2923
|
-
evaluateThreshold() {
|
|
2924
|
-
if (this.threshold.lastIndexOf('%') > -1) {
|
|
2925
|
-
this.thrPx = 0;
|
|
2926
|
-
this.thrPc = (parseFloat(this.threshold) / 100);
|
|
2927
|
-
}
|
|
2928
|
-
else {
|
|
2929
|
-
this.thrPx = parseFloat(this.threshold);
|
|
2930
|
-
this.thrPc = 0;
|
|
2931
|
-
}
|
|
2932
|
-
}
|
|
2933
|
-
registerScrollListener() {
|
|
2934
|
-
fromEvent(this.panel, 'scroll').pipe(takeUntil(this.destroyed$), debounceTime(this.debounceTime), tap((event) => {
|
|
2935
|
-
this.handleScrollEvent(event);
|
|
2936
|
-
})).subscribe();
|
|
2937
|
-
}
|
|
2938
|
-
handleScrollEvent(event) {
|
|
2939
|
-
this.ngZone.runOutsideAngular(() => {
|
|
2940
|
-
if (this.complete) {
|
|
2941
|
-
return;
|
|
2942
|
-
}
|
|
2943
|
-
const countOfRenderedOptions = this.matSelect.options.length;
|
|
2944
|
-
const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions;
|
|
2945
|
-
const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx;
|
|
2946
|
-
const scrolledDistance = this.panel.clientHeight + event.target.scrollTop;
|
|
2947
|
-
if ((scrolledDistance + threshold) >= infiniteScrollDistance) {
|
|
2948
|
-
this.ngZone.run(() => this.infiniteScroll.emit());
|
|
2949
|
-
}
|
|
2950
|
-
});
|
|
2951
|
-
}
|
|
2952
|
-
getSelectItemHeightPx() {
|
|
2953
|
-
return parseFloat(getComputedStyle(this.panel).fontSize) * 20;
|
|
2954
|
-
}
|
|
2955
|
-
}
|
|
2956
|
-
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 });
|
|
2957
|
-
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 });
|
|
2958
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MatSelectInfiniteScrollDirective, decorators: [{
|
|
2959
|
-
type: Directive,
|
|
2960
|
-
args: [{
|
|
2961
|
-
selector: '[msInfiniteScroll]'
|
|
2962
|
-
}]
|
|
2963
|
-
}], ctorParameters: function () { return [{ type: i9$1.MatSelect }, { type: i0.NgZone }]; }, propDecorators: { threshold: [{
|
|
2964
|
-
type: Input
|
|
2965
|
-
}], debounceTime: [{
|
|
2966
|
-
type: Input
|
|
2967
|
-
}], complete: [{
|
|
2968
|
-
type: Input
|
|
2969
|
-
}], infiniteScroll: [{
|
|
2970
|
-
type: Output
|
|
2971
|
-
}] } });
|
|
2972
|
-
|
|
2973
2896
|
var SearchableSelectorComponent_1;
|
|
2974
2897
|
let SearchableSelectorComponent = SearchableSelectorComponent_1 = class SearchableSelectorComponent {
|
|
2975
2898
|
constructor(formBuilder, _focusMonitor, http, _elementRef, dialog, ngControl) {
|
|
@@ -3219,7 +3142,7 @@ SearchableSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
|
|
|
3219
3142
|
provide: MatFormFieldControl,
|
|
3220
3143
|
useExisting: SearchableSelectorComponent_1
|
|
3221
3144
|
}
|
|
3222
|
-
], 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"] }] });
|
|
3145
|
+
], 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"] }] });
|
|
3223
3146
|
SearchableSelectorComponent = SearchableSelectorComponent_1 = __decorate([
|
|
3224
3147
|
UntilDestroy()
|
|
3225
3148
|
], SearchableSelectorComponent);
|
|
@@ -4891,6 +4814,85 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
4891
4814
|
type: Input
|
|
4892
4815
|
}] } });
|
|
4893
4816
|
|
|
4817
|
+
//import { SELECT_ITEM_HEIGHT_EM } from '@angular/material/select/select';
|
|
4818
|
+
class MatSelectInfiniteScrollDirective {
|
|
4819
|
+
constructor(matSelect, ngZone) {
|
|
4820
|
+
this.matSelect = matSelect;
|
|
4821
|
+
this.ngZone = ngZone;
|
|
4822
|
+
this.threshold = '15%';
|
|
4823
|
+
this.debounceTime = 150;
|
|
4824
|
+
this.infiniteScroll = new EventEmitter();
|
|
4825
|
+
this.thrPx = 0;
|
|
4826
|
+
this.thrPc = 0;
|
|
4827
|
+
this.singleOptionHeight = 20;
|
|
4828
|
+
this.destroyed$ = new Subject();
|
|
4829
|
+
}
|
|
4830
|
+
ngOnInit() {
|
|
4831
|
+
this.evaluateThreshold();
|
|
4832
|
+
}
|
|
4833
|
+
ngAfterViewInit() {
|
|
4834
|
+
this.matSelect.openedChange.pipe(takeUntil(this.destroyed$)).subscribe((opened) => {
|
|
4835
|
+
if (opened) {
|
|
4836
|
+
this.panel = this.matSelect.panel.nativeElement;
|
|
4837
|
+
this.singleOptionHeight = this.getSelectItemHeightPx();
|
|
4838
|
+
this.registerScrollListener();
|
|
4839
|
+
}
|
|
4840
|
+
});
|
|
4841
|
+
}
|
|
4842
|
+
ngOnDestroy() {
|
|
4843
|
+
this.destroyed$.next(true);
|
|
4844
|
+
this.destroyed$.complete();
|
|
4845
|
+
}
|
|
4846
|
+
evaluateThreshold() {
|
|
4847
|
+
if (this.threshold.lastIndexOf('%') > -1) {
|
|
4848
|
+
this.thrPx = 0;
|
|
4849
|
+
this.thrPc = (parseFloat(this.threshold) / 100);
|
|
4850
|
+
}
|
|
4851
|
+
else {
|
|
4852
|
+
this.thrPx = parseFloat(this.threshold);
|
|
4853
|
+
this.thrPc = 0;
|
|
4854
|
+
}
|
|
4855
|
+
}
|
|
4856
|
+
registerScrollListener() {
|
|
4857
|
+
fromEvent(this.panel, 'scroll').pipe(takeUntil(this.destroyed$), debounceTime(this.debounceTime), tap((event) => {
|
|
4858
|
+
this.handleScrollEvent(event);
|
|
4859
|
+
})).subscribe();
|
|
4860
|
+
}
|
|
4861
|
+
handleScrollEvent(event) {
|
|
4862
|
+
this.ngZone.runOutsideAngular(() => {
|
|
4863
|
+
if (this.complete) {
|
|
4864
|
+
return;
|
|
4865
|
+
}
|
|
4866
|
+
const countOfRenderedOptions = this.matSelect.options.length;
|
|
4867
|
+
const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions;
|
|
4868
|
+
const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx;
|
|
4869
|
+
const scrolledDistance = this.panel.clientHeight + event.target.scrollTop;
|
|
4870
|
+
if ((scrolledDistance + threshold) >= infiniteScrollDistance) {
|
|
4871
|
+
this.ngZone.run(() => this.infiniteScroll.emit());
|
|
4872
|
+
}
|
|
4873
|
+
});
|
|
4874
|
+
}
|
|
4875
|
+
getSelectItemHeightPx() {
|
|
4876
|
+
return parseFloat(getComputedStyle(this.panel).fontSize) * 20;
|
|
4877
|
+
}
|
|
4878
|
+
}
|
|
4879
|
+
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 });
|
|
4880
|
+
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 });
|
|
4881
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MatSelectInfiniteScrollDirective, decorators: [{
|
|
4882
|
+
type: Directive,
|
|
4883
|
+
args: [{
|
|
4884
|
+
selector: '[msInfiniteScroll]'
|
|
4885
|
+
}]
|
|
4886
|
+
}], ctorParameters: function () { return [{ type: i9$1.MatSelect }, { type: i0.NgZone }]; }, propDecorators: { threshold: [{
|
|
4887
|
+
type: Input
|
|
4888
|
+
}], debounceTime: [{
|
|
4889
|
+
type: Input
|
|
4890
|
+
}], complete: [{
|
|
4891
|
+
type: Input
|
|
4892
|
+
}], infiniteScroll: [{
|
|
4893
|
+
type: Output
|
|
4894
|
+
}] } });
|
|
4895
|
+
|
|
4894
4896
|
/**
|
|
4895
4897
|
* Component to generate a num items selector
|
|
4896
4898
|
*
|
|
@@ -5309,16 +5311,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
5309
5311
|
class SearchableSelectorModule {
|
|
5310
5312
|
}
|
|
5311
5313
|
SearchableSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SearchableSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5312
|
-
SearchableSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: SearchableSelectorModule, declarations: [SearchableSelectorComponent,
|
|
5313
|
-
MatSelectInfiniteScrollDirective], imports: [CommonModule,
|
|
5314
|
+
SearchableSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: SearchableSelectorModule, declarations: [SearchableSelectorComponent], imports: [CommonModule,
|
|
5314
5315
|
ReactiveFormsModule,
|
|
5315
5316
|
FlexLayoutModule,
|
|
5316
|
-
MaterialModule
|
|
5317
|
-
|
|
5317
|
+
MaterialModule,
|
|
5318
|
+
MatSelectInfiniteScrollModule], exports: [SearchableSelectorComponent] });
|
|
5318
5319
|
SearchableSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SearchableSelectorModule, imports: [CommonModule,
|
|
5319
5320
|
ReactiveFormsModule,
|
|
5320
5321
|
FlexLayoutModule,
|
|
5321
|
-
MaterialModule
|
|
5322
|
+
MaterialModule,
|
|
5323
|
+
MatSelectInfiniteScrollModule] });
|
|
5322
5324
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SearchableSelectorModule, decorators: [{
|
|
5323
5325
|
type: NgModule,
|
|
5324
5326
|
args: [{
|
|
@@ -5326,15 +5328,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
5326
5328
|
CommonModule,
|
|
5327
5329
|
ReactiveFormsModule,
|
|
5328
5330
|
FlexLayoutModule,
|
|
5329
|
-
MaterialModule
|
|
5331
|
+
MaterialModule,
|
|
5332
|
+
MatSelectInfiniteScrollModule
|
|
5330
5333
|
],
|
|
5331
5334
|
declarations: [
|
|
5332
5335
|
SearchableSelectorComponent,
|
|
5333
|
-
MatSelectInfiniteScrollDirective
|
|
5334
5336
|
],
|
|
5335
5337
|
exports: [
|
|
5336
5338
|
SearchableSelectorComponent,
|
|
5337
|
-
MatSelectInfiniteScrollDirective
|
|
5338
5339
|
]
|
|
5339
5340
|
}]
|
|
5340
5341
|
}] });
|
|
@@ -13361,6 +13362,189 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
13361
13362
|
}]
|
|
13362
13363
|
}] });
|
|
13363
13364
|
|
|
13365
|
+
// set the default value
|
|
13366
|
+
const DEFAULT_SELECTED_VALUE = 1;
|
|
13367
|
+
class NumberInputButtonComponent {
|
|
13368
|
+
constructor() {
|
|
13369
|
+
this.label = 'Select Value';
|
|
13370
|
+
this.showLabel = true;
|
|
13371
|
+
this.showCustomInput = false;
|
|
13372
|
+
this.options = [
|
|
13373
|
+
{ title: '1', value: 1, type: 'text', hint: '' },
|
|
13374
|
+
{ title: '2', value: 2, type: 'text', hint: '' },
|
|
13375
|
+
{ title: '3', value: 3, type: 'text', hint: '' },
|
|
13376
|
+
{ title: '4', value: 4, type: 'text', hint: '' },
|
|
13377
|
+
{ title: '5', value: 5, type: 'text', hint: '' },
|
|
13378
|
+
{ title: 'help', value: 'custom', type: 'icon', hint: 'Custom' },
|
|
13379
|
+
];
|
|
13380
|
+
this.selectedOption = new UntypedFormControl();
|
|
13381
|
+
this.customValue = new UntypedFormControl(DEFAULT_SELECTED_VALUE);
|
|
13382
|
+
this.touched = false;
|
|
13383
|
+
this.disabled = false;
|
|
13384
|
+
this.onChange = (value) => { };
|
|
13385
|
+
this.onTouched = () => { };
|
|
13386
|
+
}
|
|
13387
|
+
ngOnInit() {
|
|
13388
|
+
this.selectedOption.valueChanges.subscribe((value) => {
|
|
13389
|
+
if (value == 'custom') {
|
|
13390
|
+
this.showCustomInput = true;
|
|
13391
|
+
value = DEFAULT_SELECTED_VALUE;
|
|
13392
|
+
setTimeout(() => {
|
|
13393
|
+
var _a, _b;
|
|
13394
|
+
(_b = (_a = this.customInput) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.focus();
|
|
13395
|
+
}, 100);
|
|
13396
|
+
}
|
|
13397
|
+
else {
|
|
13398
|
+
this.showCustomInput = false;
|
|
13399
|
+
}
|
|
13400
|
+
this.onChange(value);
|
|
13401
|
+
this.onTouched();
|
|
13402
|
+
});
|
|
13403
|
+
this.customValue.valueChanges.subscribe((value) => {
|
|
13404
|
+
this.onChange(value);
|
|
13405
|
+
this.onTouched();
|
|
13406
|
+
});
|
|
13407
|
+
}
|
|
13408
|
+
writeValue(obj) {
|
|
13409
|
+
const option = this.options.find((option) => {
|
|
13410
|
+
return option.value === obj;
|
|
13411
|
+
});
|
|
13412
|
+
if (!option) {
|
|
13413
|
+
this.showCustomInput = true;
|
|
13414
|
+
this.selectedOption.setValue('custom');
|
|
13415
|
+
this.customValue.setValue(obj);
|
|
13416
|
+
}
|
|
13417
|
+
else {
|
|
13418
|
+
this.showCustomInput = false;
|
|
13419
|
+
this.selectedOption.setValue(obj);
|
|
13420
|
+
}
|
|
13421
|
+
}
|
|
13422
|
+
registerOnChange(fn) {
|
|
13423
|
+
this.onChange = fn;
|
|
13424
|
+
}
|
|
13425
|
+
registerOnTouched(fn) {
|
|
13426
|
+
this.onTouched = fn;
|
|
13427
|
+
}
|
|
13428
|
+
setDisabledState(isDisabled) {
|
|
13429
|
+
this.disabled = isDisabled;
|
|
13430
|
+
}
|
|
13431
|
+
}
|
|
13432
|
+
NumberInputButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13433
|
+
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: [
|
|
13434
|
+
{
|
|
13435
|
+
provide: NG_VALUE_ACCESSOR,
|
|
13436
|
+
multi: true,
|
|
13437
|
+
useExisting: NumberInputButtonComponent
|
|
13438
|
+
}
|
|
13439
|
+
], 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"] }] });
|
|
13440
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonComponent, decorators: [{
|
|
13441
|
+
type: Component,
|
|
13442
|
+
args: [{ selector: 'app-number-input-button', providers: [
|
|
13443
|
+
{
|
|
13444
|
+
provide: NG_VALUE_ACCESSOR,
|
|
13445
|
+
multi: true,
|
|
13446
|
+
useExisting: NumberInputButtonComponent
|
|
13447
|
+
}
|
|
13448
|
+
], 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"] }]
|
|
13449
|
+
}], propDecorators: { label: [{
|
|
13450
|
+
type: Input
|
|
13451
|
+
}], appearance: [{
|
|
13452
|
+
type: Input
|
|
13453
|
+
}], showLabel: [{
|
|
13454
|
+
type: Input
|
|
13455
|
+
}], customInput: [{
|
|
13456
|
+
type: ViewChild,
|
|
13457
|
+
args: ['customInput']
|
|
13458
|
+
}] } });
|
|
13459
|
+
|
|
13460
|
+
class NumberInputButtonModule {
|
|
13461
|
+
}
|
|
13462
|
+
NumberInputButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13463
|
+
NumberInputButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonModule, declarations: [NumberInputButtonComponent], imports: [CommonModule,
|
|
13464
|
+
MaterialModule,
|
|
13465
|
+
ReactiveFormsModule], exports: [NumberInputButtonComponent] });
|
|
13466
|
+
NumberInputButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonModule, imports: [CommonModule,
|
|
13467
|
+
MaterialModule,
|
|
13468
|
+
ReactiveFormsModule] });
|
|
13469
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NumberInputButtonModule, decorators: [{
|
|
13470
|
+
type: NgModule,
|
|
13471
|
+
args: [{
|
|
13472
|
+
declarations: [
|
|
13473
|
+
NumberInputButtonComponent
|
|
13474
|
+
],
|
|
13475
|
+
exports: [
|
|
13476
|
+
NumberInputButtonComponent
|
|
13477
|
+
],
|
|
13478
|
+
imports: [
|
|
13479
|
+
CommonModule,
|
|
13480
|
+
MaterialModule,
|
|
13481
|
+
ReactiveFormsModule,
|
|
13482
|
+
]
|
|
13483
|
+
}]
|
|
13484
|
+
}] });
|
|
13485
|
+
|
|
13486
|
+
class ColumnSelectorComponent {
|
|
13487
|
+
constructor() {
|
|
13488
|
+
this.availableColumns = [];
|
|
13489
|
+
this.label = 'Columns';
|
|
13490
|
+
this.updated = new EventEmitter();
|
|
13491
|
+
this.columnSelector = new FormControl([]);
|
|
13492
|
+
}
|
|
13493
|
+
ngOnInit() {
|
|
13494
|
+
var _a;
|
|
13495
|
+
if (((_a = this.availableColumns) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
13496
|
+
this.columnSelector.setValue(this.availableColumns, { emitEvent: false });
|
|
13497
|
+
}
|
|
13498
|
+
this.columnSelector.valueChanges.subscribe((val) => {
|
|
13499
|
+
this.updated.emit(val);
|
|
13500
|
+
});
|
|
13501
|
+
}
|
|
13502
|
+
}
|
|
13503
|
+
ColumnSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13504
|
+
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"] }] });
|
|
13505
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorComponent, decorators: [{
|
|
13506
|
+
type: Component,
|
|
13507
|
+
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" }]
|
|
13508
|
+
}], ctorParameters: function () { return []; }, propDecorators: { availableColumns: [{
|
|
13509
|
+
type: Input
|
|
13510
|
+
}], label: [{
|
|
13511
|
+
type: Input
|
|
13512
|
+
}], updated: [{
|
|
13513
|
+
type: Output
|
|
13514
|
+
}] } });
|
|
13515
|
+
|
|
13516
|
+
class ColumnSelectorModule {
|
|
13517
|
+
}
|
|
13518
|
+
ColumnSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13519
|
+
ColumnSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorModule, declarations: [ColumnSelectorComponent], imports: [CommonModule,
|
|
13520
|
+
MatFormFieldModule,
|
|
13521
|
+
MatOptionModule,
|
|
13522
|
+
MatSelectModule,
|
|
13523
|
+
ReactiveFormsModule], exports: [ColumnSelectorComponent] });
|
|
13524
|
+
ColumnSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorModule, imports: [CommonModule,
|
|
13525
|
+
MatFormFieldModule,
|
|
13526
|
+
MatOptionModule,
|
|
13527
|
+
MatSelectModule,
|
|
13528
|
+
ReactiveFormsModule] });
|
|
13529
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ColumnSelectorModule, decorators: [{
|
|
13530
|
+
type: NgModule,
|
|
13531
|
+
args: [{
|
|
13532
|
+
declarations: [
|
|
13533
|
+
ColumnSelectorComponent
|
|
13534
|
+
],
|
|
13535
|
+
exports: [
|
|
13536
|
+
ColumnSelectorComponent
|
|
13537
|
+
],
|
|
13538
|
+
imports: [
|
|
13539
|
+
CommonModule,
|
|
13540
|
+
MatFormFieldModule,
|
|
13541
|
+
MatOptionModule,
|
|
13542
|
+
MatSelectModule,
|
|
13543
|
+
ReactiveFormsModule
|
|
13544
|
+
]
|
|
13545
|
+
}]
|
|
13546
|
+
}] });
|
|
13547
|
+
|
|
13364
13548
|
/*
|
|
13365
13549
|
* Public API Surface of ngx-techlify-core
|
|
13366
13550
|
*/
|
|
@@ -13369,5 +13553,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
13369
13553
|
* Generated bundle index. Do not edit.
|
|
13370
13554
|
*/
|
|
13371
13555
|
|
|
13372
|
-
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 };
|
|
13556
|
+
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 };
|
|
13373
13557
|
//# sourceMappingURL=ngx-techlify-core.mjs.map
|