ngx-techlify-core 18.3.5 → 18.5.0

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.
@@ -44,7 +44,7 @@ let AuditLogListFilterComponent = class AuditLogListFilterComponent {
44
44
  ngOnDestroy() {
45
45
  }
46
46
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditLogListFilterComponent, deps: [{ token: i1.FormValidatorService }], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AuditLogListFilterComponent, selector: "app-audit-log-list-filter", inputs: { filterForm: "filterForm", objectId: "objectId", objectType: "objectType" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<form [formGroup]=\"filterForm\" class=\"d-flex justify-content-end align-items-center gap-2 w-100\">\n <app-timeline-filter\n labelText=\"Date\"\n formControlName=\"duration\"\n [dateFrom]=\"filterForm.value?.date_from\"\n [dateTo]=\"filterForm.value?.date_to\"\n (selectionChange)=\"onDurationChange($event)\"\n [showClearButton]=\"true\"\n ></app-timeline-filter>\n\n <mat-form-field>\n <mat-label>Action</mat-label>\n <mat-select formControlName=\"action\" [multiple]=\"true\">\n <mat-option value=\"created\">Created</mat-option>\n <mat-option value=\"updated\">Updated</mat-option>\n <mat-option value=\"deleted\">Deleted</mat-option>\n </mat-select>\n <button *ngIf=\"getFieldValue('action')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('action')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"showObjectFilter\">\n <mat-label>Model Type</mat-label>\n <app-searchable-selector\n formControlName=\"object_type\" apiUrl=\"api/audit-log-types\" titleField=\"object_type\"\n valueField=\"object_type\" [sort]=\"false\" [enableSearch]=\"false\"\n [multiple]=\"true\"\n >\n </app-searchable-selector>\n <button *ngIf=\"getFieldValue('object_type')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('object_type')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Model #</mat-label>\n <input type=\"text\" matInput formControlName=\"model_search\" />\n <button *ngIf=\"getFieldValue('model_search')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('model_search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Creator</mat-label>\n <app-searchable-selector\n formControlName=\"creator_ids\"\n [multiple]=\"true\"\n apiUrl=\"api/users\"\n titleField=\"name\"\n ></app-searchable-selector>\n <button *ngIf=\"getFieldValue('creator_ids')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('creator_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.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.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i10.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "component", type: i11.TimelineFilterComponent, selector: "app-timeline-filter", inputs: ["defaultValue", "required", "disabled", "value", "timelineValue", "timelines", "dateFrom", "dateTo", "appearance", "showClearButton", "form", "labelText", "selectedValue", "touchUi"], outputs: ["selectedValueChange", "selectionChange"] }] }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AuditLogListFilterComponent, selector: "app-audit-log-list-filter", inputs: { filterForm: "filterForm", objectId: "objectId", objectType: "objectType" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<form [formGroup]=\"filterForm\" class=\"d-flex justify-content-end align-items-center gap-2 w-100\">\n <app-timeline-filter\n labelText=\"Date\"\n formControlName=\"duration\"\n [dateFrom]=\"filterForm.value?.date_from\"\n [dateTo]=\"filterForm.value?.date_to\"\n (selectionChange)=\"onDurationChange($event)\"\n [showClearButton]=\"true\"\n ></app-timeline-filter>\n\n <mat-form-field>\n <mat-label>Action</mat-label>\n <mat-select formControlName=\"action\" [multiple]=\"true\">\n <mat-option value=\"created\">Created</mat-option>\n <mat-option value=\"updated\">Updated</mat-option>\n <mat-option value=\"deleted\">Deleted</mat-option>\n </mat-select>\n <button *ngIf=\"getFieldValue('action')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('action')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"showObjectFilter\">\n <mat-label>Model Type</mat-label>\n <app-searchable-selector\n formControlName=\"object_type\" apiUrl=\"api/audit-log-types\" titleField=\"object_type\"\n valueField=\"object_type\" [sort]=\"false\" [enableSearch]=\"false\"\n [multiple]=\"true\"\n >\n </app-searchable-selector>\n <button *ngIf=\"getFieldValue('object_type')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('object_type')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Model #</mat-label>\n <input type=\"text\" matInput formControlName=\"model_search\" />\n <button *ngIf=\"getFieldValue('model_search')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('model_search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Creator</mat-label>\n <app-searchable-selector\n formControlName=\"creator_ids\"\n [multiple]=\"true\"\n apiUrl=\"api/users\"\n titleField=\"name\"\n ></app-searchable-selector>\n <button *ngIf=\"getFieldValue('creator_ids')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('creator_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.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.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i10.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "component", type: i11.TimelineFilterComponent, selector: "app-timeline-filter", inputs: ["defaultValue", "required", "disabled", "value", "timelines", "dateFrom", "dateTo", "appearance", "showClearButton", "form", "labelText"], outputs: ["selectionChange"] }] }); }
48
48
  };
49
49
  AuditLogListFilterComponent = __decorate([
50
50
  UntilDestroy()
@@ -0,0 +1,3 @@
1
+ export class ColumnConfig {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLFlBQVk7Q0FLeEIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBjbGFzcyBDb2x1bW5Db25maWcge1xuICAgIGxhYmVsOiBzdHJpbmc7IC8vQ29sdW1uIGxhYmVsXG4gICAgZGVmOiBzdHJpbmc7ICAgLy9Db2x1bW4gZGVmaW5pdGlvblxuICAgIGlzRWRpdGFibGU/OiBib29sZWFuOyAgLy9EZW5vdGVzIGlmIGEgY29sdW1uIGlzIGVkaXRhYmxlIGluIHNlbGVjdG9yLCBkZWZhdWx0IGl0IGlzIGVkaXRhYmxlXG4gICAgaXNTZWxlY3RlZD86IGJvb2xlYW47ICAvL0Rlbm90ZXMgaWYgYSBjb2x1bW4gaXMgc2VsZWN0ZWQgYnkgZGVmYXVsdCwgZGVmYXVsdCBpdCBpcyBzZWxlY3RlZFxufVxuIl19
@@ -1,5 +1,6 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
+ import { startWith } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
5
6
  import * as i2 from "@angular/material/form-field";
@@ -7,54 +8,80 @@ import * as i3 from "@angular/material/core";
7
8
  import * as i4 from "@angular/material/select";
8
9
  import * as i5 from "@angular/forms";
9
10
  import * as i6 from "@angular/material/icon";
10
- import * as i7 from "@angular/material/menu";
11
- import * as i8 from "@angular/material/list";
11
+ import * as i7 from "@angular/material/input";
12
+ import * as i8 from "@angular/material/button";
12
13
  export class ColumnSelectorComponent {
14
+ get availableColumns() {
15
+ return this.columnConfigs;
16
+ }
17
+ get displayedColumns() {
18
+ return this.columnConfigs.filter(column => column.isSelected ?? true);
19
+ }
20
+ get displayedColumnDefs() {
21
+ return this.displayedColumns.map(column => column.def);
22
+ }
23
+ get filteredColumns() {
24
+ return this.availableColumns.filter((column) => {
25
+ if (this.search.value) {
26
+ return column.label.toLowerCase().includes(this.search.value.toLowerCase());
27
+ }
28
+ return true;
29
+ });
30
+ }
31
+ get sortedColumns() {
32
+ let columns = this.filteredColumns.sort((a, b) => {
33
+ if (a.label < b.label)
34
+ return -1;
35
+ if (a.label > b.label)
36
+ return 1;
37
+ return 0;
38
+ });
39
+ if (this.search.value) {
40
+ columns = [...columns, ...this.selectedColumns];
41
+ }
42
+ return [...new Map(columns.map(column => [column.def, column])).values()];
43
+ }
13
44
  constructor() {
14
- this.availableColumns = [];
15
- this.displayedColumns = [];
16
45
  this.label = 'Columns';
17
46
  this.mode = 'selector';
47
+ this.columnConfigs = [];
48
+ this.selectedColumns = [];
49
+ this.selectedColumnsChange = new EventEmitter();
18
50
  this.displayedColumnsChange = new EventEmitter();
19
- /**
20
- * @deprecated Use displayedColumnsChange instead
21
- */
22
- this.updated = new EventEmitter();
23
51
  this.columnSelector = new FormControl([]);
24
- this.selectedColumns = [];
25
- this.selectedColumns = this.columnSelector.value || [];
52
+ this.search = new FormControl('');
26
53
  }
27
54
  ngOnInit() {
28
55
  if (this.displayedColumns?.length > 0) {
29
- this.columnSelector.setValue(this.displayedColumns, { emitEvent: false });
30
- this.selectedColumns = this.columnSelector.value;
56
+ this.columnSelector.setValue(this.displayedColumnDefs, { emitEvent: false });
31
57
  }
32
- this.columnSelector.valueChanges.subscribe((val) => {
33
- this.displayedColumns = val;
34
- this.displayedColumnsChange.emit(this.displayedColumns);
35
- this.updated.emit(val);
58
+ this.columnSelector.valueChanges
59
+ .pipe(startWith(this.displayedColumnDefs))
60
+ .subscribe((selectedColumns) => {
61
+ this.selectedColumns = this.columnConfigs
62
+ .filter(column => selectedColumns.includes(column.def));
63
+ const columnDefs = this.selectedColumns.map(column => column.def);
64
+ this.selectedColumnsChange.emit(this.selectedColumns);
65
+ this.displayedColumnsChange.emit(columnDefs);
36
66
  });
37
67
  }
38
- updateColumnSelector() {
39
- this.columnSelector.setValue(this.selectedColumns);
40
- }
41
68
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ColumnSelectorComponent, selector: "app-column-selector", inputs: { availableColumns: "availableColumns", displayedColumns: "displayedColumns", label: "label", mode: "mode" }, outputs: { displayedColumnsChange: "displayedColumnsChange", updated: "updated" }, ngImport: i0, template: "<mat-form-field *ngIf=\"mode === 'selector'\">\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\n<!-- Mode: Icon -->\n<mat-icon *ngIf=\"mode === 'icon'\" class=\"cursor-pointer\"\n [matMenuTriggerFor]=\"columnMenu\" #menuTrigger=\"matMenuTrigger\">\n view_column\n</mat-icon>\n\n<!-- Mat Menu for Multi Selection -->\n<mat-menu #columnMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <mat-selection-list [(ngModel)]=\"selectedColumns\" (ngModelChange)=\"updateColumnSelector()\">\n <mat-list-option *ngFor=\"let col of availableColumns\" [value]=\"col\">\n {{ col }}\n </mat-list-option>\n </mat-selection-list>\n</mat-menu>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }] }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ColumnSelectorComponent, selector: "app-column-selector", inputs: { label: "label", mode: "mode", columnConfigs: "columnConfigs", selectedColumns: "selectedColumns" }, outputs: { selectedColumnsChange: "selectedColumnsChange", displayedColumnsChange: "displayedColumnsChange" }, ngImport: i0, template: "<mat-form-field *ngIf=\"mode === 'selector'\">\n <mat-label>{{ label }}</mat-label>\n <mat-select [multiple]=\"true\" [formControl]=\"columnSelector\">\n <mat-option class=\"text-capitalize\" *ngFor=\"let col of sortedColumns\" [value]=\"col.def\"\n [disabled]=\"!(col?.isEditable ?? true)\">\n {{ col.label }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<div *ngIf=\"mode === 'icon'\" style=\"height: 20px;\">\n <button matTooltip=\"Column Selector\" type=\"button\" mat-icon-button (click)=\"select.open()\" class=\"column-button\">\n <mat-icon class=\"relative-view-icon\">view_column</mat-icon>\n <mat-select class=\"column-selector\" #select [formControl]=\"columnSelector\" multiple panelWidth=\"\">\n <mat-form-field class=\"p-1 w-100\">\n <input matInput [formControl]=\"search\" placeholder=\"Search\" (keydown)=\"$event.stopPropagation();\"\n autocomplete=\"off\">\n <button mat-icon-button matSuffix type=\"button\" *ngIf=\"search.value\" (click)=\"search.setValue('')\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-form-field>\n <mat-option *ngFor=\"let column of sortedColumns\" [value]=\"column.def\" class=\"text-capitalize\"\n [disabled]=\"!(column?.isEditable ?? true)\">{{column?.label}}</mat-option>\n </mat-select>\n </button>\n</div>", styles: [".relative-view-icon{position:relative;right:10px;bottom:14px}.column-button{height:20px;width:20px;border:0;background:transparent}.column-selector{opacity:0;position:relative;bottom:50px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.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.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
43
70
  }
44
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnSelectorComponent, decorators: [{
45
72
  type: Component,
46
- args: [{ selector: 'app-column-selector', template: "<mat-form-field *ngIf=\"mode === 'selector'\">\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\n<!-- Mode: Icon -->\n<mat-icon *ngIf=\"mode === 'icon'\" class=\"cursor-pointer\"\n [matMenuTriggerFor]=\"columnMenu\" #menuTrigger=\"matMenuTrigger\">\n view_column\n</mat-icon>\n\n<!-- Mat Menu for Multi Selection -->\n<mat-menu #columnMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <mat-selection-list [(ngModel)]=\"selectedColumns\" (ngModelChange)=\"updateColumnSelector()\">\n <mat-list-option *ngFor=\"let col of availableColumns\" [value]=\"col\">\n {{ col }}\n </mat-list-option>\n </mat-selection-list>\n</mat-menu>\n" }]
47
- }], ctorParameters: () => [], propDecorators: { availableColumns: [{
73
+ args: [{ selector: 'app-column-selector', template: "<mat-form-field *ngIf=\"mode === 'selector'\">\n <mat-label>{{ label }}</mat-label>\n <mat-select [multiple]=\"true\" [formControl]=\"columnSelector\">\n <mat-option class=\"text-capitalize\" *ngFor=\"let col of sortedColumns\" [value]=\"col.def\"\n [disabled]=\"!(col?.isEditable ?? true)\">\n {{ col.label }}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<div *ngIf=\"mode === 'icon'\" style=\"height: 20px;\">\n <button matTooltip=\"Column Selector\" type=\"button\" mat-icon-button (click)=\"select.open()\" class=\"column-button\">\n <mat-icon class=\"relative-view-icon\">view_column</mat-icon>\n <mat-select class=\"column-selector\" #select [formControl]=\"columnSelector\" multiple panelWidth=\"\">\n <mat-form-field class=\"p-1 w-100\">\n <input matInput [formControl]=\"search\" placeholder=\"Search\" (keydown)=\"$event.stopPropagation();\"\n autocomplete=\"off\">\n <button mat-icon-button matSuffix type=\"button\" *ngIf=\"search.value\" (click)=\"search.setValue('')\">\n <mat-icon>clear</mat-icon>\n </button>\n </mat-form-field>\n <mat-option *ngFor=\"let column of sortedColumns\" [value]=\"column.def\" class=\"text-capitalize\"\n [disabled]=\"!(column?.isEditable ?? true)\">{{column?.label}}</mat-option>\n </mat-select>\n </button>\n</div>", styles: [".relative-view-icon{position:relative;right:10px;bottom:14px}.column-button{height:20px;width:20px;border:0;background:transparent}.column-selector{opacity:0;position:relative;bottom:50px}\n"] }]
74
+ }], ctorParameters: () => [], propDecorators: { label: [{
48
75
  type: Input
49
- }], displayedColumns: [{
76
+ }], mode: [{
50
77
  type: Input
51
- }], label: [{
78
+ }], columnConfigs: [{
52
79
  type: Input
53
- }], mode: [{
80
+ }], selectedColumns: [{
54
81
  type: Input
55
- }], displayedColumnsChange: [{
82
+ }], selectedColumnsChange: [{
56
83
  type: Output
57
- }], updated: [{
84
+ }], displayedColumnsChange: [{
58
85
  type: Output
59
86
  }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci9jb2x1bW4tc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVEzQyxNQUFNLE9BQU8sdUJBQXVCO0lBZWxDO1FBZFMscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBQ2hDLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUNoQyxVQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ2xCLFNBQUksR0FBd0IsVUFBVSxDQUFDO1FBRXRDLDJCQUFzQixHQUEyQixJQUFJLFlBQVksRUFBWSxDQUFDO1FBQ3hGOztXQUVHO1FBQ08sWUFBTyxHQUEyQixJQUFJLFlBQVksRUFBWSxDQUFDO1FBRXpFLG1CQUFjLEdBQWdCLElBQUksV0FBVyxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBRzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDbkQsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQWEsRUFBRSxFQUFFO1lBQzNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7WUFDNUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7K0dBbENVLHVCQUF1QjttR0FBdkIsdUJBQXVCLG9RQ1RwQyxnM0JBdUJBOzs0RkRkYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBRUUscUJBQXFCO3dEQUt0QixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksc0JBQXNCO3NCQUEvQixNQUFNO2dCQUlHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2FwcC1jb2x1bW4tc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBhdmFpbGFibGVDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBsYWJlbCA9ICdDb2x1bW5zJztcbiAgQElucHV0KCkgbW9kZTogJ3NlbGVjdG9yJyB8ICdpY29uJyA9ICdzZWxlY3Rvcic7XG5cbiAgQE91dHB1dCgpIGRpc3BsYXllZENvbHVtbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGRpc3BsYXllZENvbHVtbnNDaGFuZ2UgaW5zdGVhZFxuICAgKi9cbiAgQE91dHB1dCgpIHVwZGF0ZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIGNvbHVtblNlbGVjdG9yOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxhbnk+KFtdKTtcbiAgc2VsZWN0ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zID0gdGhpcy5jb2x1bW5TZWxlY3Rvci52YWx1ZSB8fCBbXTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc3BsYXllZENvbHVtbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY29sdW1uU2VsZWN0b3Iuc2V0VmFsdWUodGhpcy5kaXNwbGF5ZWRDb2x1bW5zLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbnMgPSB0aGlzLmNvbHVtblNlbGVjdG9yLnZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMuY29sdW1uU2VsZWN0b3IudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdmFsO1xuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zQ2hhbmdlLmVtaXQodGhpcy5kaXNwbGF5ZWRDb2x1bW5zKTtcbiAgICAgIHRoaXMudXBkYXRlZC5lbWl0KHZhbCk7XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVDb2x1bW5TZWxlY3RvcigpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtblNlbGVjdG9yLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRDb2x1bW5zKTtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwibW9kZSA9PT0gJ3NlbGVjdG9yJ1wiPlxuICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gIDxtYXQtc2VsZWN0IFttdWx0aXBsZV09XCJ0cnVlXCIgW2Zvcm1Db250cm9sXT1cImNvbHVtblNlbGVjdG9yXCI+XG4gICAgPG1hdC1vcHRpb24gY2xhc3M9XCJ0ZXh0LWNhcGl0YWxpemVcIiAqbmdGb3I9XCJsZXQgY29sIG9mIGF2YWlsYWJsZUNvbHVtbnNcIiBbdmFsdWVdPVwiY29sXCI+XG4gICAgICB7eyBjb2wgfX1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LXNlbGVjdD5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbjwhLS0gTW9kZTogSWNvbiAtLT5cbjxtYXQtaWNvbiAqbmdJZj1cIm1vZGUgPT09ICdpY29uJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJjb2x1bW5NZW51XCIgI21lbnVUcmlnZ2VyPVwibWF0TWVudVRyaWdnZXJcIj5cbiAgdmlld19jb2x1bW5cbjwvbWF0LWljb24+XG5cbjwhLS0gTWF0IE1lbnUgZm9yIE11bHRpIFNlbGVjdGlvbiAtLT5cbjxtYXQtbWVudSAjY29sdW1uTWVudT1cIm1hdE1lbnVcIiBbb3ZlcmxhcFRyaWdnZXJdPVwiZmFsc2VcIj5cbiAgPG1hdC1zZWxlY3Rpb24tbGlzdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQ29sdW1uc1wiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUNvbHVtblNlbGVjdG9yKClcIj5cbiAgICA8bWF0LWxpc3Qtb3B0aW9uICpuZ0Zvcj1cImxldCBjb2wgb2YgYXZhaWxhYmxlQ29sdW1uc1wiIFt2YWx1ZV09XCJjb2xcIj5cbiAgICAgIHt7IGNvbCB9fVxuICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbjwvbWF0LW1lbnU+XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci9jb2x1bW4tc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBUWpDLE1BQU0sT0FBTyx1QkFBdUI7SUFZbEMsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDbEQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN0QixPQUFRLE1BQU0sQ0FBQyxLQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzFGLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSztnQkFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSztnQkFBRSxPQUFPLENBQUMsQ0FBQztZQUNoQyxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RCLE9BQU8sR0FBRyxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDtRQTVDUyxVQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ2xCLFNBQUksR0FBd0IsVUFBVSxDQUFDO1FBQ3ZDLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUNuQyxvQkFBZSxHQUFtQixFQUFFLENBQUM7UUFDcEMsMEJBQXFCLEdBQWlDLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRXpGLDJCQUFzQixHQUEyQixJQUFJLFlBQVksRUFBWSxDQUFDO1FBRXhGLG1CQUFjLEdBQWdCLElBQUksV0FBVyxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELFdBQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQW1DYixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWTthQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLGVBQXlCLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhO2lCQUN0QyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTdEVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix3UkNYcEMsazFDQXlCTTs7NEZEZE8sdUJBQXVCO2tCQU5uQyxTQUFTOytCQUVFLHFCQUFxQjt3REFLdEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0kscUJBQXFCO3NCQUE5QixNQUFNO2dCQUVHLHNCQUFzQjtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29sdW1uQ29uZmlnIH0gZnJvbSAnLi4vY29sdW1uLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhcHAtY29sdW1uLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbHVtbi1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtblNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGFiZWwgPSAnQ29sdW1ucyc7XG4gIEBJbnB1dCgpIG1vZGU6ICdzZWxlY3RvcicgfCAnaWNvbicgPSAnc2VsZWN0b3InO1xuICBASW5wdXQoKSBjb2x1bW5Db25maWdzOiBDb2x1bW5Db25maWdbXSA9IFtdO1xuICBASW5wdXQoKSBzZWxlY3RlZENvbHVtbnM6IENvbHVtbkNvbmZpZ1tdID0gW107XG4gIEBPdXRwdXQoKSBzZWxlY3RlZENvbHVtbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDb2x1bW5Db25maWdbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPENvbHVtbkNvbmZpZ1tdPigpO1xuXG4gIEBPdXRwdXQoKSBkaXNwbGF5ZWRDb2x1bW5zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBjb2x1bW5TZWxlY3RvcjogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8YW55PihbXSk7XG4gIHNlYXJjaCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgZ2V0IGF2YWlsYWJsZUNvbHVtbnMoKTogQ29sdW1uQ29uZmlnW10ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbkNvbmZpZ3M7XG4gIH1cblxuICBnZXQgZGlzcGxheWVkQ29sdW1ucygpOiBDb2x1bW5Db25maWdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uQ29uZmlncy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi5pc1NlbGVjdGVkID8/IHRydWUpO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXllZENvbHVtbkRlZnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXllZENvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4uZGVmKTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJlZENvbHVtbnMoKTogQ29sdW1uQ29uZmlnW10ge1xuICAgIHJldHVybiB0aGlzLmF2YWlsYWJsZUNvbHVtbnMuZmlsdGVyKChjb2x1bW46IGFueSkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2VhcmNoLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiAoY29sdW1uLmxhYmVsIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaC52YWx1ZS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHNvcnRlZENvbHVtbnMoKTogQ29sdW1uQ29uZmlnW10ge1xuICAgIGxldCBjb2x1bW5zID0gdGhpcy5maWx0ZXJlZENvbHVtbnMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgaWYgKGEubGFiZWwgPCBiLmxhYmVsKSByZXR1cm4gLTE7XG4gICAgICBpZiAoYS5sYWJlbCA+IGIubGFiZWwpIHJldHVybiAxO1xuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG4gICAgaWYgKHRoaXMuc2VhcmNoLnZhbHVlKSB7XG4gICAgICBjb2x1bW5zID0gWy4uLmNvbHVtbnMsIC4uLnRoaXMuc2VsZWN0ZWRDb2x1bW5zXTtcbiAgICB9XG4gICAgcmV0dXJuIFsuLi5uZXcgTWFwKGNvbHVtbnMubWFwKGNvbHVtbiA9PiBbY29sdW1uLmRlZiwgY29sdW1uXSkpLnZhbHVlcygpXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzcGxheWVkQ29sdW1ucz8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jb2x1bW5TZWxlY3Rvci5zZXRWYWx1ZSh0aGlzLmRpc3BsYXllZENvbHVtbkRlZnMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbHVtblNlbGVjdG9yLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMuZGlzcGxheWVkQ29sdW1uRGVmcykpXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3RlZENvbHVtbnM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zID0gdGhpcy5jb2x1bW5Db25maWdzXG4gICAgICAgICAgLmZpbHRlcihjb2x1bW4gPT4gc2VsZWN0ZWRDb2x1bW5zLmluY2x1ZGVzKGNvbHVtbi5kZWYpKTtcbiAgICAgICAgY29uc3QgY29sdW1uRGVmcyA9IHRoaXMuc2VsZWN0ZWRDb2x1bW5zLm1hcChjb2x1bW4gPT4gY29sdW1uLmRlZik7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZENvbHVtbnMpO1xuICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnNDaGFuZ2UuZW1pdChjb2x1bW5EZWZzKTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJtb2RlID09PSAnc2VsZWN0b3InXCI+XG4gIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cbiAgPG1hdC1zZWxlY3QgW211bHRpcGxlXT1cInRydWVcIiBbZm9ybUNvbnRyb2xdPVwiY29sdW1uU2VsZWN0b3JcIj5cbiAgICA8bWF0LW9wdGlvbiBjbGFzcz1cInRleHQtY2FwaXRhbGl6ZVwiICpuZ0Zvcj1cImxldCBjb2wgb2Ygc29ydGVkQ29sdW1uc1wiIFt2YWx1ZV09XCJjb2wuZGVmXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhKGNvbD8uaXNFZGl0YWJsZSA/PyB0cnVlKVwiPlxuICAgICAge3sgY29sLmxhYmVsIH19XG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1zZWxlY3Q+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48ZGl2ICpuZ0lmPVwibW9kZSA9PT0gJ2ljb24nXCIgc3R5bGU9XCJoZWlnaHQ6IDIwcHg7XCI+XG4gIDxidXR0b24gbWF0VG9vbHRpcD1cIkNvbHVtbiBTZWxlY3RvclwiIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNlbGVjdC5vcGVuKClcIiBjbGFzcz1cImNvbHVtbi1idXR0b25cIj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJyZWxhdGl2ZS12aWV3LWljb25cIj52aWV3X2NvbHVtbjwvbWF0LWljb24+XG4gICAgPG1hdC1zZWxlY3QgY2xhc3M9XCJjb2x1bW4tc2VsZWN0b3JcIiAjc2VsZWN0IFtmb3JtQ29udHJvbF09XCJjb2x1bW5TZWxlY3RvclwiIG11bHRpcGxlIHBhbmVsV2lkdGg9XCJcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInAtMSB3LTEwMFwiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cInNlYXJjaFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXG4gICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeCB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJzZWFyY2gudmFsdWVcIiAoY2xpY2spPVwic2VhcmNoLnNldFZhbHVlKCcnKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjb2x1bW4gb2Ygc29ydGVkQ29sdW1uc1wiIFt2YWx1ZV09XCJjb2x1bW4uZGVmXCIgY2xhc3M9XCJ0ZXh0LWNhcGl0YWxpemVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIShjb2x1bW4/LmlzRWRpdGFibGUgPz8gdHJ1ZSlcIj57e2NvbHVtbj8ubGFiZWx9fTwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvYnV0dG9uPlxuPC9kaXY+Il19
@@ -8,6 +8,8 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
8
8
  import { MatIcon } from "@angular/material/icon";
9
9
  import { MatMenu, MatMenuTrigger } from "@angular/material/menu";
10
10
  import { MatListOption, MatSelectionList } from "@angular/material/list";
11
+ import { MatInputModule } from '@angular/material/input';
12
+ import { MatButtonModule } from '@angular/material/button';
11
13
  import * as i0 from "@angular/core";
12
14
  export class ColumnSelectorModule {
13
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -21,7 +23,9 @@ export class ColumnSelectorModule {
21
23
  MatMenu,
22
24
  MatSelectionList,
23
25
  FormsModule,
24
- MatListOption], exports: [ColumnSelectorComponent] }); }
26
+ MatListOption,
27
+ MatInputModule,
28
+ MatButtonModule], exports: [ColumnSelectorComponent] }); }
25
29
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnSelectorModule, imports: [CommonModule,
26
30
  MatFormFieldModule,
27
31
  MatOptionModule,
@@ -31,7 +35,9 @@ export class ColumnSelectorModule {
31
35
  MatMenu,
32
36
  MatSelectionList,
33
37
  FormsModule,
34
- MatListOption] }); }
38
+ MatListOption,
39
+ MatInputModule,
40
+ MatButtonModule] }); }
35
41
  }
36
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnSelectorModule, decorators: [{
37
43
  type: NgModule,
@@ -53,8 +59,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
53
59
  MatMenu,
54
60
  MatSelectionList,
55
61
  FormsModule,
56
- MatListOption
62
+ MatListOption,
63
+ MatInputModule,
64
+ MatButtonModule
57
65
  ]
58
66
  }]
59
67
  }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDOztBQXlCdkUsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBbkI3Qix1QkFBdUIsYUFNdkIsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixPQUFPO1lBQ1AsY0FBYztZQUNkLE9BQU87WUFDUCxnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLGFBQWEsYUFiYix1QkFBdUI7Z0hBZ0JkLG9CQUFvQixZQWI3QixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLE9BQU87WUFFUCxPQUFPO1lBQ1AsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxhQUFhOzs0RkFHSixvQkFBb0I7a0JBckJoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsT0FBTzt3QkFDUCxjQUFjO3dCQUNkLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbHVtblNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEZvcm1GaWVsZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge01hdE9wdGlvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0SWNvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7TWF0TWVudSwgTWF0TWVudVRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5pbXBvcnQge01hdExpc3RPcHRpb24sIE1hdFNlbGVjdGlvbkxpc3R9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9saXN0XCI7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDb2x1bW5TZWxlY3RvckNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29sdW1uU2VsZWN0b3JDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEljb24sXG4gICAgTWF0TWVudVRyaWdnZXIsXG4gICAgTWF0TWVudSxcbiAgICBNYXRTZWxlY3Rpb25MaXN0LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdExpc3RPcHRpb25cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5TZWxlY3Rvck1vZHVsZSB7IH1cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBMkIzRCxNQUFNLE9BQU8sb0JBQW9COytHQUFwQixvQkFBb0I7Z0hBQXBCLG9CQUFvQixpQkFyQjdCLHVCQUF1QixhQU12QixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLE9BQU87WUFDUCxjQUFjO1lBQ2QsT0FBTztZQUNQLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsYUFBYTtZQUNiLGNBQWM7WUFDZCxlQUFlLGFBZmYsdUJBQXVCO2dIQWtCZCxvQkFBb0IsWUFmN0IsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixPQUFPO1lBRVAsT0FBTztZQUNQLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsYUFBYTtZQUNiLGNBQWM7WUFDZCxlQUFlOzs0RkFHTixvQkFBb0I7a0JBdkJoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsT0FBTzt3QkFDUCxjQUFjO3dCQUNkLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29sdW1uU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbHVtbi1zZWxlY3Rvci9jb2x1bW4tc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7IE1hdE1lbnUsIE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7IE1hdExpc3RPcHRpb24sIE1hdFNlbGVjdGlvbkxpc3QgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdFwiO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ29sdW1uU2VsZWN0b3JDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENvbHVtblNlbGVjdG9yQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uLFxuICAgIE1hdE1lbnVUcmlnZ2VyLFxuICAgIE1hdE1lbnUsXG4gICAgTWF0U2VsZWN0aW9uTGlzdCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRMaXN0T3B0aW9uLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtblNlbGVjdG9yTW9kdWxlIHsgfVxuIl19
@@ -1,3 +1,4 @@
1
+ export * from './column-config.model';
1
2
  export * from './column-selector.module';
2
3
  export * from './column-selector/column-selector.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvbHVtbi1zZWxlY3Rvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNkNBQTZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbHVtbi1zZWxlY3Rvci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudCc7XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvbHVtbi1zZWxlY3Rvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2Q0FBNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29sdW1uLWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbi1zZWxlY3Rvci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudCc7XG4iXX0=
@@ -77,7 +77,7 @@ let LoginHistoryForUserComponent = class LoginHistoryForUserComponent {
77
77
  //Until destroyed uses it
78
78
  }
79
79
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginHistoryForUserComponent, deps: [{ token: i1.HttpService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoginHistoryForUserComponent, selector: "app-login-history-for-user", inputs: { userId: "userId" }, ngImport: i0, template: "<div class=\"mat-typography m-4\">\n <form [formGroup]=\"historyFilterForm\" fxLayoutAlign=\" start center\">\n <app-timeline-filter formControlName=\"duration\" (selectionChange)=\"onTimelineChange($event)\"></app-timeline-filter>\n </form>\n\n <section>\n <div class=\"scroll-container\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\n <table mat-table [dataSource]=\"loginHistoryList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"login-history-table\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let loginHistory; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Last Login</th>\n <td mat-cell *matCellDef=\"let loginHistory;\">\n {{loginHistory?.created_at | date:'medium' }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns;\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n\n </section>\n</div>\n", styles: [".scroll-container{max-height:800px;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i3.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: i4.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i4.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.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: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.TimelineFilterComponent, selector: "app-timeline-filter", inputs: ["defaultValue", "required", "disabled", "value", "timelineValue", "timelines", "dateFrom", "dateTo", "appearance", "showClearButton", "form", "labelText", "selectedValue", "touchUi"], outputs: ["selectedValueChange", "selectionChange"] }, { kind: "pipe", type: i8.DatePipe, name: "date" }] }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoginHistoryForUserComponent, selector: "app-login-history-for-user", inputs: { userId: "userId" }, ngImport: i0, template: "<div class=\"mat-typography m-4\">\n <form [formGroup]=\"historyFilterForm\" fxLayoutAlign=\" start center\">\n <app-timeline-filter formControlName=\"duration\" (selectionChange)=\"onTimelineChange($event)\"></app-timeline-filter>\n </form>\n\n <section>\n <div class=\"scroll-container\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\n <table mat-table [dataSource]=\"loginHistoryList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"login-history-table\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let loginHistory; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Last Login</th>\n <td mat-cell *matCellDef=\"let loginHistory;\">\n {{loginHistory?.created_at | date:'medium' }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns;\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n\n </section>\n</div>\n", styles: [".scroll-container{max-height:800px;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i3.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: i4.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i4.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.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: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.TimelineFilterComponent, selector: "app-timeline-filter", inputs: ["defaultValue", "required", "disabled", "value", "timelines", "dateFrom", "dateTo", "appearance", "showClearButton", "form", "labelText"], outputs: ["selectionChange"] }, { kind: "pipe", type: i8.DatePipe, name: "date" }] }); }
81
81
  };
82
82
  LoginHistoryForUserComponent = __decorate([
83
83
  UntilDestroy()