@messaia/cdk 13.3.2-rc05 → 13.3.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/components/generic-form-base.component.mjs +3 -3
- package/esm2020/lib/base/components/generic-list.component.mjs +11 -11
- package/esm2020/lib/layout/layout-manage-list/layout-manage-list.component.mjs +30 -28
- package/esm2020/lib/layout/layout-manage-list/layout-manage-list.directives.mjs +44 -17
- package/esm2020/lib/layout/layout-nav/layout-nav.component.mjs +10 -4
- package/esm2020/lib/layout/layout.module.mjs +8 -4
- package/esm2020/lib/table/components/dynamic-table/dynamic-table.component.mjs +11 -11
- package/esm2020/lib/table/functions/decorators.mjs +4 -4
- package/esm2020/lib/table/models/table-column.mjs +1 -1
- package/fesm2015/messaia-cdk.mjs +307 -274
- package/fesm2015/messaia-cdk.mjs.map +1 -1
- package/fesm2020/messaia-cdk.mjs +307 -274
- package/fesm2020/messaia-cdk.mjs.map +1 -1
- package/lib/base/components/generic-form-base.component.d.ts +1 -1
- package/lib/base/components/generic-list.component.d.ts +2 -2
- package/lib/layout/layout-manage-list/layout-manage-list.component.d.ts +19 -1
- package/lib/layout/layout-manage-list/layout-manage-list.directives.d.ts +36 -0
- package/lib/layout/layout-nav/layout-nav.component.d.ts +4 -4
- package/lib/layout/layout.module.d.ts +2 -1
- package/lib/table/components/dynamic-table/dynamic-table.component.d.ts +3 -3
- package/lib/table/models/table-column.d.ts +1 -1
- package/package.json +1 -1
package/fesm2015/messaia-cdk.mjs
CHANGED
|
@@ -32,7 +32,7 @@ import { __awaiter } from 'tslib';
|
|
|
32
32
|
import { MatStepper } from '@angular/material/stepper';
|
|
33
33
|
import * as i15 from '@angular/material/paginator';
|
|
34
34
|
import { MatPaginator, MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';
|
|
35
|
-
import * as i5 from '@angular/material/sort';
|
|
35
|
+
import * as i5$1 from '@angular/material/sort';
|
|
36
36
|
import { MatSort, MatSortModule } from '@angular/material/sort';
|
|
37
37
|
import { saveAs } from 'file-saver';
|
|
38
38
|
import { trigger, state, style, transition, animate, AUTO_STYLE, group, query, animateChild } from '@angular/animations';
|
|
@@ -42,16 +42,16 @@ import 'reflect-metadata';
|
|
|
42
42
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
43
43
|
import * as i2$2 from '@angular/material/progress-bar';
|
|
44
44
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
45
|
-
import * as i4$
|
|
45
|
+
import * as i4$2 from '@angular/material/checkbox';
|
|
46
46
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
47
47
|
import * as i6 from '@angular/material/slide-toggle';
|
|
48
48
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
49
|
-
import * as
|
|
49
|
+
import * as i5 from '@angular/material/icon';
|
|
50
50
|
import { MatIconModule } from '@angular/material/icon';
|
|
51
51
|
import * as i2 from '@angular/cdk/table';
|
|
52
52
|
import { DataSource, CdkTableModule } from '@angular/cdk/table';
|
|
53
53
|
import { TemplatePortalDirective, CdkPortal } from '@angular/cdk/portal';
|
|
54
|
-
import * as i4$
|
|
54
|
+
import * as i4$1 from '@angular/material/select';
|
|
55
55
|
import { MatSelect, MatSelectModule } from '@angular/material/select';
|
|
56
56
|
import * as i2$1 from '@angular/material/core';
|
|
57
57
|
import { mixinErrorState, MatNativeDateModule } from '@angular/material/core';
|
|
@@ -61,23 +61,23 @@ import * as i19 from '@angular/material/tooltip';
|
|
|
61
61
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
62
62
|
import * as i7$2 from '@angular/material/autocomplete';
|
|
63
63
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
64
|
-
import * as i4$
|
|
64
|
+
import * as i4$3 from '@angular/material/chips';
|
|
65
65
|
import { MatChipsModule } from '@angular/material/chips';
|
|
66
66
|
import * as i6$1 from '@angular/material/progress-spinner';
|
|
67
67
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
68
68
|
import * as i3$2 from '@angular/cdk/a11y';
|
|
69
|
-
import * as
|
|
69
|
+
import * as i8 from '@angular/cdk/scrolling';
|
|
70
70
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
71
71
|
import * as i2$4 from '@angular/material/card';
|
|
72
72
|
import { MatCardModule } from '@angular/material/card';
|
|
73
|
-
import * as i1$
|
|
73
|
+
import * as i1$7 from '@angular/material/list';
|
|
74
74
|
import { MatListModule } from '@angular/material/list';
|
|
75
75
|
import * as i2$5 from '@angular/material/sidenav';
|
|
76
76
|
import { MatSidenav, MatSidenavModule } from '@angular/material/sidenav';
|
|
77
|
-
import * as
|
|
77
|
+
import * as i3$4 from '@angular/material/toolbar';
|
|
78
78
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
79
79
|
import * as i3$3 from '@angular/material/divider';
|
|
80
|
-
import * as i1$
|
|
80
|
+
import * as i1$8 from '@angular/cdk/bidi';
|
|
81
81
|
|
|
82
82
|
class DisableControlDirective {
|
|
83
83
|
/**
|
|
@@ -2429,7 +2429,7 @@ class GenericFormBaseComponent extends BaseComponent {
|
|
|
2429
2429
|
/**
|
|
2430
2430
|
* Toolbar menu items
|
|
2431
2431
|
*/
|
|
2432
|
-
this.
|
|
2432
|
+
this.toolbarMenuItems = [];
|
|
2433
2433
|
/**
|
|
2434
2434
|
* panelId: string
|
|
2435
2435
|
*/
|
|
@@ -2718,7 +2718,7 @@ class GenericFormBaseComponent extends BaseComponent {
|
|
|
2718
2718
|
addToolbarMenuItems() {
|
|
2719
2719
|
/* Add 'Delete' menu item */
|
|
2720
2720
|
if (this.deletable) {
|
|
2721
|
-
this.
|
|
2721
|
+
this.toolbarMenuItems.push({
|
|
2722
2722
|
title: $localize `:@@delete:Delete`,
|
|
2723
2723
|
icon: 'delete_forever',
|
|
2724
2724
|
iconClass: 'tc-orange-800',
|
|
@@ -3258,7 +3258,7 @@ class FilterInputComponent {
|
|
|
3258
3258
|
<button type="button" mat-button matSuffix mat-icon-button aria-label="Clear" *ngIf="value" (click)="clearSearch()">
|
|
3259
3259
|
<mat-icon>close</mat-icon>
|
|
3260
3260
|
</button>
|
|
3261
|
-
</mat-form-field>`, isInline: true, components: [{ type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type:
|
|
3261
|
+
</mat-form-field>`, isInline: true, components: [{ type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ 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"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.MatSuffix, selector: "[matSuffix]" }] });
|
|
3262
3262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: FilterInputComponent, decorators: [{
|
|
3263
3263
|
type: Component,
|
|
3264
3264
|
args: [{
|
|
@@ -3529,7 +3529,7 @@ class FilterSelectComponent {
|
|
|
3529
3529
|
</mat-option>
|
|
3530
3530
|
</ng-template>
|
|
3531
3531
|
</mat-select>
|
|
3532
|
-
</mat-form-field>`, isInline: true, styles: [".vd-select-filter{position:sticky;top:0;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:11px 16px;box-sizing:border-box;border:none;border-bottom:1px solid #dcdcdc;width:100%;background-color:#f5f5f5;outline:none}\n"], components: [{ type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4$
|
|
3532
|
+
</mat-form-field>`, isInline: true, styles: [".vd-select-filter{position:sticky;top:0;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:11px 16px;box-sizing:border-box;border:none;border-bottom:1px solid #dcdcdc;width:100%;background-color:#f5f5f5;outline:none}\n"], components: [{ type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i2$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
3533
3533
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: FilterSelectComponent, decorators: [{
|
|
3534
3534
|
type: Component,
|
|
3535
3535
|
args: [{
|
|
@@ -3719,7 +3719,7 @@ class FilterDateComponent {
|
|
|
3719
3719
|
<mat-icon>close</mat-icon>
|
|
3720
3720
|
</button>
|
|
3721
3721
|
<mat-datepicker #picker></mat-datepicker>
|
|
3722
|
-
</mat-form-field>`, isInline: true, components: [{ type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type:
|
|
3722
|
+
</mat-form-field>`, isInline: true, components: [{ type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }], directives: [{ 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"] }, { type: i7$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.MatSuffix, selector: "[matSuffix]" }] });
|
|
3723
3723
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: FilterDateComponent, decorators: [{
|
|
3724
3724
|
type: Component,
|
|
3725
3725
|
args: [{
|
|
@@ -3984,7 +3984,7 @@ class FilterClearComponent {
|
|
|
3984
3984
|
/** @nocollapse */ /** @nocollapse */ FilterClearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: FilterClearComponent, selector: "mat-header-cell[filter-clear],[mat-header-cell][filter-clear]", ngImport: i0, template: `
|
|
3985
3985
|
<button type="button" mat-icon-button (click)="clear()">
|
|
3986
3986
|
<mat-icon>backspace</mat-icon>
|
|
3987
|
-
</button>`, isInline: true, components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type:
|
|
3987
|
+
</button>`, isInline: true, components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
3988
3988
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: FilterClearComponent, decorators: [{
|
|
3989
3989
|
type: Component,
|
|
3990
3990
|
args: [{
|
|
@@ -4082,7 +4082,7 @@ class VdDynamicTableComponent {
|
|
|
4082
4082
|
/**
|
|
4083
4083
|
* Table row menu items
|
|
4084
4084
|
*/
|
|
4085
|
-
this.
|
|
4085
|
+
this.rowMenuItems = [];
|
|
4086
4086
|
/**
|
|
4087
4087
|
* Columns to exclude
|
|
4088
4088
|
*/
|
|
@@ -4152,13 +4152,13 @@ class VdDynamicTableComponent {
|
|
|
4152
4152
|
var tableDefinition = getTableDefinition(new this.classType);
|
|
4153
4153
|
if (tableDefinition) {
|
|
4154
4154
|
this.columns = [...tableDefinition.columns];
|
|
4155
|
-
if (((_a = this.
|
|
4155
|
+
if (((_a = this.rowMenuItems) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
4156
4156
|
/* Check if the action column already exists */
|
|
4157
4157
|
var actionColmun = (_b = this._columns) === null || _b === void 0 ? void 0 : _b.find(x => x.name == 'action');
|
|
4158
4158
|
/* If so, just add the menu items to it */
|
|
4159
4159
|
if (actionColmun != null) {
|
|
4160
|
-
actionColmun.
|
|
4161
|
-
this.
|
|
4160
|
+
actionColmun.rowMenuItems = [];
|
|
4161
|
+
this.rowMenuItems.forEach(y => actionColmun.rowMenuItems.unshift(y));
|
|
4162
4162
|
}
|
|
4163
4163
|
/* Otherwise add a new one */
|
|
4164
4164
|
else {
|
|
@@ -4167,7 +4167,7 @@ class VdDynamicTableComponent {
|
|
|
4167
4167
|
name: 'action',
|
|
4168
4168
|
type: TableColumnType.Action,
|
|
4169
4169
|
disabled: true,
|
|
4170
|
-
|
|
4170
|
+
rowMenuItems: this.rowMenuItems
|
|
4171
4171
|
}));
|
|
4172
4172
|
}
|
|
4173
4173
|
}
|
|
@@ -4187,9 +4187,9 @@ class VdDynamicTableComponent {
|
|
|
4187
4187
|
* @param column
|
|
4188
4188
|
* @returns
|
|
4189
4189
|
*/
|
|
4190
|
-
|
|
4190
|
+
hasVisibleRowMenuItems(row, column) {
|
|
4191
4191
|
var _a, _b;
|
|
4192
|
-
return ((_b = (_a = column === null || column === void 0 ? void 0 : column.
|
|
4192
|
+
return ((_b = (_a = column === null || column === void 0 ? void 0 : column.rowMenuItems) === null || _a === void 0 ? void 0 : _a.filter(x => !x.hide || !x.hide(row))) === null || _b === void 0 ? void 0 : _b.length) > 0;
|
|
4193
4193
|
}
|
|
4194
4194
|
/**
|
|
4195
4195
|
* A function to to compute the identity of items in an iterable.
|
|
@@ -4280,7 +4280,7 @@ class VdDynamicTableComponent {
|
|
|
4280
4280
|
}
|
|
4281
4281
|
}
|
|
4282
4282
|
/** @nocollapse */ /** @nocollapse */ VdDynamicTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdDynamicTableComponent, deps: [{ token: DynamicBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
4283
|
-
/** @nocollapse */ /** @nocollapse */ VdDynamicTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdDynamicTableComponent, selector: "vd-dynamic-table", inputs: { dataSource: "dataSource", data: "data", classType: "classType", dataSourceFilter: "dataSourceFilter", filterable: "filterable", paginable: "paginable", selectable: "selectable", sortActive: "sortActive", sortDirection: "sortDirection", stickyHeader: "stickyHeader", stickyFilter: "stickyFilter", rowNgClass: "rowNgClass", detailsTemplate: "detailsTemplate", readonly: "readonly", selectAllFilter: "selectAllFilter", columns: "columns", actionMenus: "actionMenus", excludedColumns: "excludedColumns" }, outputs: { rowClick: "rowClick" }, host: { listeners: { "document:contextmenu": "handleContextMenuEvent($event)" } }, viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "detailsTemplateRef", predicate: ["detailsTemplate"], descendants: true, read: ViewContainerRef }, { propertyName: "rowContextMenuTriggers", predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div class=\"loading-progress\">\r\n\t<mat-progress-bar mode=\"indeterminate\" *ngIf=\"dataSource?.isLoading\"></mat-progress-bar>\r\n</div>\r\n\r\n<!-- #region Data table -->\r\n<table mat-table #table [dataSource]=\"dataSource\" [dataSourceFilter]=\"dataSourceFilter\" [ngClass]=\"{'table-fixed': !detailsTemplate}\" [trackBy]=\"trackBy\" matSort matSortDisableClear [matSortActive]=\"sortActive||'id'\" [matSortDirection]=\"sortDirection\" multiTemplateDataRows>\r\n\t<ng-container [ngSwitch]=\"column.type\" *ngFor=\"let column of columns\">\r\n\t\t<!-- #region Checkbox for selection -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Checkbox\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef>\r\n\t\t\t\t<mat-checkbox (change)=\"$event ? dataSource.toggleSelect($event, selectAllFilter) : null\" [disabled]=\"!dataSource.paginator?.length\" [checked]=\"dataSource.selectionModel.hasValue() && dataSource.isAllSelected()\" [indeterminate]=\"dataSource.selectionModel.hasValue() && !dataSource.isAllSelected()\"></mat-checkbox>\r\n\t\t\t</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\">\r\n\t\t\t\t<mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? dataSource.selectionModel.toggle(row) : null\" [disabled]=\"readonly || (column.disabled || (column.disable && column.disable(row)))\" [checked]=\"dataSource.selectionModel.isSelected(row)\"></mat-checkbox>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Enum column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Enum\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span i18n=\"@@selection\">{column.content(row) | enum:column.enumType:column.enumPrefix, select, type {type} other {{{column.content(row) | enum:column.enumType:column.enumPrefix}}}}</span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Toggle column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Toggle\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" (click)=\"$event.stopPropagation()\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<mat-slide-toggle [(ngModel)]=\"row[column.name]\" (ngModelChange)=\"column.event?(column.eventArgs?column.event(row,column.eventArgs):column.event(row)):null\" [disabled]=\"readonly || (column.disable && column.disable(row))\" color=\"primary\"></mat-slide-toggle>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Date column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Date\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span *ngIf=\"!column.shortDate\">{{column.content(row) | date:'dd.MM.yyyy HH:mm:ss'}}</span>\r\n\t\t\t\t<span *ngIf=\"column.shortDate\">{{column.content(row) | date:'dd.MM.yyyy'}}</span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Action -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Action\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" (click)=\"$event.stopPropagation()\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<ng-container *ngIf=\"column.actionMenus?.length > 0\">\r\n\t\t\t\t\t<div id=\"menu-{{row.id}}\" style=\"visibility: hidden; position: fixed;\" #contextMenuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" *ngIf=\"!row.locked && hasVisibleActionMenus(row, column)\"></div>\r\n\t\t\t\t\t<button type=\"button\" mat-icon-button [mat-menu-trigger-for]=\"menu\" [disabled]=\"row.locked || !hasVisibleActionMenus(row, column)\">\r\n\t\t\t\t\t\t<mat-icon>more_vert</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<mat-menu x-position=\"before\" #menu=\"matMenu\">\r\n\t\t\t\t\t\t<ng-container *ngFor=\"let menuItem of column.actionMenus\">\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item (click)=\"menuItem.event?menuItem.event(row):null\" *ngIf=\"!menuItem.hide || !menuItem.hide(row)\" [disabled]=\"menuItem.disable && menuItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t<span>{{menuItem.title}}</span>\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t<mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n\t\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let menuSubItem of menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item (click)=\"menuSubItem.event?menuSubItem.event(row):null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide(row)\" [disabled]=\"menuSubItem.disable && menuSubItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuSubItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t\t\t<span>{{menuSubItem.title}}</span>\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t</mat-menu>\r\n\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide(row)\" [disabled]=\"menuItem.disable && menuItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t<span>{{menuItem.title}}</span>\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t</mat-menu>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Text Input column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.TextInput\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row; let rowIndex = index\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" (click)=\"$event.preventDefault();$event.stopPropagation();\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<mat-form-field appearance=\"outline\" layout=\"column\" layout-align=\"center start\">\r\n\t\t\t\t\t<input type=\"{{column.inputType}}\" matInput name=\"{{column.name}}{{rowIndex}}\" [(ngModel)]=\"row[column.name]\" [disabled]=\"readonly || (column.disabled || (column.disable && column.disable(row)))\" (ngModelChange)=\"patch(row, [column.name], row[column.name], column.patchIncludes)\" [ngModelOptions]=\"{updateOn: 'blur'}\" (keydown.enter)=\"$event.target.blur();false\">\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Other column types -->\r\n\t\t<ng-container *ngSwitchDefault [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span *ngIf=\"column.content\" [innerHtml]=\"column.content(row)\"></span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\t</ng-container>\r\n\r\n\t<!-- #region Filter row -->\r\n\t<ng-container *ngIf=\"dataSource && filterable\">\r\n\t\t<ng-container [ngSwitch]=\"column.type\" *ngFor=\"let column of columns\">\r\n\t\t\t<!-- #region No filter for checkbox -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.None || ColumnType.Checkbox\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Text filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Text\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region TextInput filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.TextInput\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Number filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Number\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Select filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Select\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [endpoint]=\"column.endpoint\" [options]=\"column.options\" [text]=\"column.filterOptionText || 'name'\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Enum filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Enum\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [enum]=\"column.enumType\" [prefix]=\"column.enumPrefix\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Toggle filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Toggle\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [options]=\"column.options\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Date filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Date\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-date [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Action filter (clear) -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Action\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-clear [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Details column -->\r\n\t<ng-container cdkColumnDef=\"expandedDetail\">\r\n\t\t<td mat-cell *matCellDef=\"let row\" [attr.colspan]=\"displayedColumns.length\">\r\n\t\t\t<div class=\"row-detail\" [@detailExpand]=\"row == expandedRow ? 'expanded' : 'collapsed'\" #detailsTemplate></div>\r\n\t\t</td>\r\n\t</ng-container>\r\n\t<!-- #endregion -->\r\n\r\n\t<ng-container *ngIf=\"filterable\">\r\n\t\t<tr mat-header-row *cdkHeaderRowDef=\"displayedFilterColumns\"></tr>\r\n\t</ng-container>\r\n\t<tr mat-header-row *cdkHeaderRowDef=\"displayedColumns; sticky: stickyFilter\"></tr>\r\n\t<tr mat-row *cdkRowDef=\"let row; columns: displayedColumns; let index = dataIndex\" [ngClass]=\"rowNgClass?rowNgClass(row):null\" [class.expanded-row]=\"expandedRow === row\" (click)=\"handleRowClick(index, row)\" (contextmenu)=\"handleRowRightClick($event, row)\"></tr>\r\n\t<ng-container *ngIf=\"detailsTemplate\">\r\n\t\t<tr mat-row *cdkRowDef=\"let row; columns: ['expandedDetail']\" class=\"detail-row\" [ngClass]=\"rowNgClass?rowNgClass(row):null\"></tr>\r\n\t</ng-container>\r\n</table>\r\n<!-- #endregion -->\r\n\r\n<!-- #region Row shown when there is no matching data.-->\r\n<div class=\"mat-cell pad tc-grey-700 bgc-grey-200 txt-italic\" *ngIf=\"!dataSource.filteredData?.length && !dataSource.total\" i18n=\"@@noResultsFound\">No results were found.</div>\r\n<!-- #endregion -->\r\n\r\n<mat-paginator *ngIf=\"paginable\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons=\"true\"></mat-paginator>", styles: ["::ng-deep .mat-table .mat-row .mat-cell .mat-form-field .mat-form-field-wrapper{width:100%}@media (max-width: 389px){::ng-deep .mat-table [gt-xs]{display:none}::ng-deep .mat-table [gt-sm]{display:none}::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 599px){::ng-deep .mat-table [gt-sm]{display:none}::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 959px){::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1279px){::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1919px){::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1979px){::ng-deep .mat-table [gt-xxl]{display:none}}\n"], components: [{ type: i2$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i1$5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i4$3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: i6.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: FilterInputComponent, selector: "mat-header-cell[filter-input],[mat-header-cell][filter-input]", inputs: ["field", "operator", "onlyNumber", "debounce", "placeholder"] }, { type: FilterSelectComponent, selector: "mat-header-cell[filter-select],[mat-header-cell][filter-select]", inputs: ["endpoint", "params", "projection", "sortBy", "sorted", "enum", "key", "text", "prefix", "multiple", "options", "filteredOptions", "filterable", "field", "placeholder", "cache"] }, { type: FilterDateComponent, selector: "mat-header-cell[filter-date],[mat-header-cell][filter-date]", inputs: ["field", "debounce", "placeholder"] }, { type: FilterClearComponent, selector: "mat-header-cell[filter-clear],[mat-header-cell][filter-clear]" }, { type: i1$5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1$5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i15.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: DataSourceFilterDirective, selector: "[dataSourceFilter]", inputs: ["dataSource", "dataSourceFilter"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["sticky", "cdkColumnDef", "stickyEnd"] }, { type: i2.CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { type: i1$5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2.CdkCellDef, selector: "[cdkCellDef]" }, { type: i1$5.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i19.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { 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"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: OnlyNumberDirective, selector: "[onlyNumber]", inputs: ["onlyNumber"] }, { type: i1$5.MatCellDef, selector: "[matCellDef]" }, { type: i2.CdkHeaderRowDef, selector: "[cdkHeaderRowDef]", inputs: ["cdkHeaderRowDef", "cdkHeaderRowDefSticky"] }, { type: i2.CdkRowDef, selector: "[cdkRowDef]", inputs: ["cdkRowDefColumns", "cdkRowDefWhen"] }], pipes: { "enum": EnumPipe, "date": i4.DatePipe }, animations: [
|
|
4283
|
+
/** @nocollapse */ /** @nocollapse */ VdDynamicTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdDynamicTableComponent, selector: "vd-dynamic-table", inputs: { dataSource: "dataSource", data: "data", classType: "classType", dataSourceFilter: "dataSourceFilter", filterable: "filterable", paginable: "paginable", selectable: "selectable", sortActive: "sortActive", sortDirection: "sortDirection", stickyHeader: "stickyHeader", stickyFilter: "stickyFilter", rowNgClass: "rowNgClass", detailsTemplate: "detailsTemplate", readonly: "readonly", selectAllFilter: "selectAllFilter", columns: "columns", rowMenuItems: "rowMenuItems", excludedColumns: "excludedColumns" }, outputs: { rowClick: "rowClick" }, host: { listeners: { "document:contextmenu": "handleContextMenuEvent($event)" } }, viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "detailsTemplateRef", predicate: ["detailsTemplate"], descendants: true, read: ViewContainerRef }, { propertyName: "rowContextMenuTriggers", predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div class=\"loading-progress\">\r\n\t<mat-progress-bar mode=\"indeterminate\" *ngIf=\"dataSource?.isLoading\"></mat-progress-bar>\r\n</div>\r\n\r\n<!-- #region Data table -->\r\n<table mat-table #table [dataSource]=\"dataSource\" [dataSourceFilter]=\"dataSourceFilter\" [ngClass]=\"{'table-fixed': !detailsTemplate}\" [trackBy]=\"trackBy\" matSort matSortDisableClear [matSortActive]=\"sortActive||'id'\" [matSortDirection]=\"sortDirection\" multiTemplateDataRows>\r\n\t<ng-container [ngSwitch]=\"column.type\" *ngFor=\"let column of columns\">\r\n\t\t<!-- #region Checkbox for selection -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Checkbox\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef>\r\n\t\t\t\t<mat-checkbox (change)=\"$event ? dataSource.toggleSelect($event, selectAllFilter) : null\" [disabled]=\"!dataSource.paginator?.length\" [checked]=\"dataSource.selectionModel.hasValue() && dataSource.isAllSelected()\" [indeterminate]=\"dataSource.selectionModel.hasValue() && !dataSource.isAllSelected()\"></mat-checkbox>\r\n\t\t\t</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\">\r\n\t\t\t\t<mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? dataSource.selectionModel.toggle(row) : null\" [disabled]=\"readonly || (column.disabled || (column.disable && column.disable(row)))\" [checked]=\"dataSource.selectionModel.isSelected(row)\"></mat-checkbox>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Enum column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Enum\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span i18n=\"@@selection\">{column.content(row) | enum:column.enumType:column.enumPrefix, select, type {type} other {{{column.content(row) | enum:column.enumType:column.enumPrefix}}}}</span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Toggle column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Toggle\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" (click)=\"$event.stopPropagation()\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<mat-slide-toggle [(ngModel)]=\"row[column.name]\" (ngModelChange)=\"column.event?(column.eventArgs?column.event(row,column.eventArgs):column.event(row)):null\" [disabled]=\"readonly || (column.disable && column.disable(row))\" color=\"primary\"></mat-slide-toggle>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Date column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Date\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span *ngIf=\"!column.shortDate\">{{column.content(row) | date:'dd.MM.yyyy HH:mm:ss'}}</span>\r\n\t\t\t\t<span *ngIf=\"column.shortDate\">{{column.content(row) | date:'dd.MM.yyyy'}}</span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Action -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Action\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" (click)=\"$event.stopPropagation()\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<ng-container *ngIf=\"column.rowMenuItems?.length > 0\">\r\n\t\t\t\t\t<div id=\"menu-{{row.id}}\" style=\"visibility: hidden; position: fixed;\" #contextMenuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" *ngIf=\"!row.locked && hasVisibleRowMenuItems(row, column)\"></div>\r\n\t\t\t\t\t<button type=\"button\" mat-icon-button [mat-menu-trigger-for]=\"menu\" [disabled]=\"row.locked || !hasVisibleRowMenuItems(row, column)\">\r\n\t\t\t\t\t\t<mat-icon>more_vert</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<mat-menu x-position=\"before\" #menu=\"matMenu\">\r\n\t\t\t\t\t\t<ng-container *ngFor=\"let menuItem of column.rowMenuItems\">\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item (click)=\"menuItem.event?menuItem.event(row):null\" *ngIf=\"!menuItem.hide || !menuItem.hide(row)\" [disabled]=\"menuItem.disable && menuItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t<span>{{menuItem.title}}</span>\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t<mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n\t\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let menuSubItem of menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item (click)=\"menuSubItem.event?menuSubItem.event(row):null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide(row)\" [disabled]=\"menuSubItem.disable && menuSubItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuSubItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t\t\t<span>{{menuSubItem.title}}</span>\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t</mat-menu>\r\n\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide(row)\" [disabled]=\"menuItem.disable && menuItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t<span>{{menuItem.title}}</span>\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t</mat-menu>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Text Input column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.TextInput\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row; let rowIndex = index\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" (click)=\"$event.preventDefault();$event.stopPropagation();\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<mat-form-field appearance=\"outline\" layout=\"column\" layout-align=\"center start\">\r\n\t\t\t\t\t<input type=\"{{column.inputType}}\" matInput name=\"{{column.name}}{{rowIndex}}\" [(ngModel)]=\"row[column.name]\" [disabled]=\"readonly || (column.disabled || (column.disable && column.disable(row)))\" (ngModelChange)=\"patch(row, [column.name], row[column.name], column.patchIncludes)\" [ngModelOptions]=\"{updateOn: 'blur'}\" (keydown.enter)=\"$event.target.blur();false\">\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Other column types -->\r\n\t\t<ng-container *ngSwitchDefault [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span *ngIf=\"column.content\" [innerHtml]=\"column.content(row)\"></span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\t</ng-container>\r\n\r\n\t<!-- #region Filter row -->\r\n\t<ng-container *ngIf=\"dataSource && filterable\">\r\n\t\t<ng-container [ngSwitch]=\"column.type\" *ngFor=\"let column of columns\">\r\n\t\t\t<!-- #region No filter for checkbox -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.None || ColumnType.Checkbox\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Text filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Text\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region TextInput filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.TextInput\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Number filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Number\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Select filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Select\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [endpoint]=\"column.endpoint\" [options]=\"column.options\" [text]=\"column.filterOptionText || 'name'\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Enum filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Enum\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [enum]=\"column.enumType\" [prefix]=\"column.enumPrefix\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Toggle filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Toggle\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [options]=\"column.options\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Date filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Date\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-date [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Action filter (clear) -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Action\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-clear [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Details column -->\r\n\t<ng-container cdkColumnDef=\"expandedDetail\">\r\n\t\t<td mat-cell *matCellDef=\"let row\" [attr.colspan]=\"displayedColumns.length\">\r\n\t\t\t<div class=\"row-detail\" [@detailExpand]=\"row == expandedRow ? 'expanded' : 'collapsed'\" #detailsTemplate></div>\r\n\t\t</td>\r\n\t</ng-container>\r\n\t<!-- #endregion -->\r\n\r\n\t<ng-container *ngIf=\"filterable\">\r\n\t\t<tr mat-header-row *cdkHeaderRowDef=\"displayedFilterColumns\"></tr>\r\n\t</ng-container>\r\n\t<tr mat-header-row *cdkHeaderRowDef=\"displayedColumns; sticky: stickyFilter\"></tr>\r\n\t<tr mat-row *cdkRowDef=\"let row; columns: displayedColumns; let index = dataIndex\" [ngClass]=\"rowNgClass?rowNgClass(row):null\" [class.expanded-row]=\"expandedRow === row\" (click)=\"handleRowClick(index, row)\" (contextmenu)=\"handleRowRightClick($event, row)\"></tr>\r\n\t<ng-container *ngIf=\"detailsTemplate\">\r\n\t\t<tr mat-row *cdkRowDef=\"let row; columns: ['expandedDetail']\" class=\"detail-row\" [ngClass]=\"rowNgClass?rowNgClass(row):null\"></tr>\r\n\t</ng-container>\r\n</table>\r\n<!-- #endregion -->\r\n\r\n<!-- #region Row shown when there is no matching data.-->\r\n<div class=\"mat-cell pad tc-grey-700 bgc-grey-200 txt-italic\" *ngIf=\"!dataSource.filteredData?.length && !dataSource.total\" i18n=\"@@noResultsFound\">No results were found.</div>\r\n<!-- #endregion -->\r\n\r\n<mat-paginator *ngIf=\"paginable\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons=\"true\"></mat-paginator>", styles: ["::ng-deep .mat-table .mat-row .mat-cell .mat-form-field .mat-form-field-wrapper{width:100%}@media (max-width: 389px){::ng-deep .mat-table [gt-xs]{display:none}::ng-deep .mat-table [gt-sm]{display:none}::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 599px){::ng-deep .mat-table [gt-sm]{display:none}::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 959px){::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1279px){::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1919px){::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1979px){::ng-deep .mat-table [gt-xxl]{display:none}}\n"], components: [{ type: i2$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i1$5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i4$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i5$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: i6.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: FilterInputComponent, selector: "mat-header-cell[filter-input],[mat-header-cell][filter-input]", inputs: ["field", "operator", "onlyNumber", "debounce", "placeholder"] }, { type: FilterSelectComponent, selector: "mat-header-cell[filter-select],[mat-header-cell][filter-select]", inputs: ["endpoint", "params", "projection", "sortBy", "sorted", "enum", "key", "text", "prefix", "multiple", "options", "filteredOptions", "filterable", "field", "placeholder", "cache"] }, { type: FilterDateComponent, selector: "mat-header-cell[filter-date],[mat-header-cell][filter-date]", inputs: ["field", "debounce", "placeholder"] }, { type: FilterClearComponent, selector: "mat-header-cell[filter-clear],[mat-header-cell][filter-clear]" }, { type: i1$5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1$5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i15.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$1.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: DataSourceFilterDirective, selector: "[dataSourceFilter]", inputs: ["dataSource", "dataSourceFilter"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["sticky", "cdkColumnDef", "stickyEnd"] }, { type: i2.CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { type: i1$5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2.CdkCellDef, selector: "[cdkCellDef]" }, { type: i1$5.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i19.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { 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"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: OnlyNumberDirective, selector: "[onlyNumber]", inputs: ["onlyNumber"] }, { type: i1$5.MatCellDef, selector: "[matCellDef]" }, { type: i2.CdkHeaderRowDef, selector: "[cdkHeaderRowDef]", inputs: ["cdkHeaderRowDef", "cdkHeaderRowDefSticky"] }, { type: i2.CdkRowDef, selector: "[cdkRowDef]", inputs: ["cdkRowDefColumns", "cdkRowDefWhen"] }], pipes: { "enum": EnumPipe, "date": i4.DatePipe }, animations: [
|
|
4284
4284
|
trigger('detailExpand', [
|
|
4285
4285
|
state('collapsed', style({ display: 'none' })),
|
|
4286
4286
|
state('expanded', style({ display: 'initial' })),
|
|
@@ -4295,7 +4295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
4295
4295
|
state('expanded', style({ display: 'initial' })),
|
|
4296
4296
|
transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
|
|
4297
4297
|
]),
|
|
4298
|
-
], template: "<div class=\"loading-progress\">\r\n\t<mat-progress-bar mode=\"indeterminate\" *ngIf=\"dataSource?.isLoading\"></mat-progress-bar>\r\n</div>\r\n\r\n<!-- #region Data table -->\r\n<table mat-table #table [dataSource]=\"dataSource\" [dataSourceFilter]=\"dataSourceFilter\" [ngClass]=\"{'table-fixed': !detailsTemplate}\" [trackBy]=\"trackBy\" matSort matSortDisableClear [matSortActive]=\"sortActive||'id'\" [matSortDirection]=\"sortDirection\" multiTemplateDataRows>\r\n\t<ng-container [ngSwitch]=\"column.type\" *ngFor=\"let column of columns\">\r\n\t\t<!-- #region Checkbox for selection -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Checkbox\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef>\r\n\t\t\t\t<mat-checkbox (change)=\"$event ? dataSource.toggleSelect($event, selectAllFilter) : null\" [disabled]=\"!dataSource.paginator?.length\" [checked]=\"dataSource.selectionModel.hasValue() && dataSource.isAllSelected()\" [indeterminate]=\"dataSource.selectionModel.hasValue() && !dataSource.isAllSelected()\"></mat-checkbox>\r\n\t\t\t</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\">\r\n\t\t\t\t<mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? dataSource.selectionModel.toggle(row) : null\" [disabled]=\"readonly || (column.disabled || (column.disable && column.disable(row)))\" [checked]=\"dataSource.selectionModel.isSelected(row)\"></mat-checkbox>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Enum column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Enum\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span i18n=\"@@selection\">{column.content(row) | enum:column.enumType:column.enumPrefix, select, type {type} other {{{column.content(row) | enum:column.enumType:column.enumPrefix}}}}</span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Toggle column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Toggle\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" (click)=\"$event.stopPropagation()\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<mat-slide-toggle [(ngModel)]=\"row[column.name]\" (ngModelChange)=\"column.event?(column.eventArgs?column.event(row,column.eventArgs):column.event(row)):null\" [disabled]=\"readonly || (column.disable && column.disable(row))\" color=\"primary\"></mat-slide-toggle>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Date column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Date\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span *ngIf=\"!column.shortDate\">{{column.content(row) | date:'dd.MM.yyyy HH:mm:ss'}}</span>\r\n\t\t\t\t<span *ngIf=\"column.shortDate\">{{column.content(row) | date:'dd.MM.yyyy'}}</span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Action -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Action\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" (click)=\"$event.stopPropagation()\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<ng-container *ngIf=\"column.actionMenus?.length > 0\">\r\n\t\t\t\t\t<div id=\"menu-{{row.id}}\" style=\"visibility: hidden; position: fixed;\" #contextMenuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" *ngIf=\"!row.locked && hasVisibleActionMenus(row, column)\"></div>\r\n\t\t\t\t\t<button type=\"button\" mat-icon-button [mat-menu-trigger-for]=\"menu\" [disabled]=\"row.locked || !hasVisibleActionMenus(row, column)\">\r\n\t\t\t\t\t\t<mat-icon>more_vert</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<mat-menu x-position=\"before\" #menu=\"matMenu\">\r\n\t\t\t\t\t\t<ng-container *ngFor=\"let menuItem of column.actionMenus\">\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item (click)=\"menuItem.event?menuItem.event(row):null\" *ngIf=\"!menuItem.hide || !menuItem.hide(row)\" [disabled]=\"menuItem.disable && menuItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t<span>{{menuItem.title}}</span>\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t<mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n\t\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let menuSubItem of menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item (click)=\"menuSubItem.event?menuSubItem.event(row):null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide(row)\" [disabled]=\"menuSubItem.disable && menuSubItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuSubItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t\t\t<span>{{menuSubItem.title}}</span>\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t</mat-menu>\r\n\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide(row)\" [disabled]=\"menuItem.disable && menuItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t<span>{{menuItem.title}}</span>\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t</mat-menu>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Text Input column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.TextInput\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row; let rowIndex = index\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" (click)=\"$event.preventDefault();$event.stopPropagation();\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<mat-form-field appearance=\"outline\" layout=\"column\" layout-align=\"center start\">\r\n\t\t\t\t\t<input type=\"{{column.inputType}}\" matInput name=\"{{column.name}}{{rowIndex}}\" [(ngModel)]=\"row[column.name]\" [disabled]=\"readonly || (column.disabled || (column.disable && column.disable(row)))\" (ngModelChange)=\"patch(row, [column.name], row[column.name], column.patchIncludes)\" [ngModelOptions]=\"{updateOn: 'blur'}\" (keydown.enter)=\"$event.target.blur();false\">\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Other column types -->\r\n\t\t<ng-container *ngSwitchDefault [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span *ngIf=\"column.content\" [innerHtml]=\"column.content(row)\"></span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\t</ng-container>\r\n\r\n\t<!-- #region Filter row -->\r\n\t<ng-container *ngIf=\"dataSource && filterable\">\r\n\t\t<ng-container [ngSwitch]=\"column.type\" *ngFor=\"let column of columns\">\r\n\t\t\t<!-- #region No filter for checkbox -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.None || ColumnType.Checkbox\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Text filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Text\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region TextInput filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.TextInput\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Number filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Number\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Select filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Select\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [endpoint]=\"column.endpoint\" [options]=\"column.options\" [text]=\"column.filterOptionText || 'name'\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Enum filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Enum\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [enum]=\"column.enumType\" [prefix]=\"column.enumPrefix\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Toggle filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Toggle\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [options]=\"column.options\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Date filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Date\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-date [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Action filter (clear) -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Action\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-clear [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Details column -->\r\n\t<ng-container cdkColumnDef=\"expandedDetail\">\r\n\t\t<td mat-cell *matCellDef=\"let row\" [attr.colspan]=\"displayedColumns.length\">\r\n\t\t\t<div class=\"row-detail\" [@detailExpand]=\"row == expandedRow ? 'expanded' : 'collapsed'\" #detailsTemplate></div>\r\n\t\t</td>\r\n\t</ng-container>\r\n\t<!-- #endregion -->\r\n\r\n\t<ng-container *ngIf=\"filterable\">\r\n\t\t<tr mat-header-row *cdkHeaderRowDef=\"displayedFilterColumns\"></tr>\r\n\t</ng-container>\r\n\t<tr mat-header-row *cdkHeaderRowDef=\"displayedColumns; sticky: stickyFilter\"></tr>\r\n\t<tr mat-row *cdkRowDef=\"let row; columns: displayedColumns; let index = dataIndex\" [ngClass]=\"rowNgClass?rowNgClass(row):null\" [class.expanded-row]=\"expandedRow === row\" (click)=\"handleRowClick(index, row)\" (contextmenu)=\"handleRowRightClick($event, row)\"></tr>\r\n\t<ng-container *ngIf=\"detailsTemplate\">\r\n\t\t<tr mat-row *cdkRowDef=\"let row; columns: ['expandedDetail']\" class=\"detail-row\" [ngClass]=\"rowNgClass?rowNgClass(row):null\"></tr>\r\n\t</ng-container>\r\n</table>\r\n<!-- #endregion -->\r\n\r\n<!-- #region Row shown when there is no matching data.-->\r\n<div class=\"mat-cell pad tc-grey-700 bgc-grey-200 txt-italic\" *ngIf=\"!dataSource.filteredData?.length && !dataSource.total\" i18n=\"@@noResultsFound\">No results were found.</div>\r\n<!-- #endregion -->\r\n\r\n<mat-paginator *ngIf=\"paginable\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons=\"true\"></mat-paginator>", styles: ["::ng-deep .mat-table .mat-row .mat-cell .mat-form-field .mat-form-field-wrapper{width:100%}@media (max-width: 389px){::ng-deep .mat-table [gt-xs]{display:none}::ng-deep .mat-table [gt-sm]{display:none}::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 599px){::ng-deep .mat-table [gt-sm]{display:none}::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 959px){::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1279px){::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1919px){::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1979px){::ng-deep .mat-table [gt-xxl]{display:none}}\n"] }]
|
|
4298
|
+
], template: "<div class=\"loading-progress\">\r\n\t<mat-progress-bar mode=\"indeterminate\" *ngIf=\"dataSource?.isLoading\"></mat-progress-bar>\r\n</div>\r\n\r\n<!-- #region Data table -->\r\n<table mat-table #table [dataSource]=\"dataSource\" [dataSourceFilter]=\"dataSourceFilter\" [ngClass]=\"{'table-fixed': !detailsTemplate}\" [trackBy]=\"trackBy\" matSort matSortDisableClear [matSortActive]=\"sortActive||'id'\" [matSortDirection]=\"sortDirection\" multiTemplateDataRows>\r\n\t<ng-container [ngSwitch]=\"column.type\" *ngFor=\"let column of columns\">\r\n\t\t<!-- #region Checkbox for selection -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Checkbox\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef>\r\n\t\t\t\t<mat-checkbox (change)=\"$event ? dataSource.toggleSelect($event, selectAllFilter) : null\" [disabled]=\"!dataSource.paginator?.length\" [checked]=\"dataSource.selectionModel.hasValue() && dataSource.isAllSelected()\" [indeterminate]=\"dataSource.selectionModel.hasValue() && !dataSource.isAllSelected()\"></mat-checkbox>\r\n\t\t\t</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\">\r\n\t\t\t\t<mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? dataSource.selectionModel.toggle(row) : null\" [disabled]=\"readonly || (column.disabled || (column.disable && column.disable(row)))\" [checked]=\"dataSource.selectionModel.isSelected(row)\"></mat-checkbox>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Enum column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Enum\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span i18n=\"@@selection\">{column.content(row) | enum:column.enumType:column.enumPrefix, select, type {type} other {{{column.content(row) | enum:column.enumType:column.enumPrefix}}}}</span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Toggle column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Toggle\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" (click)=\"$event.stopPropagation()\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<mat-slide-toggle [(ngModel)]=\"row[column.name]\" (ngModelChange)=\"column.event?(column.eventArgs?column.event(row,column.eventArgs):column.event(row)):null\" [disabled]=\"readonly || (column.disable && column.disable(row))\" color=\"primary\"></mat-slide-toggle>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Date column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Date\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span *ngIf=\"!column.shortDate\">{{column.content(row) | date:'dd.MM.yyyy HH:mm:ss'}}</span>\r\n\t\t\t\t<span *ngIf=\"column.shortDate\">{{column.content(row) | date:'dd.MM.yyyy'}}</span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Action -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.Action\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" (click)=\"$event.stopPropagation()\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<ng-container *ngIf=\"column.rowMenuItems?.length > 0\">\r\n\t\t\t\t\t<div id=\"menu-{{row.id}}\" style=\"visibility: hidden; position: fixed;\" #contextMenuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" *ngIf=\"!row.locked && hasVisibleRowMenuItems(row, column)\"></div>\r\n\t\t\t\t\t<button type=\"button\" mat-icon-button [mat-menu-trigger-for]=\"menu\" [disabled]=\"row.locked || !hasVisibleRowMenuItems(row, column)\">\r\n\t\t\t\t\t\t<mat-icon>more_vert</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<mat-menu x-position=\"before\" #menu=\"matMenu\">\r\n\t\t\t\t\t\t<ng-container *ngFor=\"let menuItem of column.rowMenuItems\">\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"!menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item (click)=\"menuItem.event?menuItem.event(row):null\" *ngIf=\"!menuItem.hide || !menuItem.hide(row)\" [disabled]=\"menuItem.disable && menuItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t<span>{{menuItem.title}}</span>\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t<mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n\t\t\t\t\t\t\t\t\t<ng-container *ngFor=\"let menuSubItem of menuItem.subItems\">\r\n\t\t\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item (click)=\"menuSubItem.event?menuSubItem.event(row):null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide(row)\" [disabled]=\"menuSubItem.disable && menuSubItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuSubItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t\t\t<span>{{menuSubItem.title}}</span>\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t</mat-menu>\r\n\t\t\t\t\t\t\t\t<button type=\"button\" mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide(row)\" [disabled]=\"menuItem.disable && menuItem.disable(row)\">\r\n\t\t\t\t\t\t\t\t\t<mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n\t\t\t\t\t\t\t\t\t<span>{{menuItem.title}}</span>\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t</mat-menu>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Text Input column -->\r\n\t\t<ng-container *ngSwitchCase=\"ColumnType.TextInput\" [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row; let rowIndex = index\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" (click)=\"$event.preventDefault();$event.stopPropagation();\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<mat-form-field appearance=\"outline\" layout=\"column\" layout-align=\"center start\">\r\n\t\t\t\t\t<input type=\"{{column.inputType}}\" matInput name=\"{{column.name}}{{rowIndex}}\" [(ngModel)]=\"row[column.name]\" [disabled]=\"readonly || (column.disabled || (column.disable && column.disable(row)))\" (ngModelChange)=\"patch(row, [column.name], row[column.name], column.patchIncludes)\" [ngModelOptions]=\"{updateOn: 'blur'}\" (keydown.enter)=\"$event.target.blur();false\">\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Other column types -->\r\n\t\t<ng-container *ngSwitchDefault [cdkColumnDef]=\"column.name\" [sticky]=\"column.sticky\" [stickyEnd]=\"column.stickyEnd\">\r\n\t\t\t<th mat-header-cell *cdkHeaderCellDef [mat-sort-header]=\"column.sortBy || column.name\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [disabled]=\"column.disabled\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\" [arrowPosition]=\"column.arrowBefore?'before':'after'\">{{column.header}}</th>\r\n\t\t\t<td mat-cell *cdkCellDef=\"let row\" [matTooltip]=\"column.tooltip?column.tooltip(row):null\" [matTooltipClass]=\"column.tooltipClass\" [ngClass]=\"column.cellNgClass?column.cellNgClass(row):{'text-right': column.arrowBefore}\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\">\r\n\t\t\t\t<span *ngIf=\"column.content\" [innerHtml]=\"column.content(row)\"></span>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\t\t<!-- #endregion -->\r\n\t</ng-container>\r\n\r\n\t<!-- #region Filter row -->\r\n\t<ng-container *ngIf=\"dataSource && filterable\">\r\n\t\t<ng-container [ngSwitch]=\"column.type\" *ngFor=\"let column of columns\">\r\n\t\t\t<!-- #region No filter for checkbox -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.None || ColumnType.Checkbox\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Text filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Text\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region TextInput filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.TextInput\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Number filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Number\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-input [onlyNumber]=\"column.filterInputNumber\" [operator]=\"column.filterOperator\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Select filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Select\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [endpoint]=\"column.endpoint\" [options]=\"column.options\" [text]=\"column.filterOptionText || 'name'\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Enum filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Enum\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [enum]=\"column.enumType\" [prefix]=\"column.enumPrefix\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Toggle filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Toggle\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-select [options]=\"column.options\" [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Date filter -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Date\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-date [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t<!-- #region Action filter (clear) -->\r\n\t\t\t<ng-container *ngSwitchCase=\"ColumnType.Action\" cdkColumnDef=\"filter.{{column.filter || column.name}}\">\r\n\t\t\t\t<th mat-header-cell *cdkHeaderCellDef filter-clear [ngStyle]=\"{maxWidth:column.maxWidth?(column.maxWidth+(column.maxWidthUnit || 'px')):null,minWidth:column.minWidth?(column.minWidth+(column.minWidthUnit || 'px')):null,width:column.width?(column.width+(column.widthUnit || 'px')):null}\" [attr.gt-xs]=\"column.showGtXs\" [attr.gt-sm]=\"column.showGtSm\" [attr.gt-md]=\"column.showGtMd\" [attr.gt-lg]=\"column.showGtLg\" [attr.gt-xl]=\"column.showGtXl\" [attr.gt-xxl]=\"column.showGtXxl\"></th>\r\n\t\t\t</ng-container>\r\n\t\t\t<!-- #endregion -->\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Details column -->\r\n\t<ng-container cdkColumnDef=\"expandedDetail\">\r\n\t\t<td mat-cell *matCellDef=\"let row\" [attr.colspan]=\"displayedColumns.length\">\r\n\t\t\t<div class=\"row-detail\" [@detailExpand]=\"row == expandedRow ? 'expanded' : 'collapsed'\" #detailsTemplate></div>\r\n\t\t</td>\r\n\t</ng-container>\r\n\t<!-- #endregion -->\r\n\r\n\t<ng-container *ngIf=\"filterable\">\r\n\t\t<tr mat-header-row *cdkHeaderRowDef=\"displayedFilterColumns\"></tr>\r\n\t</ng-container>\r\n\t<tr mat-header-row *cdkHeaderRowDef=\"displayedColumns; sticky: stickyFilter\"></tr>\r\n\t<tr mat-row *cdkRowDef=\"let row; columns: displayedColumns; let index = dataIndex\" [ngClass]=\"rowNgClass?rowNgClass(row):null\" [class.expanded-row]=\"expandedRow === row\" (click)=\"handleRowClick(index, row)\" (contextmenu)=\"handleRowRightClick($event, row)\"></tr>\r\n\t<ng-container *ngIf=\"detailsTemplate\">\r\n\t\t<tr mat-row *cdkRowDef=\"let row; columns: ['expandedDetail']\" class=\"detail-row\" [ngClass]=\"rowNgClass?rowNgClass(row):null\"></tr>\r\n\t</ng-container>\r\n</table>\r\n<!-- #endregion -->\r\n\r\n<!-- #region Row shown when there is no matching data.-->\r\n<div class=\"mat-cell pad tc-grey-700 bgc-grey-200 txt-italic\" *ngIf=\"!dataSource.filteredData?.length && !dataSource.total\" i18n=\"@@noResultsFound\">No results were found.</div>\r\n<!-- #endregion -->\r\n\r\n<mat-paginator *ngIf=\"paginable\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons=\"true\"></mat-paginator>", styles: ["::ng-deep .mat-table .mat-row .mat-cell .mat-form-field .mat-form-field-wrapper{width:100%}@media (max-width: 389px){::ng-deep .mat-table [gt-xs]{display:none}::ng-deep .mat-table [gt-sm]{display:none}::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 599px){::ng-deep .mat-table [gt-sm]{display:none}::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 959px){::ng-deep .mat-table [gt-md]{display:none}::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1279px){::ng-deep .mat-table [gt-lg]{display:none}::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1919px){::ng-deep .mat-table [gt-xl]{display:none}::ng-deep .mat-table [gt-xxl]{display:none}}@media (max-width: 1979px){::ng-deep .mat-table [gt-xxl]{display:none}}\n"] }]
|
|
4299
4299
|
}], ctorParameters: function () { return [{ type: DynamicBuilder }]; }, propDecorators: { table: [{
|
|
4300
4300
|
type: ViewChild,
|
|
4301
4301
|
args: ['table']
|
|
@@ -4342,7 +4342,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
4342
4342
|
args: [MatPaginator]
|
|
4343
4343
|
}], columns: [{
|
|
4344
4344
|
type: Input
|
|
4345
|
-
}],
|
|
4345
|
+
}], rowMenuItems: [{
|
|
4346
4346
|
type: Input
|
|
4347
4347
|
}], excludedColumns: [{
|
|
4348
4348
|
type: Input
|
|
@@ -4432,11 +4432,11 @@ class GenericListComponent extends BaseComponent {
|
|
|
4432
4432
|
/**
|
|
4433
4433
|
* Toolbar menu items
|
|
4434
4434
|
*/
|
|
4435
|
-
this.
|
|
4435
|
+
this.toolbarMenuItems = [];
|
|
4436
4436
|
/**
|
|
4437
4437
|
* Table row menu items
|
|
4438
4438
|
*/
|
|
4439
|
-
this.
|
|
4439
|
+
this.rowMenuItems = [];
|
|
4440
4440
|
}
|
|
4441
4441
|
/**
|
|
4442
4442
|
* Lifecycle hook that is called after data-bound properties
|
|
@@ -4505,8 +4505,8 @@ class GenericListComponent extends BaseComponent {
|
|
|
4505
4505
|
var actionColmun = (_b = this.columns) === null || _b === void 0 ? void 0 : _b.find(x => x.name == 'action');
|
|
4506
4506
|
/* If so, just add the menu items to it */
|
|
4507
4507
|
if (actionColmun != null) {
|
|
4508
|
-
actionColmun.
|
|
4509
|
-
this.
|
|
4508
|
+
actionColmun.rowMenuItems = actionColmun.rowMenuItems || [];
|
|
4509
|
+
this.rowMenuItems.forEach(y => actionColmun.rowMenuItems.unshift(y));
|
|
4510
4510
|
}
|
|
4511
4511
|
/* Otherwise add a new one */
|
|
4512
4512
|
else {
|
|
@@ -4515,7 +4515,7 @@ class GenericListComponent extends BaseComponent {
|
|
|
4515
4515
|
name: 'action',
|
|
4516
4516
|
type: TableColumnType.Action,
|
|
4517
4517
|
disabled: true,
|
|
4518
|
-
|
|
4518
|
+
rowMenuItems: this.rowMenuItems
|
|
4519
4519
|
}));
|
|
4520
4520
|
}
|
|
4521
4521
|
}
|
|
@@ -4720,7 +4720,7 @@ class GenericListComponent extends BaseComponent {
|
|
|
4720
4720
|
addToolbarMenuItems() {
|
|
4721
4721
|
/* Add 'Delete selected' menu item */
|
|
4722
4722
|
if (this.deletable) {
|
|
4723
|
-
this.
|
|
4723
|
+
this.toolbarMenuItems.push({
|
|
4724
4724
|
title: $localize `:@@deleteSelected:Delete selected`,
|
|
4725
4725
|
icon: 'delete_forever',
|
|
4726
4726
|
iconClass: 'tc-orange-800',
|
|
@@ -4744,7 +4744,7 @@ class GenericListComponent extends BaseComponent {
|
|
|
4744
4744
|
}
|
|
4745
4745
|
/* Add duplicate menu */
|
|
4746
4746
|
if (this.duplicable) {
|
|
4747
|
-
this.
|
|
4747
|
+
this.rowMenuItems.unshift({
|
|
4748
4748
|
title: $localize `:@@duplicate:Duplicate`,
|
|
4749
4749
|
icon: 'file_copy',
|
|
4750
4750
|
event: (row) => this.duplicate(row),
|
|
@@ -4753,7 +4753,7 @@ class GenericListComponent extends BaseComponent {
|
|
|
4753
4753
|
}
|
|
4754
4754
|
/* Add download menu */
|
|
4755
4755
|
if (this.downloadable) {
|
|
4756
|
-
this.
|
|
4756
|
+
this.rowMenuItems.unshift({
|
|
4757
4757
|
title: $localize `:@@download:Download`,
|
|
4758
4758
|
icon: 'file_download',
|
|
4759
4759
|
event: (row) => this.download(row),
|
|
@@ -4762,7 +4762,7 @@ class GenericListComponent extends BaseComponent {
|
|
|
4762
4762
|
}
|
|
4763
4763
|
/* Add delete menu */
|
|
4764
4764
|
if (this.deletable) {
|
|
4765
|
-
this.
|
|
4765
|
+
this.rowMenuItems.unshift({
|
|
4766
4766
|
title: $localize `:@@delete:Delete`,
|
|
4767
4767
|
icon: 'delete_forever',
|
|
4768
4768
|
iconClass: 'tc-orange-800',
|
|
@@ -4772,7 +4772,7 @@ class GenericListComponent extends BaseComponent {
|
|
|
4772
4772
|
}
|
|
4773
4773
|
/* Add edit menu */
|
|
4774
4774
|
if (this.editable) {
|
|
4775
|
-
this.
|
|
4775
|
+
this.rowMenuItems.unshift({
|
|
4776
4776
|
title: $localize `:@@edit:Edit`,
|
|
4777
4777
|
icon: 'edit_note',
|
|
4778
4778
|
iconClass: 'tc-blue-400',
|
|
@@ -12583,7 +12583,7 @@ class VdChipsComponent extends AbstractMatFormField {
|
|
|
12583
12583
|
/** @nocollapse */ /** @nocollapse */ VdChipsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdChipsComponent, deps: [{ token: i0.Injector }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i2$1.ErrorStateMatcher }, { token: i3$2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
12584
12584
|
/** @nocollapse */ /** @nocollapse */ VdChipsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdChipsComponent, selector: "vd-chips", inputs: { chips: "chips", endpoint: "endpoint", params: "params", projection: "projection", path: "path", key: "key", searchField: "searchField", searchFields: "searchFields", termMinlength: "termMinlength", limit: "limit", debounce: "debounce", default: "default" }, outputs: { initSelect: "initSelect", selected: "selected", cleared: "cleared", onLaunch: "launch", chipFocus: "chipFocus" }, providers: [
|
|
12585
12585
|
{ provide: MatFormFieldControl, useExisting: VdChipsComponent }
|
|
12586
|
-
], queries: [{ propertyName: "chipTemplate", first: true, predicate: VdChipDirective, descendants: true }, { propertyName: "autocompleteOptionTemplate", first: true, predicate: VdAutocompleteOptionDirective, descendants: true }], viewQueries: [{ propertyName: "chipInput", first: true, predicate: MatInput, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-chip-list #chipList [required]=\"required\" [disabled]=\"readonly\">\r\n\t<!-- #region Chips -->\r\n\t<ng-template let-chip let-first=\"first\" let-index=\"index\" ngFor [ngForOf]=\"chips\">\r\n\t\t<mat-basic-chip [selectable]=\"!readonly\" [removable]=\"!readonly\" (removed)=\"cleared.observers.length?cleared.emit(value):clear()\" disableRipple>\r\n\t\t\t<span class=\"vd-chip-content\">\r\n\t\t\t\t<span *ngIf=\"!chipTemplate?.templateRef\">\r\n\t\t\t\t\t<span *ngIf=\"!autocompleteOptionTemplate?.templateRef\">{{ chip }}</span>\r\n\t\t\t\t\t<ng-template *ngIf=\"autocompleteOptionTemplate?.templateRef\" [ngTemplateOutlet]=\"autocompleteOptionTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ option: chip }\"></ng-template>\r\n\t\t\t\t</span>\r\n\t\t\t\t<ng-template *ngIf=\"chipTemplate?.templateRef\" [ngTemplateOutlet]=\"chipTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ chip: chip }\"></ng-template>\r\n\t\t\t</span>\r\n\t\t\t<mat-icon *ngIf=\"onLaunch?.observers?.length > 0\" class=\"vd-chip-launch\" [ngClass]=\"{'removable': !readonly}\" (click)=\"$event.stopPropagation(); handleLaunchClicked()\">launch</mat-icon>\r\n\t\t\t<mat-icon matChipRemove *ngIf=\"!readonly\">backspace</mat-icon>\r\n\t\t</mat-basic-chip>\r\n\t</ng-template>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Search box -->\r\n\t<input matInput [hidden]=\"value && !empty\" placeholder=\"{{placeholder}}\" [readonly]=\"readonly\" [matChipInputFor]=\"chipList\" [matAutocomplete]=\"auto\" [formControl]=\"autoCompleteChipList\" #chipInput />\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Progress -->\r\n\t<mat-spinner diameter=\"18\" *ngIf=\"loading\"></mat-spinner>\r\n\t<!-- #endregion -->\r\n</mat-chip-list>\r\n\r\n<!-- #region Autocomplete -->\r\n<mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"addChip($event, chipInput)\">\r\n\t<ng-template let-item let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n\t\t<mat-option [value]=\"item\">\r\n\t\t\t<span *ngIf=\"!autocompleteOptionTemplate?.templateRef\">{{ item }}</span>\r\n\t\t\t<ng-template *ngIf=\"autocompleteOptionTemplate?.templateRef\" [ngTemplateOutlet]=\"autocompleteOptionTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ option: item }\"></ng-template>\r\n\t\t</mat-option>\r\n\t</ng-template>\r\n</mat-autocomplete>\r\n<!-- #endregion -->", styles: [".mat-chip{display:flex;flex-direction:row;width:100%;padding:4px 5px}.mat-chip.mat-chip-disabled{color:#000000a3}.mat-chip .vd-chip-content{flex-grow:1!important;font-weight:initial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-chip .mat-icon{cursor:pointer;color:initial;top:calc(50% - 13px);position:absolute;right:8px}.mat-chip .vd-chip-launch{font-size:18px;position:absolute;right:4px;top:0;cursor:pointer}.mat-chip .vd-chip-launch.removable{right:34px}mat-spinner{margin-top:-9px;margin-right:6px}\n"], components: [{ type: i4$
|
|
12586
|
+
], queries: [{ propertyName: "chipTemplate", first: true, predicate: VdChipDirective, descendants: true }, { propertyName: "autocompleteOptionTemplate", first: true, predicate: VdAutocompleteOptionDirective, descendants: true }], viewQueries: [{ propertyName: "chipInput", first: true, predicate: MatInput, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-chip-list #chipList [required]=\"required\" [disabled]=\"readonly\">\r\n\t<!-- #region Chips -->\r\n\t<ng-template let-chip let-first=\"first\" let-index=\"index\" ngFor [ngForOf]=\"chips\">\r\n\t\t<mat-basic-chip [selectable]=\"!readonly\" [removable]=\"!readonly\" (removed)=\"cleared.observers.length?cleared.emit(value):clear()\" disableRipple>\r\n\t\t\t<span class=\"vd-chip-content\">\r\n\t\t\t\t<span *ngIf=\"!chipTemplate?.templateRef\">\r\n\t\t\t\t\t<span *ngIf=\"!autocompleteOptionTemplate?.templateRef\">{{ chip }}</span>\r\n\t\t\t\t\t<ng-template *ngIf=\"autocompleteOptionTemplate?.templateRef\" [ngTemplateOutlet]=\"autocompleteOptionTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ option: chip }\"></ng-template>\r\n\t\t\t\t</span>\r\n\t\t\t\t<ng-template *ngIf=\"chipTemplate?.templateRef\" [ngTemplateOutlet]=\"chipTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ chip: chip }\"></ng-template>\r\n\t\t\t</span>\r\n\t\t\t<mat-icon *ngIf=\"onLaunch?.observers?.length > 0\" class=\"vd-chip-launch\" [ngClass]=\"{'removable': !readonly}\" (click)=\"$event.stopPropagation(); handleLaunchClicked()\">launch</mat-icon>\r\n\t\t\t<mat-icon matChipRemove *ngIf=\"!readonly\">backspace</mat-icon>\r\n\t\t</mat-basic-chip>\r\n\t</ng-template>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Search box -->\r\n\t<input matInput [hidden]=\"value && !empty\" placeholder=\"{{placeholder}}\" [readonly]=\"readonly\" [matChipInputFor]=\"chipList\" [matAutocomplete]=\"auto\" [formControl]=\"autoCompleteChipList\" #chipInput />\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Progress -->\r\n\t<mat-spinner diameter=\"18\" *ngIf=\"loading\"></mat-spinner>\r\n\t<!-- #endregion -->\r\n</mat-chip-list>\r\n\r\n<!-- #region Autocomplete -->\r\n<mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"addChip($event, chipInput)\">\r\n\t<ng-template let-item let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n\t\t<mat-option [value]=\"item\">\r\n\t\t\t<span *ngIf=\"!autocompleteOptionTemplate?.templateRef\">{{ item }}</span>\r\n\t\t\t<ng-template *ngIf=\"autocompleteOptionTemplate?.templateRef\" [ngTemplateOutlet]=\"autocompleteOptionTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ option: item }\"></ng-template>\r\n\t\t</mat-option>\r\n\t</ng-template>\r\n</mat-autocomplete>\r\n<!-- #endregion -->", styles: [".mat-chip{display:flex;flex-direction:row;width:100%;padding:4px 5px}.mat-chip.mat-chip-disabled{color:#000000a3}.mat-chip .vd-chip-content{flex-grow:1!important;font-weight:initial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-chip .mat-icon{cursor:pointer;color:initial;top:calc(50% - 13px);position:absolute;right:8px}.mat-chip .vd-chip-launch{font-size:18px;position:absolute;right:4px;top:0;cursor:pointer}.mat-chip .vd-chip-launch.removable{right:34px}mat-spinner{margin-top:-9px;margin-right:6px}\n"], components: [{ type: i4$3.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i7$2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i2$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$3.MatChipRemove, selector: "[matChipRemove]" }, { 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"] }, { type: i4$3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i7$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
12587
12587
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdChipsComponent, decorators: [{
|
|
12588
12588
|
type: Component,
|
|
12589
12589
|
args: [{ selector: 'vd-chips', providers: [
|
|
@@ -13015,7 +13015,7 @@ class VdFileInputComponent {
|
|
|
13015
13015
|
<mat-icon>close</mat-icon>
|
|
13016
13016
|
</button>
|
|
13017
13017
|
</div>
|
|
13018
|
-
</div>`, isInline: true, styles: [".btn-suffix .mat-button{position:absolute;right:0;top:0}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type:
|
|
13018
|
+
</div>`, isInline: true, styles: [".btn-suffix .mat-button{position:absolute;right:0;top:0}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ 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"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.MatSuffix, selector: "[matSuffix]" }] });
|
|
13019
13019
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdFileInputComponent, decorators: [{
|
|
13020
13020
|
type: Component,
|
|
13021
13021
|
args: [{
|
|
@@ -13449,7 +13449,7 @@ class VdSelectComponent extends AbstractMatFormField {
|
|
|
13449
13449
|
}
|
|
13450
13450
|
}
|
|
13451
13451
|
/** @nocollapse */ /** @nocollapse */ VdSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdSelectComponent, deps: [{ token: i0.Injector }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i2$1.ErrorStateMatcher }, { token: i3$2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
13452
|
-
/** @nocollapse */ /** @nocollapse */ VdSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdSelectComponent, selector: "vd-select", inputs: { multiple: "multiple", disabled: "disabled", sorted: "sorted", textPrefix: "textPrefix", endpoint: "endpoint", params: "params", projection: "projection", enum: "enum", key: "key", text: "text", prefix: "prefix", options: "options", filteredOptions: "filteredOptions", filterable: "filterable", cache: "cache", sortBy: "sortBy", searchField: "searchField" }, outputs: { onValueChange: "change", onItemChange: "itemChange", onSelected: "selected", onItemSelected: "itemSelected", onLaunch: "launch" }, providers: [{ provide: MatFormFieldControl, useExisting: VdSelectComponent }], queries: [{ propertyName: "optionTemplate", first: true, predicate: VdSelectOptionDirective, descendants: true }], viewQueries: [{ propertyName: "selectEl", first: true, predicate: MatSelect, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-select [placeholder]=\"placeholder\" i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelect\" (selectionChange)=\"handleChange($event)\" *ngIf=\"!readonly\" [multiple]=\"multiple\" [disabled]=\"disabled\" flex>\r\n <input #filterInput *ngIf=\"filterable\" type=\"text\" placeholder=\"Filter...\" class=\"vd-select-filter\" (keyup)=\"handleFilter($event.target.value)\">\r\n <mat-select-trigger *ngIf=\"onLaunch?.observers?.length > 0\">\r\n <span>{{select.selected?select.selected['viewValue']:''}}</span>\r\n <mat-icon class=\"vd-select-launch\" (click)=\"$event.stopPropagation(); handleLaunchClicked(value)\">launch</mat-icon>\r\n </mat-select-trigger>\r\n <mat-option class=\"tc-grey-500\" *ngIf=\"!multiple\" i18n=\"@@pleaseSelect\">--- Please Select ---</mat-option>\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-option [value]=\"option[key]\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option[text], select, option {option} other {{{option[text]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\r\n </mat-option>\r\n </ng-template>\r\n</mat-select>\r\n\r\n<div *ngIf=\"readonly\">\r\n <div *ngIf=\"currentValue\">\r\n <div class=\"readonly-value\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\">\r\n <span *ngIf=\"!multiple\" i18n=\"@@selection\">{currentValue[text], select, option {option} other {{{currentValue[text]}}}}</span>\r\n <ng-container *ngIf=\"multiple\">\r\n <span *ngFor=\"let optionValue of currentValue; let last = last\">\r\n <span i18n=\"@@selection\">{optionValue[text], select, option {option} other {{{optionValue[text]}}}}</span>\r\n <span *ngIf=\"!last\">, </span>\r\n </span>\r\n </ng-container>\r\n </span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ option: currentValue }\"></ng-template>\r\n </div>\r\n <mat-icon *ngIf=\"onLaunch?.observers?.length > 0\" class=\"vd-select-launch-readonly\" (click)=\"$event.stopPropagation(); handleLaunchClicked(value)\">launch</mat-icon>\r\n </div>\r\n <div *ngIf=\"!currentValue\"> </div>\r\n</div>", styles: [".vd-select-launch{position:absolute;right:30px;top:-5px;font-size:18px;cursor:pointer}.readonly-value{padding-right:24px;color:#000000a3;min-height:15px}.vd-select-launch-readonly{position:absolute;right:0px;top:9px;font-size:18px;cursor:pointer}.vd-select-filter{position:sticky;top:0;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:16px;box-sizing:border-box;border:none;border-bottom:1px solid #dcdcdc;width:100%;background-color:#f5f5f5;outline:none}\n"], components: [{ type: i4$
|
|
13452
|
+
/** @nocollapse */ /** @nocollapse */ VdSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdSelectComponent, selector: "vd-select", inputs: { multiple: "multiple", disabled: "disabled", sorted: "sorted", textPrefix: "textPrefix", endpoint: "endpoint", params: "params", projection: "projection", enum: "enum", key: "key", text: "text", prefix: "prefix", options: "options", filteredOptions: "filteredOptions", filterable: "filterable", cache: "cache", sortBy: "sortBy", searchField: "searchField" }, outputs: { onValueChange: "change", onItemChange: "itemChange", onSelected: "selected", onItemSelected: "itemSelected", onLaunch: "launch" }, providers: [{ provide: MatFormFieldControl, useExisting: VdSelectComponent }], queries: [{ propertyName: "optionTemplate", first: true, predicate: VdSelectOptionDirective, descendants: true }], viewQueries: [{ propertyName: "selectEl", first: true, predicate: MatSelect, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-select [placeholder]=\"placeholder\" i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelect\" (selectionChange)=\"handleChange($event)\" *ngIf=\"!readonly\" [multiple]=\"multiple\" [disabled]=\"disabled\" flex>\r\n <input #filterInput *ngIf=\"filterable\" type=\"text\" placeholder=\"Filter...\" class=\"vd-select-filter\" (keyup)=\"handleFilter($event.target.value)\">\r\n <mat-select-trigger *ngIf=\"onLaunch?.observers?.length > 0\">\r\n <span>{{select.selected?select.selected['viewValue']:''}}</span>\r\n <mat-icon class=\"vd-select-launch\" (click)=\"$event.stopPropagation(); handleLaunchClicked(value)\">launch</mat-icon>\r\n </mat-select-trigger>\r\n <mat-option class=\"tc-grey-500\" *ngIf=\"!multiple\" i18n=\"@@pleaseSelect\">--- Please Select ---</mat-option>\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-option [value]=\"option[key]\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option[text], select, option {option} other {{{option[text]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\r\n </mat-option>\r\n </ng-template>\r\n</mat-select>\r\n\r\n<div *ngIf=\"readonly\">\r\n <div *ngIf=\"currentValue\">\r\n <div class=\"readonly-value\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\">\r\n <span *ngIf=\"!multiple\" i18n=\"@@selection\">{currentValue[text], select, option {option} other {{{currentValue[text]}}}}</span>\r\n <ng-container *ngIf=\"multiple\">\r\n <span *ngFor=\"let optionValue of currentValue; let last = last\">\r\n <span i18n=\"@@selection\">{optionValue[text], select, option {option} other {{{optionValue[text]}}}}</span>\r\n <span *ngIf=\"!last\">, </span>\r\n </span>\r\n </ng-container>\r\n </span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ option: currentValue }\"></ng-template>\r\n </div>\r\n <mat-icon *ngIf=\"onLaunch?.observers?.length > 0\" class=\"vd-select-launch-readonly\" (click)=\"$event.stopPropagation(); handleLaunchClicked(value)\">launch</mat-icon>\r\n </div>\r\n <div *ngIf=\"!currentValue\"> </div>\r\n</div>", styles: [".vd-select-launch{position:absolute;right:30px;top:-5px;font-size:18px;cursor:pointer}.readonly-value{padding-right:24px;color:#000000a3;min-height:15px}.vd-select-launch-readonly{position:absolute;right:0px;top:9px;font-size:18px;cursor:pointer}.vd-select-filter{position:sticky;top:0;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:16px;box-sizing:border-box;border:none;border-bottom:1px solid #dcdcdc;width:100%;background-color:#f5f5f5;outline:none}\n"], components: [{ type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4$1.MatSelectTrigger, selector: "mat-select-trigger" }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
13453
13453
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdSelectComponent, decorators: [{
|
|
13454
13454
|
type: Component,
|
|
13455
13455
|
args: [{ selector: 'vd-select', providers: [{ provide: MatFormFieldControl, useExisting: VdSelectComponent }], template: "<mat-select [placeholder]=\"placeholder\" i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelect\" (selectionChange)=\"handleChange($event)\" *ngIf=\"!readonly\" [multiple]=\"multiple\" [disabled]=\"disabled\" flex>\r\n <input #filterInput *ngIf=\"filterable\" type=\"text\" placeholder=\"Filter...\" class=\"vd-select-filter\" (keyup)=\"handleFilter($event.target.value)\">\r\n <mat-select-trigger *ngIf=\"onLaunch?.observers?.length > 0\">\r\n <span>{{select.selected?select.selected['viewValue']:''}}</span>\r\n <mat-icon class=\"vd-select-launch\" (click)=\"$event.stopPropagation(); handleLaunchClicked(value)\">launch</mat-icon>\r\n </mat-select-trigger>\r\n <mat-option class=\"tc-grey-500\" *ngIf=\"!multiple\" i18n=\"@@pleaseSelect\">--- Please Select ---</mat-option>\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-option [value]=\"option[key]\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option[text], select, option {option} other {{{option[text]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\r\n </mat-option>\r\n </ng-template>\r\n</mat-select>\r\n\r\n<div *ngIf=\"readonly\">\r\n <div *ngIf=\"currentValue\">\r\n <div class=\"readonly-value\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\">\r\n <span *ngIf=\"!multiple\" i18n=\"@@selection\">{currentValue[text], select, option {option} other {{{currentValue[text]}}}}</span>\r\n <ng-container *ngIf=\"multiple\">\r\n <span *ngFor=\"let optionValue of currentValue; let last = last\">\r\n <span i18n=\"@@selection\">{optionValue[text], select, option {option} other {{{optionValue[text]}}}}</span>\r\n <span *ngIf=\"!last\">, </span>\r\n </span>\r\n </ng-container>\r\n </span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ option: currentValue }\"></ng-template>\r\n </div>\r\n <mat-icon *ngIf=\"onLaunch?.observers?.length > 0\" class=\"vd-select-launch-readonly\" (click)=\"$event.stopPropagation(); handleLaunchClicked(value)\">launch</mat-icon>\r\n </div>\r\n <div *ngIf=\"!currentValue\"> </div>\r\n</div>", styles: [".vd-select-launch{position:absolute;right:30px;top:-5px;font-size:18px;cursor:pointer}.readonly-value{padding-right:24px;color:#000000a3;min-height:15px}.vd-select-launch-readonly{position:absolute;right:0px;top:9px;font-size:18px;cursor:pointer}.vd-select-filter{position:sticky;top:0;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:16px;box-sizing:border-box;border:none;border-bottom:1px solid #dcdcdc;width:100%;background-color:#f5f5f5;outline:none}\n"] }]
|
|
@@ -13643,7 +13643,7 @@ class VdGenericFormComponent {
|
|
|
13643
13643
|
}
|
|
13644
13644
|
}
|
|
13645
13645
|
/** @nocollapse */ /** @nocollapse */ VdGenericFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdGenericFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13646
|
-
/** @nocollapse */ /** @nocollapse */ VdGenericFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdGenericFormComponent, selector: "vd-generic-form", inputs: { formGroup: "formGroup", fieldGroups: "fieldGroups", groupName: "groupName" }, queries: [{ propertyName: "editorTemplate", first: true, predicate: VdEditorDirective, descendants: true }, { propertyName: "codeTemplate", first: true, predicate: VdCodeDirective, descendants: true }, { propertyName: "fileTemplate", first: true, predicate: VdFileDirective, descendants: true }, { propertyName: "customTemplate", first: true, predicate: VdCustomDirective, descendants: true }], ngImport: i0, template: "<div *ngIf=\"formGroup && fieldRows\" [formGroup]=\"formGroup\">\r\n <!-- #region Fields -->\r\n <div layout-gt-sm=\"row\" layout=\"column\" *ngFor=\"let fields of fieldRows\">\r\n <ng-container *ngFor=\"let field of fields\" [ngSwitch]=\"field.type\">\r\n <!-- #region Error handling -->\r\n <ng-template #fieldErrors>\r\n <div *ngFor=\"let errorMessage of formGroup.controls[field.name]['errorMessages']\">{{errorMessage}}</div>\r\n </ng-template>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Text input -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Text\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <input [type]=\"field.inputType\" [minlength]=\"field.minLength||null\" [maxlength]=\"field.maxLength||null\" matInput [formControlName]=\"field.name\">\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Text area -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.TextArea\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <textarea matInput [formControlName]=\"field.name\" rows=\"field.rows||2\"></textarea>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Enum -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Enum\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <vd-select [formControlName]=\"field.name\" [enum]=\"field.enumType\" [key]=\"field.optionValue\" [text]=\"field.optionText\" [multiple]=\"field.multiple\" flex></vd-select>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region VdSelect -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.VdSelect\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <vd-select [formControlName]=\"field.name\" [endpoint]=\"field.endpoint\" [projection]=\"field.projection\" [key]=\"field.optionValue\" [text]=\"field.optionText\" [multiple]=\"field.multiple\" flex></vd-select>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region VdChips -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.VdChips\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <vd-chips #vdChip [formControlName]=\"field.name\" [endpoint]=\"field.endpoint\" [searchField]=\"field.searchField\" [projection]=\"field.projection\" [key]=\"field.optionValue\" flex>\r\n <ng-template vd-chip let-chip=\"chip\" *ngIf=\"field.chipTemplate\">\r\n <div [outerHTML]=\"field.chipTemplate(chip)\"></div>\r\n </ng-template>\r\n <ng-template vd-autocomplete-option let-option=\"option\" *ngIf=\"field.autocompleteTemplate\">\r\n <div [outerHTML]=\"field.autocompleteTemplate(option)\"></div>\r\n </ng-template>\r\n </vd-chips>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-hint *ngIf=\"vdChip.emptyResult\" class=\"tc-red-400\" i18n=\"@@noResultsFound\">No results found</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Select -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Select\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <mat-select [formControlName]=\"field.name\" [multiple]=\"field.multiple\" flex>\r\n <mat-option *ngFor=\"let option of field.options\" [value]=\"option.id\">{{option.name}}</mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Autocomplete -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Autocomplete\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <input type=\"text\" matInput [formControlName]=\"field.name\" [matAutocomplete]=\"auto\" autocomplete=\"false\">\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of autocompleteFilteredOptions[field.name]\" [value]=\"option.id\">\r\n {{option.name}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Date -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Date\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <input matInput [formControlName]=\"field.name\" autocomplete=\"off\" [matDatepicker]=\"datePicker\">\r\n <mat-datepicker-toggle matSuffix [for]=\"datePicker\"></mat-datepicker-toggle>\r\n <mat-datepicker #datePicker></mat-datepicker>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Checkbox -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <div *ngSwitchCase=\"FormFieldType.Checkbox\" layout-margin appearance=\"outline\" class=\"pad-bottom-xs\">\r\n <mat-checkbox [formControlName]=\"field.name\">{{field.header}}</mat-checkbox>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Editor -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.Editor\">\r\n <ng-template *ngIf=\"editorTemplate?.templateRef\" [ngTemplateOutlet]=\"editorTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Code -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.Code\">\r\n <ng-template *ngIf=\"codeTemplate?.templateRef\" [ngTemplateOutlet]=\"codeTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region File -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.File\">\r\n <ng-template *ngIf=\"fileTemplate?.templateRef\" [ngTemplateOutlet]=\"fileTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Custom -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.Custom\">\r\n <ng-template *ngIf=\"customTemplate?.templateRef\" [ngTemplateOutlet]=\"customTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </div>\r\n <!-- #endregion -->\r\n</div>", styles: [""], components: [{ type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: VdSelectComponent, selector: "vd-select", inputs: ["multiple", "disabled", "sorted", "textPrefix", "endpoint", "params", "projection", "enum", "key", "text", "prefix", "options", "filteredOptions", "filterable", "cache", "sortBy", "searchField"], outputs: ["change", "itemChange", "selected", "itemSelected", "launch"] }, { type: VdChipsComponent, selector: "vd-chips", inputs: ["chips", "endpoint", "params", "projection", "path", "key", "searchField", "searchFields", "termMinlength", "limit", "debounce", "default"], outputs: ["initSelect", "selected", "cleared", "launch", "chipFocus"] }, { type: i4$2.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i2$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i7$2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i7$1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i7$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i4$3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: MatFormFieldReadonlyDirective, selector: "mat-form-field" }, { type: i1$3.MatLabel, selector: "mat-label" }, { 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"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1$3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i1$3.MatError, selector: "mat-error", inputs: ["id"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: VdChipDirective, selector: "[vd-chip]ng-template" }, { type: VdAutocompleteOptionDirective, selector: "[vd-autocomplete-option]ng-template" }, { type: i7$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i7$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i1$3.MatSuffix, selector: "[matSuffix]" }] });
|
|
13646
|
+
/** @nocollapse */ /** @nocollapse */ VdGenericFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdGenericFormComponent, selector: "vd-generic-form", inputs: { formGroup: "formGroup", fieldGroups: "fieldGroups", groupName: "groupName" }, queries: [{ propertyName: "editorTemplate", first: true, predicate: VdEditorDirective, descendants: true }, { propertyName: "codeTemplate", first: true, predicate: VdCodeDirective, descendants: true }, { propertyName: "fileTemplate", first: true, predicate: VdFileDirective, descendants: true }, { propertyName: "customTemplate", first: true, predicate: VdCustomDirective, descendants: true }], ngImport: i0, template: "<div *ngIf=\"formGroup && fieldRows\" [formGroup]=\"formGroup\">\r\n <!-- #region Fields -->\r\n <div layout-gt-sm=\"row\" layout=\"column\" *ngFor=\"let fields of fieldRows\">\r\n <ng-container *ngFor=\"let field of fields\" [ngSwitch]=\"field.type\">\r\n <!-- #region Error handling -->\r\n <ng-template #fieldErrors>\r\n <div *ngFor=\"let errorMessage of formGroup.controls[field.name]['errorMessages']\">{{errorMessage}}</div>\r\n </ng-template>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Text input -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Text\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <input [type]=\"field.inputType\" [minlength]=\"field.minLength||null\" [maxlength]=\"field.maxLength||null\" matInput [formControlName]=\"field.name\">\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Text area -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.TextArea\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <textarea matInput [formControlName]=\"field.name\" rows=\"field.rows||2\"></textarea>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Enum -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Enum\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <vd-select [formControlName]=\"field.name\" [enum]=\"field.enumType\" [key]=\"field.optionValue\" [text]=\"field.optionText\" [multiple]=\"field.multiple\" flex></vd-select>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region VdSelect -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.VdSelect\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <vd-select [formControlName]=\"field.name\" [endpoint]=\"field.endpoint\" [projection]=\"field.projection\" [key]=\"field.optionValue\" [text]=\"field.optionText\" [multiple]=\"field.multiple\" flex></vd-select>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region VdChips -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.VdChips\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <vd-chips #vdChip [formControlName]=\"field.name\" [endpoint]=\"field.endpoint\" [searchField]=\"field.searchField\" [projection]=\"field.projection\" [key]=\"field.optionValue\" flex>\r\n <ng-template vd-chip let-chip=\"chip\" *ngIf=\"field.chipTemplate\">\r\n <div [outerHTML]=\"field.chipTemplate(chip)\"></div>\r\n </ng-template>\r\n <ng-template vd-autocomplete-option let-option=\"option\" *ngIf=\"field.autocompleteTemplate\">\r\n <div [outerHTML]=\"field.autocompleteTemplate(option)\"></div>\r\n </ng-template>\r\n </vd-chips>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-hint *ngIf=\"vdChip.emptyResult\" class=\"tc-red-400\" i18n=\"@@noResultsFound\">No results found</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Select -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Select\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <mat-select [formControlName]=\"field.name\" [multiple]=\"field.multiple\" flex>\r\n <mat-option *ngFor=\"let option of field.options\" [value]=\"option.id\">{{option.name}}</mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Autocomplete -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Autocomplete\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <input type=\"text\" matInput [formControlName]=\"field.name\" [matAutocomplete]=\"auto\" autocomplete=\"false\">\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of autocompleteFilteredOptions[field.name]\" [value]=\"option.id\">\r\n {{option.name}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Date -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Date\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <input matInput [formControlName]=\"field.name\" autocomplete=\"off\" [matDatepicker]=\"datePicker\">\r\n <mat-datepicker-toggle matSuffix [for]=\"datePicker\"></mat-datepicker-toggle>\r\n <mat-datepicker #datePicker></mat-datepicker>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Checkbox -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <div *ngSwitchCase=\"FormFieldType.Checkbox\" layout-margin appearance=\"outline\" class=\"pad-bottom-xs\">\r\n <mat-checkbox [formControlName]=\"field.name\">{{field.header}}</mat-checkbox>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Editor -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.Editor\">\r\n <ng-template *ngIf=\"editorTemplate?.templateRef\" [ngTemplateOutlet]=\"editorTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Code -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.Code\">\r\n <ng-template *ngIf=\"codeTemplate?.templateRef\" [ngTemplateOutlet]=\"codeTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region File -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.File\">\r\n <ng-template *ngIf=\"fileTemplate?.templateRef\" [ngTemplateOutlet]=\"fileTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Custom -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.Custom\">\r\n <ng-template *ngIf=\"customTemplate?.templateRef\" [ngTemplateOutlet]=\"customTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </div>\r\n <!-- #endregion -->\r\n</div>", styles: [""], components: [{ type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: VdSelectComponent, selector: "vd-select", inputs: ["multiple", "disabled", "sorted", "textPrefix", "endpoint", "params", "projection", "enum", "key", "text", "prefix", "options", "filteredOptions", "filterable", "cache", "sortBy", "searchField"], outputs: ["change", "itemChange", "selected", "itemSelected", "launch"] }, { type: VdChipsComponent, selector: "vd-chips", inputs: ["chips", "endpoint", "params", "projection", "path", "key", "searchField", "searchFields", "termMinlength", "limit", "debounce", "default"], outputs: ["initSelect", "selected", "cleared", "launch", "chipFocus"] }, { type: i4$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i2$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i7$2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i7$1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i7$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i4$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: MatFormFieldReadonlyDirective, selector: "mat-form-field" }, { type: i1$3.MatLabel, selector: "mat-label" }, { 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"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1$3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i1$3.MatError, selector: "mat-error", inputs: ["id"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: VdChipDirective, selector: "[vd-chip]ng-template" }, { type: VdAutocompleteOptionDirective, selector: "[vd-autocomplete-option]ng-template" }, { type: i7$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i7$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i1$3.MatSuffix, selector: "[matSuffix]" }] });
|
|
13647
13647
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdGenericFormComponent, decorators: [{
|
|
13648
13648
|
type: Component,
|
|
13649
13649
|
args: [{ selector: 'vd-generic-form', template: "<div *ngIf=\"formGroup && fieldRows\" [formGroup]=\"formGroup\">\r\n <!-- #region Fields -->\r\n <div layout-gt-sm=\"row\" layout=\"column\" *ngFor=\"let fields of fieldRows\">\r\n <ng-container *ngFor=\"let field of fields\" [ngSwitch]=\"field.type\">\r\n <!-- #region Error handling -->\r\n <ng-template #fieldErrors>\r\n <div *ngFor=\"let errorMessage of formGroup.controls[field.name]['errorMessages']\">{{errorMessage}}</div>\r\n </ng-template>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Text input -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Text\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <input [type]=\"field.inputType\" [minlength]=\"field.minLength||null\" [maxlength]=\"field.maxLength||null\" matInput [formControlName]=\"field.name\">\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Text area -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.TextArea\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <textarea matInput [formControlName]=\"field.name\" rows=\"field.rows||2\"></textarea>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Enum -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Enum\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <vd-select [formControlName]=\"field.name\" [enum]=\"field.enumType\" [key]=\"field.optionValue\" [text]=\"field.optionText\" [multiple]=\"field.multiple\" flex></vd-select>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region VdSelect -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.VdSelect\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <vd-select [formControlName]=\"field.name\" [endpoint]=\"field.endpoint\" [projection]=\"field.projection\" [key]=\"field.optionValue\" [text]=\"field.optionText\" [multiple]=\"field.multiple\" flex></vd-select>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region VdChips -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.VdChips\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <vd-chips #vdChip [formControlName]=\"field.name\" [endpoint]=\"field.endpoint\" [searchField]=\"field.searchField\" [projection]=\"field.projection\" [key]=\"field.optionValue\" flex>\r\n <ng-template vd-chip let-chip=\"chip\" *ngIf=\"field.chipTemplate\">\r\n <div [outerHTML]=\"field.chipTemplate(chip)\"></div>\r\n </ng-template>\r\n <ng-template vd-autocomplete-option let-option=\"option\" *ngIf=\"field.autocompleteTemplate\">\r\n <div [outerHTML]=\"field.autocompleteTemplate(option)\"></div>\r\n </ng-template>\r\n </vd-chips>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-hint *ngIf=\"vdChip.emptyResult\" class=\"tc-red-400\" i18n=\"@@noResultsFound\">No results found</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Select -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Select\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <mat-select [formControlName]=\"field.name\" [multiple]=\"field.multiple\" flex>\r\n <mat-option *ngFor=\"let option of field.options\" [value]=\"option.id\">{{option.name}}</mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Autocomplete -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Autocomplete\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <input type=\"text\" matInput [formControlName]=\"field.name\" [matAutocomplete]=\"auto\" autocomplete=\"false\">\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of autocompleteFilteredOptions[field.name]\" [value]=\"option.id\">\r\n {{option.name}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Date -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <mat-form-field *ngSwitchCase=\"FormFieldType.Date\" [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\r\n <mat-label>{{field.header}}</mat-label>\r\n <input matInput [formControlName]=\"field.name\" autocomplete=\"off\" [matDatepicker]=\"datePicker\">\r\n <mat-datepicker-toggle matSuffix [for]=\"datePicker\"></mat-datepicker-toggle>\r\n <mat-datepicker #datePicker></mat-datepicker>\r\n <mat-hint *ngIf=\"field.hint\">{{field.hint}}</mat-hint>\r\n <mat-error>\r\n <ng-container *ngTemplateOutlet=\"fieldErrors\"></ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Checkbox -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <div *ngSwitchCase=\"FormFieldType.Checkbox\" layout-margin appearance=\"outline\" class=\"pad-bottom-xs\">\r\n <mat-checkbox [formControlName]=\"field.name\">{{field.header}}</mat-checkbox>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Editor -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.Editor\">\r\n <ng-template *ngIf=\"editorTemplate?.templateRef\" [ngTemplateOutlet]=\"editorTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Code -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.Code\">\r\n <ng-template *ngIf=\"codeTemplate?.templateRef\" [ngTemplateOutlet]=\"codeTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region File -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.File\">\r\n <ng-template *ngIf=\"fileTemplate?.templateRef\" [ngTemplateOutlet]=\"fileTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Custom -->\r\n <ng-container *ngIf=\"!field.hide || !field.hide(formGroup?.value)\">\r\n <ng-container *ngSwitchCase=\"FormFieldType.Custom\">\r\n <ng-template *ngIf=\"customTemplate?.templateRef\" [ngTemplateOutlet]=\"customTemplate?.templateRef\" [ngTemplateOutletContext]=\"{ field: field, formGroup: formGroup }\"></ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </div>\r\n <!-- #endregion -->\r\n</div>", styles: [""] }]
|
|
@@ -14287,10 +14287,184 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
14287
14287
|
}]
|
|
14288
14288
|
}] });
|
|
14289
14289
|
|
|
14290
|
+
class VdMenuComponent {
|
|
14291
|
+
constructor() {
|
|
14292
|
+
/**
|
|
14293
|
+
* Menu items
|
|
14294
|
+
*/
|
|
14295
|
+
this.items = [];
|
|
14296
|
+
/**
|
|
14297
|
+
* This will add the classes only when the url matches the link exactly.
|
|
14298
|
+
*/
|
|
14299
|
+
this.activeExact = false;
|
|
14300
|
+
/**
|
|
14301
|
+
* click?: function
|
|
14302
|
+
* Event emitted when a menu item is clicked.
|
|
14303
|
+
*/
|
|
14304
|
+
this.onClick = new EventEmitter();
|
|
14305
|
+
}
|
|
14306
|
+
/**
|
|
14307
|
+
* Event emitted when a meni item is clicked.
|
|
14308
|
+
*/
|
|
14309
|
+
itemClicked($event) {
|
|
14310
|
+
if ($event instanceof EventEmitter) {
|
|
14311
|
+
$event.emit();
|
|
14312
|
+
}
|
|
14313
|
+
else {
|
|
14314
|
+
this.onClick.emit($event);
|
|
14315
|
+
}
|
|
14316
|
+
}
|
|
14317
|
+
}
|
|
14318
|
+
/** @nocollapse */ /** @nocollapse */ VdMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14319
|
+
/** @nocollapse */ /** @nocollapse */ VdMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdMenuComponent, selector: "vd-menu", inputs: { items: "items", activeExact: "activeExact", avatar: "avatar" }, outputs: { onClick: "click" }, ngImport: i0, template: "<mat-nav-list>\r\n\t<ng-template let-item let-last=\"last\" ngFor [ngForOf]=\"items\">\r\n\t\t<a mat-list-item *ngIf=\"item.enabled\" [routerLink]=\"item.path\" [routerLinkActive]=\"['active']\" [routerLinkActiveOptions]=\"{exact:item.activeExact}\" (click)=\"itemClicked(item.event?item.event:$event)\">\r\n\t\t\t<mat-icon *ngIf=\"!avatar\" mat-list-icon>{{item.icon}}</mat-icon>\r\n\t\t\t<span *ngIf=\"!avatar\">{{item.title}}</span>\r\n\t\t\t<mat-icon *ngIf=\"avatar\" matListAvatar>{{item.icon}}</mat-icon>\r\n\t\t\t<h3 *ngIf=\"avatar\" matLine>{{item.title}}</h3>\r\n\t\t\t<p *ngIf=\"avatar && item.description\" matLine> {{item.description}} </p>\r\n\t\t</a>\r\n\t\t<mat-divider *ngIf=\"item.divider && !avatar\"></mat-divider>\r\n\t\t<mat-divider [inset]=\"avatar\" *ngIf=\"!item.divider && avatar && !last\"></mat-divider>\r\n\t</ng-template>\r\n</mat-nav-list>", styles: [""], components: [{ type: i1$7.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i1$7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i1$4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i1$7.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i1$7.MatListAvatarCssMatStyler, selector: "[mat-list-avatar], [matListAvatar]" }, { type: i2$1.MatLine, selector: "[mat-line], [matLine]" }] });
|
|
14320
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuComponent, decorators: [{
|
|
14321
|
+
type: Component,
|
|
14322
|
+
args: [{ selector: 'vd-menu', template: "<mat-nav-list>\r\n\t<ng-template let-item let-last=\"last\" ngFor [ngForOf]=\"items\">\r\n\t\t<a mat-list-item *ngIf=\"item.enabled\" [routerLink]=\"item.path\" [routerLinkActive]=\"['active']\" [routerLinkActiveOptions]=\"{exact:item.activeExact}\" (click)=\"itemClicked(item.event?item.event:$event)\">\r\n\t\t\t<mat-icon *ngIf=\"!avatar\" mat-list-icon>{{item.icon}}</mat-icon>\r\n\t\t\t<span *ngIf=\"!avatar\">{{item.title}}</span>\r\n\t\t\t<mat-icon *ngIf=\"avatar\" matListAvatar>{{item.icon}}</mat-icon>\r\n\t\t\t<h3 *ngIf=\"avatar\" matLine>{{item.title}}</h3>\r\n\t\t\t<p *ngIf=\"avatar && item.description\" matLine> {{item.description}} </p>\r\n\t\t</a>\r\n\t\t<mat-divider *ngIf=\"item.divider && !avatar\"></mat-divider>\r\n\t\t<mat-divider [inset]=\"avatar\" *ngIf=\"!item.divider && avatar && !last\"></mat-divider>\r\n\t</ng-template>\r\n</mat-nav-list>", styles: [""] }]
|
|
14323
|
+
}], propDecorators: { items: [{
|
|
14324
|
+
type: Input
|
|
14325
|
+
}], activeExact: [{
|
|
14326
|
+
type: Input
|
|
14327
|
+
}], avatar: [{
|
|
14328
|
+
type: Input
|
|
14329
|
+
}], onClick: [{
|
|
14330
|
+
type: Output,
|
|
14331
|
+
args: ['click']
|
|
14332
|
+
}] } });
|
|
14333
|
+
|
|
14334
|
+
class MenuService extends GenericService {
|
|
14335
|
+
/**
|
|
14336
|
+
* Constructor
|
|
14337
|
+
* @param _http
|
|
14338
|
+
*/
|
|
14339
|
+
constructor() {
|
|
14340
|
+
super('menu');
|
|
14341
|
+
}
|
|
14342
|
+
}
|
|
14343
|
+
/** @nocollapse */ /** @nocollapse */ MenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14344
|
+
/** @nocollapse */ /** @nocollapse */ MenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuService, providedIn: 'root' });
|
|
14345
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuService, decorators: [{
|
|
14346
|
+
type: Injectable,
|
|
14347
|
+
args: [{ providedIn: 'root' }]
|
|
14348
|
+
}], ctorParameters: function () { return []; } });
|
|
14349
|
+
|
|
14350
|
+
var MenuScope;
|
|
14351
|
+
(function (MenuScope) {
|
|
14352
|
+
MenuScope[MenuScope["Site"] = 0] = "Site";
|
|
14353
|
+
MenuScope[MenuScope["Admin"] = 1] = "Admin";
|
|
14354
|
+
})(MenuScope || (MenuScope = {}));
|
|
14355
|
+
|
|
14356
|
+
class Menu {
|
|
14357
|
+
}
|
|
14358
|
+
|
|
14359
|
+
class MenuItem {
|
|
14360
|
+
}
|
|
14361
|
+
|
|
14362
|
+
class MenuItemService extends GenericService {
|
|
14363
|
+
/**
|
|
14364
|
+
* Constructor
|
|
14365
|
+
* @param _http
|
|
14366
|
+
*/
|
|
14367
|
+
constructor() {
|
|
14368
|
+
super('menuitem');
|
|
14369
|
+
}
|
|
14370
|
+
}
|
|
14371
|
+
/** @nocollapse */ /** @nocollapse */ MenuItemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14372
|
+
/** @nocollapse */ /** @nocollapse */ MenuItemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuItemService, providedIn: 'root' });
|
|
14373
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuItemService, decorators: [{
|
|
14374
|
+
type: Injectable,
|
|
14375
|
+
args: [{ providedIn: 'root' }]
|
|
14376
|
+
}], ctorParameters: function () { return []; } });
|
|
14377
|
+
|
|
14378
|
+
/**
|
|
14379
|
+
* Menu resolve service
|
|
14380
|
+
*/
|
|
14381
|
+
class MenuResolve {
|
|
14382
|
+
/**
|
|
14383
|
+
* Constructor
|
|
14384
|
+
* @param menuService
|
|
14385
|
+
*/
|
|
14386
|
+
constructor(menuService) {
|
|
14387
|
+
this.menuService = menuService;
|
|
14388
|
+
}
|
|
14389
|
+
/**
|
|
14390
|
+
* Resolves menu items
|
|
14391
|
+
* @param route
|
|
14392
|
+
*/
|
|
14393
|
+
resolve(route) {
|
|
14394
|
+
return this.menuService.getList(route.data || {}, null, { cache: 'yes' });
|
|
14395
|
+
}
|
|
14396
|
+
}
|
|
14397
|
+
/** @nocollapse */ /** @nocollapse */ MenuResolve.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuResolve, deps: [{ token: MenuService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14398
|
+
/** @nocollapse */ /** @nocollapse */ MenuResolve.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuResolve });
|
|
14399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuResolve, decorators: [{
|
|
14400
|
+
type: Injectable
|
|
14401
|
+
}], ctorParameters: function () { return [{ type: MenuService }]; } });
|
|
14402
|
+
/**
|
|
14403
|
+
* Submenu resolve service
|
|
14404
|
+
*/
|
|
14405
|
+
class SubMenuResolve {
|
|
14406
|
+
/**
|
|
14407
|
+
* Resolves menu items
|
|
14408
|
+
* @param route
|
|
14409
|
+
* @param state
|
|
14410
|
+
*/
|
|
14411
|
+
resolve(route, state) {
|
|
14412
|
+
/* Check menu items in route data */
|
|
14413
|
+
if (route.parent.data.menu) {
|
|
14414
|
+
/* Get Admin menu */
|
|
14415
|
+
var adminMenu = route.parent.data.menu[0];
|
|
14416
|
+
if (adminMenu && adminMenu.items) {
|
|
14417
|
+
return adminMenu.items.filter(x => x.path == `/${route.url[0].path}`)[0];
|
|
14418
|
+
}
|
|
14419
|
+
}
|
|
14420
|
+
return [];
|
|
14421
|
+
}
|
|
14422
|
+
}
|
|
14423
|
+
/** @nocollapse */ /** @nocollapse */ SubMenuResolve.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: SubMenuResolve, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14424
|
+
/** @nocollapse */ /** @nocollapse */ SubMenuResolve.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: SubMenuResolve });
|
|
14425
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: SubMenuResolve, decorators: [{
|
|
14426
|
+
type: Injectable
|
|
14427
|
+
}] });
|
|
14428
|
+
|
|
14429
|
+
const DECLARATIONS$2 = [
|
|
14430
|
+
VdMenuComponent
|
|
14431
|
+
];
|
|
14432
|
+
class VdMenuModule {
|
|
14433
|
+
}
|
|
14434
|
+
/** @nocollapse */ /** @nocollapse */ VdMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14435
|
+
/** @nocollapse */ /** @nocollapse */ VdMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuModule, declarations: [VdMenuComponent], imports: [CommonModule,
|
|
14436
|
+
RouterModule,
|
|
14437
|
+
MatIconModule,
|
|
14438
|
+
MatListModule], exports: [VdMenuComponent] });
|
|
14439
|
+
/** @nocollapse */ /** @nocollapse */ VdMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuModule, providers: [MenuService], imports: [[
|
|
14440
|
+
CommonModule,
|
|
14441
|
+
RouterModule,
|
|
14442
|
+
MatIconModule,
|
|
14443
|
+
MatListModule
|
|
14444
|
+
]] });
|
|
14445
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuModule, decorators: [{
|
|
14446
|
+
type: NgModule,
|
|
14447
|
+
args: [{
|
|
14448
|
+
imports: [
|
|
14449
|
+
CommonModule,
|
|
14450
|
+
RouterModule,
|
|
14451
|
+
MatIconModule,
|
|
14452
|
+
MatListModule
|
|
14453
|
+
],
|
|
14454
|
+
declarations: [
|
|
14455
|
+
DECLARATIONS$2
|
|
14456
|
+
],
|
|
14457
|
+
exports: [
|
|
14458
|
+
DECLARATIONS$2
|
|
14459
|
+
],
|
|
14460
|
+
providers: [MenuService]
|
|
14461
|
+
}]
|
|
14462
|
+
}] });
|
|
14463
|
+
|
|
14290
14464
|
class VdFormToolbarMenuComponent {
|
|
14291
14465
|
}
|
|
14292
14466
|
/** @nocollapse */ /** @nocollapse */ VdFormToolbarMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdFormToolbarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14293
|
-
/** @nocollapse */ /** @nocollapse */ VdFormToolbarMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdFormToolbarMenuComponent, selector: "vd-form-toolbar-menu", inputs: { menuItems: "menuItems" }, ngImport: i0, template: "<div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button [mat-menu-trigger-for]=\"toolbarMenu\" *ngIf=\"menuItems?.length\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu x-position=\"before\" #toolbarMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuItem of menuItems\">\r\n <ng-container *ngIf=\"!menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuItem.event?menuItem.event():null\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"menuItem.subItems\">\r\n <mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuSubItem of menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuSubItem.event?menuSubItem.event():null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide()\" [disabled]=\"menuSubItem.disable && menuSubItem.disable()\">\r\n <mat-icon fontSet=\"{{menuSubItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuSubItem.iconClass\">{{menuSubItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuSubItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n <button type=\"button\" mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </mat-menu>\r\n</div>", components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type:
|
|
14467
|
+
/** @nocollapse */ /** @nocollapse */ VdFormToolbarMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdFormToolbarMenuComponent, selector: "vd-form-toolbar-menu", inputs: { menuItems: "menuItems" }, ngImport: i0, template: "<div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button [mat-menu-trigger-for]=\"toolbarMenu\" *ngIf=\"menuItems?.length\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu x-position=\"before\" #toolbarMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuItem of menuItems\">\r\n <ng-container *ngIf=\"!menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuItem.event?menuItem.event():null\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"menuItem.subItems\">\r\n <mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuSubItem of menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuSubItem.event?menuSubItem.event():null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide()\" [disabled]=\"menuSubItem.disable && menuSubItem.disable()\">\r\n <mat-icon fontSet=\"{{menuSubItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuSubItem.iconClass\">{{menuSubItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuSubItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n <button type=\"button\" mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </mat-menu>\r\n</div>", components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
14294
14468
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdFormToolbarMenuComponent, decorators: [{
|
|
14295
14469
|
type: Component,
|
|
14296
14470
|
args: [{ selector: 'vd-form-toolbar-menu', template: "<div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button [mat-menu-trigger-for]=\"toolbarMenu\" *ngIf=\"menuItems?.length\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu x-position=\"before\" #toolbarMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuItem of menuItems\">\r\n <ng-container *ngIf=\"!menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuItem.event?menuItem.event():null\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"menuItem.subItems\">\r\n <mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuSubItem of menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuSubItem.event?menuSubItem.event():null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide()\" [disabled]=\"menuSubItem.disable && menuSubItem.disable()\">\r\n <mat-icon fontSet=\"{{menuSubItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuSubItem.iconClass\">{{menuSubItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuSubItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n <button type=\"button\" mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </mat-menu>\r\n</div>" }]
|
|
@@ -14307,7 +14481,7 @@ class VdFormToolbarComponent {
|
|
|
14307
14481
|
}
|
|
14308
14482
|
}
|
|
14309
14483
|
/** @nocollapse */ /** @nocollapse */ VdFormToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdFormToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14310
|
-
/** @nocollapse */ /** @nocollapse */ VdFormToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdFormToolbarComponent, selector: "vd-form-toolbar", inputs: { subtitle: "subtitle", menuItems: "menuItems", loading: "loading" }, outputs: { reload: "reload" }, ngImport: i0, template: "<div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button *ngIf=\"reload?.observed\" (click)=\"reload.emit($event)\">\r\n <mat-icon *ngIf=\"!loading\">sync</mat-icon>\r\n <mat-progress-spinner *ngIf=\"loading\" color=\"accent\" class=\"mat-icon\" diameter=\"24\" mode=\"indeterminate\"> </mat-progress-spinner>\r\n </button>\r\n <vd-form-toolbar-menu [menuItems]=\"menuItems\"></vd-form-toolbar-menu>\r\n</div>", components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type:
|
|
14484
|
+
/** @nocollapse */ /** @nocollapse */ VdFormToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdFormToolbarComponent, selector: "vd-form-toolbar", inputs: { subtitle: "subtitle", menuItems: "menuItems", loading: "loading" }, outputs: { reload: "reload" }, ngImport: i0, template: "<div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button *ngIf=\"reload?.observed\" (click)=\"reload.emit($event)\">\r\n <mat-icon *ngIf=\"!loading\">sync</mat-icon>\r\n <mat-progress-spinner *ngIf=\"loading\" color=\"accent\" class=\"mat-icon\" diameter=\"24\" mode=\"indeterminate\"> </mat-progress-spinner>\r\n </button>\r\n <vd-form-toolbar-menu [menuItems]=\"menuItems\"></vd-form-toolbar-menu>\r\n</div>", components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: VdFormToolbarMenuComponent, selector: "vd-form-toolbar-menu", inputs: ["menuItems"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
14311
14485
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdFormToolbarComponent, decorators: [{
|
|
14312
14486
|
type: Component,
|
|
14313
14487
|
args: [{ selector: 'vd-form-toolbar', template: "<div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button *ngIf=\"reload?.observed\" (click)=\"reload.emit($event)\">\r\n <mat-icon *ngIf=\"!loading\">sync</mat-icon>\r\n <mat-progress-spinner *ngIf=\"loading\" color=\"accent\" class=\"mat-icon\" diameter=\"24\" mode=\"indeterminate\"> </mat-progress-spinner>\r\n </button>\r\n <vd-form-toolbar-menu [menuItems]=\"menuItems\"></vd-form-toolbar-menu>\r\n</div>" }]
|
|
@@ -14340,7 +14514,7 @@ class VdLayoutCardOverComponent {
|
|
|
14340
14514
|
}
|
|
14341
14515
|
}
|
|
14342
14516
|
/** @nocollapse */ /** @nocollapse */ VdLayoutCardOverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutCardOverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14343
|
-
/** @nocollapse */ /** @nocollapse */ VdLayoutCardOverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdLayoutCardOverComponent, selector: "vd-layout-card-over", inputs: { cardTitle: "cardTitle", cardSubtitle: "cardSubtitle", cardWidth: "cardWidth", color: "color" }, ngImport: i0, template: "<mat-toolbar [color]=\"color\"></mat-toolbar>\r\n<div class=\"vd-layout-card-over-wrapper\">\r\n\t<div class=\"vd-layout-card-over\" [style.max-width.%]=\"cardWidth\" [style.flex]=\"'1 1 ' + cardWidth + '%'\" [style.-ms-flex]=\"'1 1 ' + cardWidth + '%'\"\r\n\t [style.-webkit-box-flex]=\"1\">\r\n\t\t<mat-card>\r\n\t\t\t<mat-card-title *ngIf=\"cardTitle\">{{cardTitle}}</mat-card-title>\r\n\t\t\t<mat-card-subtitle *ngIf=\"cardSubtitle\">{{cardSubtitle}}</mat-card-subtitle>\r\n\t\t\t<mat-divider *ngIf=\"cardTitle || cardSubtitle\"></mat-divider>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</mat-card>\r\n\t\t<ng-content select=\"[vd-after-card]\"></ng-content>\r\n\t</div>\r\n</div>", styles: [":host{position:relative;display:block;z-index:2;width:100%;min-height:100%;height:100%}:host [vd-after-card]{display:block}.vd-layout-card-over-wrapper{margin:-64px 0;width:100%;min-height:100%;height:100%}@media (min-width: 960px){.vd-layout-card-over-wrapper{flex-direction:row;box-sizing:border-box;display:flex;align-items:flex-start;align-content:flex-start;justify-content:center}.vd-layout-card-over-wrapper .vd-layout-card-over{max-height:100%;box-sizing:border-box}}@media (max-width: 959px){.vd-layout-card-over-wrapper .vd-layout-card-over{max-width:100%!important}}\n"], components: [{ type:
|
|
14517
|
+
/** @nocollapse */ /** @nocollapse */ VdLayoutCardOverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdLayoutCardOverComponent, selector: "vd-layout-card-over", inputs: { cardTitle: "cardTitle", cardSubtitle: "cardSubtitle", cardWidth: "cardWidth", color: "color" }, ngImport: i0, template: "<mat-toolbar [color]=\"color\"></mat-toolbar>\r\n<div class=\"vd-layout-card-over-wrapper\">\r\n\t<div class=\"vd-layout-card-over\" [style.max-width.%]=\"cardWidth\" [style.flex]=\"'1 1 ' + cardWidth + '%'\" [style.-ms-flex]=\"'1 1 ' + cardWidth + '%'\"\r\n\t [style.-webkit-box-flex]=\"1\">\r\n\t\t<mat-card>\r\n\t\t\t<mat-card-title *ngIf=\"cardTitle\">{{cardTitle}}</mat-card-title>\r\n\t\t\t<mat-card-subtitle *ngIf=\"cardSubtitle\">{{cardSubtitle}}</mat-card-subtitle>\r\n\t\t\t<mat-divider *ngIf=\"cardTitle || cardSubtitle\"></mat-divider>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</mat-card>\r\n\t\t<ng-content select=\"[vd-after-card]\"></ng-content>\r\n\t</div>\r\n</div>", styles: [":host{position:relative;display:block;z-index:2;width:100%;min-height:100%;height:100%}:host [vd-after-card]{display:block}.vd-layout-card-over-wrapper{margin:-64px 0;width:100%;min-height:100%;height:100%}@media (min-width: 960px){.vd-layout-card-over-wrapper{flex-direction:row;box-sizing:border-box;display:flex;align-items:flex-start;align-content:flex-start;justify-content:center}.vd-layout-card-over-wrapper .vd-layout-card-over{max-height:100%;box-sizing:border-box}}@media (max-width: 959px){.vd-layout-card-over-wrapper .vd-layout-card-over{max-width:100%!important}}\n"], components: [{ type: i3$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i2$4.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i3$3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i2$4.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }] });
|
|
14344
14518
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutCardOverComponent, decorators: [{
|
|
14345
14519
|
type: Component,
|
|
14346
14520
|
args: [{ selector: 'vd-layout-card-over', template: "<mat-toolbar [color]=\"color\"></mat-toolbar>\r\n<div class=\"vd-layout-card-over-wrapper\">\r\n\t<div class=\"vd-layout-card-over\" [style.max-width.%]=\"cardWidth\" [style.flex]=\"'1 1 ' + cardWidth + '%'\" [style.-ms-flex]=\"'1 1 ' + cardWidth + '%'\"\r\n\t [style.-webkit-box-flex]=\"1\">\r\n\t\t<mat-card>\r\n\t\t\t<mat-card-title *ngIf=\"cardTitle\">{{cardTitle}}</mat-card-title>\r\n\t\t\t<mat-card-subtitle *ngIf=\"cardSubtitle\">{{cardSubtitle}}</mat-card-subtitle>\r\n\t\t\t<mat-divider *ngIf=\"cardTitle || cardSubtitle\"></mat-divider>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</mat-card>\r\n\t\t<ng-content select=\"[vd-after-card]\"></ng-content>\r\n\t</div>\r\n</div>", styles: [":host{position:relative;display:block;z-index:2;width:100%;min-height:100%;height:100%}:host [vd-after-card]{display:block}.vd-layout-card-over-wrapper{margin:-64px 0;width:100%;min-height:100%;height:100%}@media (min-width: 960px){.vd-layout-card-over-wrapper{flex-direction:row;box-sizing:border-box;display:flex;align-items:flex-start;align-content:flex-start;justify-content:center}.vd-layout-card-over-wrapper .vd-layout-card-over{max-height:100%;box-sizing:border-box}}@media (max-width: 959px){.vd-layout-card-over-wrapper .vd-layout-card-over{max-width:100%!important}}\n"] }]
|
|
@@ -14396,6 +14570,11 @@ class VdLayoutManageListComponent {
|
|
|
14396
14570
|
*/
|
|
14397
14571
|
constructor(media) {
|
|
14398
14572
|
this.media = media;
|
|
14573
|
+
/**
|
|
14574
|
+
* closable: boolean
|
|
14575
|
+
* If false, hide close button
|
|
14576
|
+
*/
|
|
14577
|
+
this.closable = true;
|
|
14399
14578
|
/**
|
|
14400
14579
|
* mode?: 'side', 'push' or 'over'
|
|
14401
14580
|
*
|
|
@@ -14446,9 +14625,7 @@ class VdLayoutManageListComponent {
|
|
|
14446
14625
|
* Checks if `ESC` should close the sidenav
|
|
14447
14626
|
* Should only close it for `push` and `over` modes
|
|
14448
14627
|
*/
|
|
14449
|
-
get disableClose() {
|
|
14450
|
-
return this.mode === 'side';
|
|
14451
|
-
}
|
|
14628
|
+
get disableClose() { return this.mode === 'side'; }
|
|
14452
14629
|
/**
|
|
14453
14630
|
* Lifecycle hook that is called after data-bound properties
|
|
14454
14631
|
* of a directive are initialized.
|
|
@@ -14467,48 +14644,42 @@ class VdLayoutManageListComponent {
|
|
|
14467
14644
|
/**
|
|
14468
14645
|
* Proxy toggle method to access sidenav from outside (from vd-layout template).
|
|
14469
14646
|
*/
|
|
14470
|
-
toggle() {
|
|
14471
|
-
return this.sidenav.toggle(!this.sidenav.opened);
|
|
14472
|
-
}
|
|
14647
|
+
toggle() { return this.sidenav.toggle(!this.sidenav.opened); }
|
|
14473
14648
|
/**
|
|
14474
14649
|
* Proxy open method to access sidenav from outside (from vd-layout template).
|
|
14475
14650
|
*/
|
|
14476
|
-
open() {
|
|
14477
|
-
return this.sidenav.open();
|
|
14478
|
-
}
|
|
14651
|
+
open() { return this.sidenav.open(); }
|
|
14479
14652
|
/**
|
|
14480
14653
|
* Proxy close method to access sidenav from outside (from vd-layout template).
|
|
14481
14654
|
*/
|
|
14482
|
-
close() {
|
|
14483
|
-
return this.sidenav.close();
|
|
14484
|
-
}
|
|
14655
|
+
close() { return this.sidenav.close(); }
|
|
14485
14656
|
}
|
|
14486
14657
|
/** @nocollapse */ /** @nocollapse */ VdLayoutManageListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutManageListComponent, deps: [{ token: VdMediaService }], target: i0.ɵɵFactoryTarget.Component });
|
|
14487
|
-
/** @nocollapse */ /** @nocollapse */ VdLayoutManageListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdLayoutManageListComponent, selector: "vd-layout-manage-list", inputs: { mode: "mode", sideGt: "sideGt", opened: "opened", openedGt: "openedGt", sidenavWidth: "sidenavWidth", sidenavGtXsWidth: "sidenavGtXsWidth" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\"
|
|
14658
|
+
/** @nocollapse */ /** @nocollapse */ VdLayoutManageListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdLayoutManageListComponent, selector: "vd-layout-manage-list", inputs: { title: "title", closable: "closable", menuItems: "menuItems", mode: "mode", sideGt: "sideGt", opened: "opened", openedGt: "openedGt", sidenavWidth: "sidenavWidth", sidenavGtXsWidth: "sidenavGtXsWidth" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<!-- #region Side nav -->\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\">\r\n\t\t<!-- #region Nav list toolbar -->\r\n\t\t<mat-toolbar dense *ngIf=\"title\">\r\n\t\t\t<span>{{title}}</span>\r\n\t\t\t<span flex></span>\r\n\t\t\t<button mat-icon-button (click)=\"close()\" *ngIf=\"closable\">\r\n\t\t\t\t<mat-icon>arrow_back</mat-icon>\r\n\t\t\t</button>\r\n\t\t</mat-toolbar>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom title toolbar -->\r\n\t\t<ng-content select=\"mat-toolbar[vd-sidenav-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<div class=\"vd-layout-manage-list-sidenav\" cdkScrollable>\r\n\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t<ng-content select=\"vd-menu\"></ng-content>\r\n\t\t\t<vd-menu [items]=\"menuItems\" *ngIf=\"menuItems\"></vd-menu>\r\n\t\t</div>\r\n\t</mat-sidenav>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Main content -->\r\n\t<div class=\"vd-layout-manage-list-main\">\r\n\t\t<!-- #region Toolbar projection -->\r\n\t\t<ng-content select=\"mat-toolbar\"></ng-content>\r\n\t\t<ng-content select=\"vd-list-toolbar\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Scrollable content -->\r\n\t\t<div class=\"vd-layout-manage-list-content\" cdkScrollable>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Footer content -->\r\n\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</div>\r\n\t<!-- #endregion -->\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list{flex:1}:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opened,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opening,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closed,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host .vd-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .vd-layout-manage-list-main .vd-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}:host ::ng-deep mat-nav-list a[mat-list-item] .mat-list-item-content{font-size:14px}:host ::ng-deep .mat-toolbar{font-weight:400}\n"], components: [{ type: i2$5.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i2$5.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i3$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: VdMenuComponent, selector: "vd-menu", inputs: ["items", "activeExact", "avatar"], outputs: ["click"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }] });
|
|
14488
14659
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutManageListComponent, decorators: [{
|
|
14489
14660
|
type: Component,
|
|
14490
|
-
args: [{ selector: 'vd-layout-manage-list', template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\"
|
|
14661
|
+
args: [{ selector: 'vd-layout-manage-list', template: "<mat-sidenav-container fullscreen class=\"vd-layout-manage-list\">\r\n\t<!-- #region Side nav -->\r\n\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\">\r\n\t\t<!-- #region Nav list toolbar -->\r\n\t\t<mat-toolbar dense *ngIf=\"title\">\r\n\t\t\t<span>{{title}}</span>\r\n\t\t\t<span flex></span>\r\n\t\t\t<button mat-icon-button (click)=\"close()\" *ngIf=\"closable\">\r\n\t\t\t\t<mat-icon>arrow_back</mat-icon>\r\n\t\t\t</button>\r\n\t\t</mat-toolbar>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom title toolbar -->\r\n\t\t<ng-content select=\"mat-toolbar[vd-sidenav-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<div class=\"vd-layout-manage-list-sidenav\" cdkScrollable>\r\n\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t<ng-content select=\"vd-menu\"></ng-content>\r\n\t\t\t<vd-menu [items]=\"menuItems\" *ngIf=\"menuItems\"></vd-menu>\r\n\t\t</div>\r\n\t</mat-sidenav>\r\n\t<!-- #endregion -->\r\n\r\n\t<!-- #region Main content -->\r\n\t<div class=\"vd-layout-manage-list-main\">\r\n\t\t<!-- #region Toolbar projection -->\r\n\t\t<ng-content select=\"mat-toolbar\"></ng-content>\r\n\t\t<ng-content select=\"vd-list-toolbar\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Scrollable content -->\r\n\t\t<div class=\"vd-layout-manage-list-content\" cdkScrollable>\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Footer content -->\r\n\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</div>\r\n\t<!-- #endregion -->\r\n</mat-sidenav-container>", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.vd-layout-manage-list{flex:1}:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opened,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-opening,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closed,:host mat-sidenav-container.vd-layout-manage-list>mat-sidenav.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host .vd-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .vd-layout-manage-list-main .vd-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-manage-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}:host ::ng-deep mat-nav-list a[mat-list-item] .mat-list-item-content{font-size:14px}:host ::ng-deep .mat-toolbar{font-weight:400}\n"] }]
|
|
14491
14662
|
}], ctorParameters: function () { return [{ type: VdMediaService }]; }, propDecorators: { sidenav: [{
|
|
14492
14663
|
type: ViewChild,
|
|
14493
14664
|
args: [MatSidenav, { static: true }]
|
|
14665
|
+
}], title: [{
|
|
14666
|
+
type: Input
|
|
14667
|
+
}], closable: [{
|
|
14668
|
+
type: Input
|
|
14669
|
+
}], menuItems: [{
|
|
14670
|
+
type: Input
|
|
14494
14671
|
}], mode: [{
|
|
14495
|
-
type: Input
|
|
14496
|
-
args: ['mode']
|
|
14672
|
+
type: Input
|
|
14497
14673
|
}], sideGt: [{
|
|
14498
|
-
type: Input
|
|
14499
|
-
args: ['sideGt']
|
|
14674
|
+
type: Input
|
|
14500
14675
|
}], opened: [{
|
|
14501
|
-
type: Input
|
|
14502
|
-
args: ['opened']
|
|
14676
|
+
type: Input
|
|
14503
14677
|
}], openedGt: [{
|
|
14504
|
-
type: Input
|
|
14505
|
-
args: ['openedGt']
|
|
14678
|
+
type: Input
|
|
14506
14679
|
}], sidenavWidth: [{
|
|
14507
|
-
type: Input
|
|
14508
|
-
args: ['sidenavWidth']
|
|
14680
|
+
type: Input
|
|
14509
14681
|
}], sidenavGtXsWidth: [{
|
|
14510
|
-
type: Input
|
|
14511
|
-
args: ['sidenavGtXsWidth']
|
|
14682
|
+
type: Input
|
|
14512
14683
|
}] } });
|
|
14513
14684
|
|
|
14514
14685
|
class LayoutToggle {
|
|
@@ -14581,12 +14752,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
14581
14752
|
}] } });
|
|
14582
14753
|
|
|
14583
14754
|
class VdLayoutManageListToggleDirective extends LayoutToggle {
|
|
14755
|
+
/**
|
|
14756
|
+
* Constructor
|
|
14757
|
+
* @param layout
|
|
14758
|
+
* @param renderer
|
|
14759
|
+
* @param elementRef
|
|
14760
|
+
*/
|
|
14584
14761
|
constructor(layout, renderer, elementRef) {
|
|
14585
14762
|
super(layout, renderer, elementRef);
|
|
14586
14763
|
}
|
|
14764
|
+
/**
|
|
14765
|
+
* Sets vdLayoutManageListToggle
|
|
14766
|
+
*/
|
|
14587
14767
|
set vdLayoutManageListToggle(vdLayoutManageListToggle) {
|
|
14588
14768
|
this.disabled = !(vdLayoutManageListToggle === '' || vdLayoutManageListToggle);
|
|
14589
14769
|
}
|
|
14770
|
+
/**
|
|
14771
|
+
* Opens the list
|
|
14772
|
+
*/
|
|
14590
14773
|
onClick() {
|
|
14591
14774
|
this._layout.toggle();
|
|
14592
14775
|
}
|
|
@@ -14595,25 +14778,34 @@ class VdLayoutManageListToggleDirective extends LayoutToggle {
|
|
|
14595
14778
|
/** @nocollapse */ /** @nocollapse */ VdLayoutManageListToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: VdLayoutManageListToggleDirective, selector: "[vdLayoutManageListToggle]", inputs: { vdLayoutManageListToggle: "vdLayoutManageListToggle" }, usesInheritance: true, ngImport: i0 });
|
|
14596
14779
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutManageListToggleDirective, decorators: [{
|
|
14597
14780
|
type: Directive,
|
|
14598
|
-
args: [{
|
|
14599
|
-
selector: '[vdLayoutManageListToggle]',
|
|
14600
|
-
}]
|
|
14781
|
+
args: [{ selector: '[vdLayoutManageListToggle]' }]
|
|
14601
14782
|
}], ctorParameters: function () {
|
|
14602
14783
|
return [{ type: VdLayoutManageListComponent, decorators: [{
|
|
14603
14784
|
type: Inject,
|
|
14604
14785
|
args: [forwardRef(() => VdLayoutManageListComponent)]
|
|
14605
14786
|
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }];
|
|
14606
14787
|
}, propDecorators: { vdLayoutManageListToggle: [{
|
|
14607
|
-
type: Input
|
|
14608
|
-
args: ['vdLayoutManageListToggle']
|
|
14788
|
+
type: Input
|
|
14609
14789
|
}] } });
|
|
14610
14790
|
class VdLayoutManageListCloseDirective extends LayoutToggle {
|
|
14791
|
+
/**
|
|
14792
|
+
* Constructor
|
|
14793
|
+
* @param layout
|
|
14794
|
+
* @param renderer
|
|
14795
|
+
* @param elementRef
|
|
14796
|
+
*/
|
|
14611
14797
|
constructor(layout, renderer, elementRef) {
|
|
14612
14798
|
super(layout, renderer, elementRef);
|
|
14613
14799
|
}
|
|
14800
|
+
/**
|
|
14801
|
+
* Sets vdLayoutManageListClose
|
|
14802
|
+
*/
|
|
14614
14803
|
set vdLayoutManageListClose(vdLayoutManageListClose) {
|
|
14615
14804
|
this.disabled = !(vdLayoutManageListClose === '' || vdLayoutManageListClose);
|
|
14616
14805
|
}
|
|
14806
|
+
/**
|
|
14807
|
+
* Opens the list
|
|
14808
|
+
*/
|
|
14617
14809
|
onClick() {
|
|
14618
14810
|
this._layout.close();
|
|
14619
14811
|
}
|
|
@@ -14622,25 +14814,34 @@ class VdLayoutManageListCloseDirective extends LayoutToggle {
|
|
|
14622
14814
|
/** @nocollapse */ /** @nocollapse */ VdLayoutManageListCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: VdLayoutManageListCloseDirective, selector: "[vdLayoutManageListClose]", inputs: { vdLayoutManageListClose: "vdLayoutManageListClose" }, usesInheritance: true, ngImport: i0 });
|
|
14623
14815
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutManageListCloseDirective, decorators: [{
|
|
14624
14816
|
type: Directive,
|
|
14625
|
-
args: [{
|
|
14626
|
-
selector: '[vdLayoutManageListClose]',
|
|
14627
|
-
}]
|
|
14817
|
+
args: [{ selector: '[vdLayoutManageListClose]' }]
|
|
14628
14818
|
}], ctorParameters: function () {
|
|
14629
14819
|
return [{ type: VdLayoutManageListComponent, decorators: [{
|
|
14630
14820
|
type: Inject,
|
|
14631
14821
|
args: [forwardRef(() => VdLayoutManageListComponent)]
|
|
14632
14822
|
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }];
|
|
14633
14823
|
}, propDecorators: { vdLayoutManageListClose: [{
|
|
14634
|
-
type: Input
|
|
14635
|
-
args: ['vdLayoutManageListClose']
|
|
14824
|
+
type: Input
|
|
14636
14825
|
}] } });
|
|
14637
14826
|
class VdLayoutManageListOpenDirective extends LayoutToggle {
|
|
14827
|
+
/**
|
|
14828
|
+
* Constructor
|
|
14829
|
+
* @param layout
|
|
14830
|
+
* @param renderer
|
|
14831
|
+
* @param elementRef
|
|
14832
|
+
*/
|
|
14638
14833
|
constructor(layout, renderer, elementRef) {
|
|
14639
14834
|
super(layout, renderer, elementRef);
|
|
14640
14835
|
}
|
|
14836
|
+
/**
|
|
14837
|
+
* Sets vdLayoutManageListOpen
|
|
14838
|
+
*/
|
|
14641
14839
|
set vdLayoutManageListOpen(vdLayoutManageListOpen) {
|
|
14642
14840
|
this.disabled = !(vdLayoutManageListOpen === '' || vdLayoutManageListOpen);
|
|
14643
14841
|
}
|
|
14842
|
+
/**
|
|
14843
|
+
* Opens the list
|
|
14844
|
+
*/
|
|
14644
14845
|
onClick() {
|
|
14645
14846
|
this._layout.open();
|
|
14646
14847
|
}
|
|
@@ -14649,17 +14850,14 @@ class VdLayoutManageListOpenDirective extends LayoutToggle {
|
|
|
14649
14850
|
/** @nocollapse */ /** @nocollapse */ VdLayoutManageListOpenDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: VdLayoutManageListOpenDirective, selector: "[vdLayoutManageListOpen]", inputs: { vdLayoutManageListOpen: "vdLayoutManageListOpen" }, usesInheritance: true, ngImport: i0 });
|
|
14650
14851
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutManageListOpenDirective, decorators: [{
|
|
14651
14852
|
type: Directive,
|
|
14652
|
-
args: [{
|
|
14653
|
-
selector: '[vdLayoutManageListOpen]',
|
|
14654
|
-
}]
|
|
14853
|
+
args: [{ selector: '[vdLayoutManageListOpen]' }]
|
|
14655
14854
|
}], ctorParameters: function () {
|
|
14656
14855
|
return [{ type: VdLayoutManageListComponent, decorators: [{
|
|
14657
14856
|
type: Inject,
|
|
14658
14857
|
args: [forwardRef(() => VdLayoutManageListComponent)]
|
|
14659
14858
|
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }];
|
|
14660
14859
|
}, propDecorators: { vdLayoutManageListOpen: [{
|
|
14661
|
-
type: Input
|
|
14662
|
-
args: ['vdLayoutManageListOpen']
|
|
14860
|
+
type: Input
|
|
14663
14861
|
}] } });
|
|
14664
14862
|
|
|
14665
14863
|
class VdLayoutNavListComponent {
|
|
@@ -14740,7 +14938,7 @@ class VdLayoutNavListComponent {
|
|
|
14740
14938
|
}
|
|
14741
14939
|
}
|
|
14742
14940
|
/** @nocollapse */ /** @nocollapse */ VdLayoutNavListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutNavListComponent, deps: [{ token: i1$4.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
14743
|
-
/** @nocollapse */ /** @nocollapse */ VdLayoutNavListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdLayoutNavListComponent, selector: "vd-layout-nav-list", inputs: { toolbarTitle: "toolbarTitle", icon: "icon", logo: "logo", color: "color", mode: "mode", opened: "opened", sidenavWidth: "sidenavWidth", navigationRoute: "navigationRoute" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<div class=\"vd-layout-nav-list-wrapper\">\r\n\t<mat-sidenav-container fullscreen class=\"vd-layout-nav-list\">\r\n\t\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\"\r\n\t\t [style.min-width]=\"sidenavWidth\">\r\n\t\t\t<mat-toolbar [color]=\"color\">\r\n\t\t\t\t<ng-content select=\"[vd-menu-button]\"></ng-content>\r\n\t\t\t\t<span *ngIf=\"icon || logo || toolbarTitle\" class=\"vd-layout-nav-list-toolbar-content\" [class.cursor-pointer]=\"routerEnabled\"\r\n\t\t\t\t (click)=\"handleNavigationClick()\">\r\n\t\t\t\t\t<mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\r\n\t\t\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t\t\t<span *ngIf=\"toolbarTitle\">{{toolbarTitle}}</span>\r\n\t\t\t\t</span>\r\n\t\t\t\t<ng-content select=\"[vd-sidenav-toolbar-content]\"></ng-content>\r\n\t\t\t</mat-toolbar>\r\n\t\t\t<div class=\"vd-layout-nav-list-content\" cdkScrollable>\r\n\t\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</mat-sidenav>\r\n\t\t<div class=\"vd-layout-nav-list-main\">\r\n\t\t\t<mat-toolbar [color]=\"color\">\r\n\t\t\t\t<ng-content select=\"[vd-toolbar-content]\"></ng-content>\r\n\t\t\t</mat-toolbar>\r\n\t\t\t<div class=\"vd-layout-nav-list-content\" cdkScrollable>\r\n\t\t\t\t<ng-content></ng-content>\r\n\t\t\t</div>\r\n\t\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t</div>\r\n\t</mat-sidenav-container>\r\n</div>\r\n<ng-content select=\"vd-layout-footer\"></ng-content>", styles: [":host{margin:0;width:100%;min-height:100%;height:100%;overflow:hidden;flex-direction:column;box-sizing:border-box;display:flex;flex:1}:host .vd-layout-nav-list-wrapper{flex-direction:column;box-sizing:border-box;display:flex;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-content{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-main{flex-direction:column;box-sizing:border-box;display:flex;margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-main .vd-layout-nav-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list{flex:1}:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-opened,:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-opening,:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-closed,:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-closing{box-shadow:none}:host ::ng-deep mat-sidenav-container.vd-layout-nav-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-nav-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}\n"], components: [{ type: i2$5.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i2$5.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type:
|
|
14941
|
+
/** @nocollapse */ /** @nocollapse */ VdLayoutNavListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdLayoutNavListComponent, selector: "vd-layout-nav-list", inputs: { toolbarTitle: "toolbarTitle", icon: "icon", logo: "logo", color: "color", mode: "mode", opened: "opened", sidenavWidth: "sidenavWidth", navigationRoute: "navigationRoute" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<div class=\"vd-layout-nav-list-wrapper\">\r\n\t<mat-sidenav-container fullscreen class=\"vd-layout-nav-list\">\r\n\t\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\"\r\n\t\t [style.min-width]=\"sidenavWidth\">\r\n\t\t\t<mat-toolbar [color]=\"color\">\r\n\t\t\t\t<ng-content select=\"[vd-menu-button]\"></ng-content>\r\n\t\t\t\t<span *ngIf=\"icon || logo || toolbarTitle\" class=\"vd-layout-nav-list-toolbar-content\" [class.cursor-pointer]=\"routerEnabled\"\r\n\t\t\t\t (click)=\"handleNavigationClick()\">\r\n\t\t\t\t\t<mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\r\n\t\t\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t\t\t<span *ngIf=\"toolbarTitle\">{{toolbarTitle}}</span>\r\n\t\t\t\t</span>\r\n\t\t\t\t<ng-content select=\"[vd-sidenav-toolbar-content]\"></ng-content>\r\n\t\t\t</mat-toolbar>\r\n\t\t\t<div class=\"vd-layout-nav-list-content\" cdkScrollable>\r\n\t\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</mat-sidenav>\r\n\t\t<div class=\"vd-layout-nav-list-main\">\r\n\t\t\t<mat-toolbar [color]=\"color\">\r\n\t\t\t\t<ng-content select=\"[vd-toolbar-content]\"></ng-content>\r\n\t\t\t</mat-toolbar>\r\n\t\t\t<div class=\"vd-layout-nav-list-content\" cdkScrollable>\r\n\t\t\t\t<ng-content></ng-content>\r\n\t\t\t</div>\r\n\t\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t</div>\r\n\t</mat-sidenav-container>\r\n</div>\r\n<ng-content select=\"vd-layout-footer\"></ng-content>", styles: [":host{margin:0;width:100%;min-height:100%;height:100%;overflow:hidden;flex-direction:column;box-sizing:border-box;display:flex;flex:1}:host .vd-layout-nav-list-wrapper{flex-direction:column;box-sizing:border-box;display:flex;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-content{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-main{flex-direction:column;box-sizing:border-box;display:flex;margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-main .vd-layout-nav-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list{flex:1}:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-opened,:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-opening,:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-closed,:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-closing{box-shadow:none}:host ::ng-deep mat-sidenav-container.vd-layout-nav-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-nav-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}\n"], components: [{ type: i2$5.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i2$5.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i3$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }] });
|
|
14744
14942
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutNavListComponent, decorators: [{
|
|
14745
14943
|
type: Component,
|
|
14746
14944
|
args: [{ selector: 'vd-layout-nav-list', template: "<div class=\"vd-layout-nav-list-wrapper\">\r\n\t<mat-sidenav-container fullscreen class=\"vd-layout-nav-list\">\r\n\t\t<mat-sidenav #sidenav position=\"start\" [mode]=\"mode\" [opened]=\"opened\" [disableClose]=\"disableClose\" [style.max-width]=\"sidenavWidth\"\r\n\t\t [style.min-width]=\"sidenavWidth\">\r\n\t\t\t<mat-toolbar [color]=\"color\">\r\n\t\t\t\t<ng-content select=\"[vd-menu-button]\"></ng-content>\r\n\t\t\t\t<span *ngIf=\"icon || logo || toolbarTitle\" class=\"vd-layout-nav-list-toolbar-content\" [class.cursor-pointer]=\"routerEnabled\"\r\n\t\t\t\t (click)=\"handleNavigationClick()\">\r\n\t\t\t\t\t<mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\r\n\t\t\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t\t\t<span *ngIf=\"toolbarTitle\">{{toolbarTitle}}</span>\r\n\t\t\t\t</span>\r\n\t\t\t\t<ng-content select=\"[vd-sidenav-toolbar-content]\"></ng-content>\r\n\t\t\t</mat-toolbar>\r\n\t\t\t<div class=\"vd-layout-nav-list-content\" cdkScrollable>\r\n\t\t\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</mat-sidenav>\r\n\t\t<div class=\"vd-layout-nav-list-main\">\r\n\t\t\t<mat-toolbar [color]=\"color\">\r\n\t\t\t\t<ng-content select=\"[vd-toolbar-content]\"></ng-content>\r\n\t\t\t</mat-toolbar>\r\n\t\t\t<div class=\"vd-layout-nav-list-content\" cdkScrollable>\r\n\t\t\t\t<ng-content></ng-content>\r\n\t\t\t</div>\r\n\t\t\t<ng-content select=\"vd-layout-footer-inner\"></ng-content>\r\n\t\t</div>\r\n\t</mat-sidenav-container>\r\n</div>\r\n<ng-content select=\"vd-layout-footer\"></ng-content>", styles: [":host{margin:0;width:100%;min-height:100%;height:100%;overflow:hidden;flex-direction:column;box-sizing:border-box;display:flex;flex:1}:host .vd-layout-nav-list-wrapper{flex-direction:column;box-sizing:border-box;display:flex;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-content{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-main{flex-direction:column;box-sizing:border-box;display:flex;margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto}:host .vd-layout-nav-list-wrapper .vd-layout-nav-list-main .vd-layout-nav-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list{flex:1}:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-opened,:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-opening,:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-closed,:host .vd-layout-nav-list-wrapper mat-sidenav-container.vd-layout-nav-list>mat-sidenav.mat-drawer-closing{box-shadow:none}:host ::ng-deep mat-sidenav-container.vd-layout-nav-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.vd-layout-nav-list>mat-sidenav{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}\n"] }]
|
|
@@ -15034,6 +15232,12 @@ class VdLayoutNavComponent {
|
|
|
15034
15232
|
* If [color] is not set, primary is used.
|
|
15035
15233
|
*/
|
|
15036
15234
|
this.color = 'primary';
|
|
15235
|
+
/**
|
|
15236
|
+
* hideToggle?: boolean
|
|
15237
|
+
*
|
|
15238
|
+
* Hides toggle button
|
|
15239
|
+
*/
|
|
15240
|
+
this.hideToggle = false;
|
|
15037
15241
|
}
|
|
15038
15242
|
/**
|
|
15039
15243
|
* Checks if router was injected.
|
|
@@ -15062,10 +15266,10 @@ class VdLayoutNavComponent {
|
|
|
15062
15266
|
}
|
|
15063
15267
|
}
|
|
15064
15268
|
/** @nocollapse */ /** @nocollapse */ VdLayoutNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutNavComponent, deps: [{ token: i1$4.Router, optional: true }, { token: i1$4.ActivatedRoute, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
15065
|
-
/** @nocollapse */ /** @nocollapse */ VdLayoutNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdLayoutNavComponent, selector: "vd-layout-nav", inputs: { toolbarTitle: "toolbarTitle", icon: "icon", logo: "logo", color: "color",
|
|
15269
|
+
/** @nocollapse */ /** @nocollapse */ VdLayoutNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdLayoutNavComponent, selector: "vd-layout-nav", inputs: { toolbarTitle: "toolbarTitle", icon: "icon", logo: "logo", color: "color", hideToggle: "hideToggle", backNavigationRoute: "backNavigationRoute", navigationRoute: "navigationRoute" }, ngImport: i0, template: "<div class=\"vd-layout-nav-wrapper\">\r\n\t<mat-toolbar [color]=\"color\">\r\n\t\t<!-- #region Toggle buton -->\r\n\t\t<button mat-icon-button vd-menu-button vdLayoutToggle *ngIf=\"!hideToggle\">\r\n\t\t\t<mat-icon>menu</mat-icon>\r\n\t\t</button>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Back button -->\r\n\t\t<button mat-icon-button vd-menu-button *ngIf=\"backNavigationRouteEnabled\" (click)=\"handleBackNavigationClick()\">\r\n\t\t\t<mat-icon>arrow_back</mat-icon>\r\n\t\t</button>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom buttons -->\r\n\t\t<ng-content select=\"[vd-menu-button]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Logo with home link -->\r\n\t\t<span *ngIf=\"icon || logo || toolbarTitle\" [class.cursor-pointer]=\"routerEnabled\" (click)=\"handleNavigationClick()\" class=\"vd-layout-nav-toolbar-content\">\r\n\t\t\t<mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\r\n\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t<span *ngIf=\"toolbarTitle\">{{toolbarTitle}}</span>\r\n\t\t</span>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom content -->\r\n\t\t<ng-content select=\"[vd-toolbar-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<span flex></span>\r\n\r\n\t\t<!-- #region Custom right content -->\r\n\t\t<ng-content select=\"[vd-toolbar-content-right]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</mat-toolbar>\r\n\t<div class=\"vd-layout-nav-content\" cdkScrollable>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n\t<ng-content select=\"vd-layout-footer\"></ng-content>\r\n</div>", styles: [".vd-menu-button{margin-left:0}::ng-deep [dir=rtl] .vd-menu-button{margin-right:0;margin-left:6px}:host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host .vd-layout-nav-wrapper{flex-direction:column;box-sizing:border-box;display:flex;margin:0;width:100%;min-height:100%;height:100%}:host .vd-layout-nav-wrapper .vd-layout-nav-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host .vd-layout-nav-wrapper .vd-layout-nav-content{flex-direction:column;box-sizing:border-box;display:flex;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}\n"], components: [{ type: i3$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: VdLayoutToggleDirective, selector: "[vdLayoutToggle]", inputs: ["vdLayoutToggle"] }, { type: i8.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }] });
|
|
15066
15270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutNavComponent, decorators: [{
|
|
15067
15271
|
type: Component,
|
|
15068
|
-
args: [{ selector: 'vd-layout-nav', template: "<div class=\"vd-layout-nav-wrapper\">\r\n\t<mat-toolbar [color]=\"color\">\r\n\t\t<!-- #region Toggle buton -->\r\n\t\t<button mat-icon-button vd-menu-button vdLayoutToggle *ngIf=\"
|
|
15272
|
+
args: [{ selector: 'vd-layout-nav', template: "<div class=\"vd-layout-nav-wrapper\">\r\n\t<mat-toolbar [color]=\"color\">\r\n\t\t<!-- #region Toggle buton -->\r\n\t\t<button mat-icon-button vd-menu-button vdLayoutToggle *ngIf=\"!hideToggle\">\r\n\t\t\t<mat-icon>menu</mat-icon>\r\n\t\t</button>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Back button -->\r\n\t\t<button mat-icon-button vd-menu-button *ngIf=\"backNavigationRouteEnabled\" (click)=\"handleBackNavigationClick()\">\r\n\t\t\t<mat-icon>arrow_back</mat-icon>\r\n\t\t</button>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom buttons -->\r\n\t\t<ng-content select=\"[vd-menu-button]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Logo with home link -->\r\n\t\t<span *ngIf=\"icon || logo || toolbarTitle\" [class.cursor-pointer]=\"routerEnabled\" (click)=\"handleNavigationClick()\" class=\"vd-layout-nav-toolbar-content\">\r\n\t\t\t<mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\r\n\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t<span *ngIf=\"toolbarTitle\">{{toolbarTitle}}</span>\r\n\t\t</span>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<!-- #region Custom content -->\r\n\t\t<ng-content select=\"[vd-toolbar-content]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\r\n\t\t<span flex></span>\r\n\r\n\t\t<!-- #region Custom right content -->\r\n\t\t<ng-content select=\"[vd-toolbar-content-right]\"></ng-content>\r\n\t\t<!-- #endregion -->\r\n\t</mat-toolbar>\r\n\t<div class=\"vd-layout-nav-content\" cdkScrollable>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n\t<ng-content select=\"vd-layout-footer\"></ng-content>\r\n</div>", styles: [".vd-menu-button{margin-left:0}::ng-deep [dir=rtl] .vd-menu-button{margin-right:0;margin-left:6px}:host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host .vd-layout-nav-wrapper{flex-direction:column;box-sizing:border-box;display:flex;margin:0;width:100%;min-height:100%;height:100%}:host .vd-layout-nav-wrapper .vd-layout-nav-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host .vd-layout-nav-wrapper .vd-layout-nav-content{flex-direction:column;box-sizing:border-box;display:flex;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}\n"] }]
|
|
15069
15273
|
}], ctorParameters: function () {
|
|
15070
15274
|
return [{ type: i1$4.Router, decorators: [{
|
|
15071
15275
|
type: Optional
|
|
@@ -15080,7 +15284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
15080
15284
|
type: Input
|
|
15081
15285
|
}], color: [{
|
|
15082
15286
|
type: Input
|
|
15083
|
-
}],
|
|
15287
|
+
}], hideToggle: [{
|
|
15084
15288
|
type: Input
|
|
15085
15289
|
}], backNavigationRoute: [{
|
|
15086
15290
|
type: Input
|
|
@@ -15091,7 +15295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
15091
15295
|
class VdListToolbarMenuComponent {
|
|
15092
15296
|
}
|
|
15093
15297
|
/** @nocollapse */ /** @nocollapse */ VdListToolbarMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdListToolbarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15094
|
-
/** @nocollapse */ /** @nocollapse */ VdListToolbarMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdListToolbarMenuComponent, selector: "vd-list-toolbar-menu", inputs: { menuItems: "menuItems" }, ngImport: i0, template: "<div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button [mat-menu-trigger-for]=\"toolbarMenu\" *ngIf=\"menuItems?.length\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu x-position=\"before\" #toolbarMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuItem of menuItems\">\r\n <ng-container *ngIf=\"!menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuItem.event?menuItem.event():null\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"menuItem.subItems\">\r\n <mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuSubItem of menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuSubItem.event?menuSubItem.event():null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide()\" [disabled]=\"menuSubItem.disable && menuSubItem.disable()\">\r\n <mat-icon fontSet=\"{{menuSubItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuSubItem.iconClass\">{{menuSubItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuSubItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n <button type=\"button\" mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </mat-menu>\r\n</div>", components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type:
|
|
15298
|
+
/** @nocollapse */ /** @nocollapse */ VdListToolbarMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdListToolbarMenuComponent, selector: "vd-list-toolbar-menu", inputs: { menuItems: "menuItems" }, ngImport: i0, template: "<div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button [mat-menu-trigger-for]=\"toolbarMenu\" *ngIf=\"menuItems?.length\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu x-position=\"before\" #toolbarMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuItem of menuItems\">\r\n <ng-container *ngIf=\"!menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuItem.event?menuItem.event():null\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"menuItem.subItems\">\r\n <mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuSubItem of menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuSubItem.event?menuSubItem.event():null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide()\" [disabled]=\"menuSubItem.disable && menuSubItem.disable()\">\r\n <mat-icon fontSet=\"{{menuSubItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuSubItem.iconClass\">{{menuSubItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuSubItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n <button type=\"button\" mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </mat-menu>\r\n</div>", components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
15095
15299
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdListToolbarMenuComponent, decorators: [{
|
|
15096
15300
|
type: Component,
|
|
15097
15301
|
args: [{ selector: 'vd-list-toolbar-menu', template: "<div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button [mat-menu-trigger-for]=\"toolbarMenu\" *ngIf=\"menuItems?.length\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu x-position=\"before\" #toolbarMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuItem of menuItems\">\r\n <ng-container *ngIf=\"!menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuItem.event?menuItem.event():null\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"menuItem.subItems\">\r\n <mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuSubItem of menuItem.subItems\">\r\n <button type=\"button\" mat-menu-item (click)=\"menuSubItem.event?menuSubItem.event():null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide()\" [disabled]=\"menuSubItem.disable && menuSubItem.disable()\">\r\n <mat-icon fontSet=\"{{menuSubItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuSubItem.iconClass\">{{menuSubItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuSubItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n <button type=\"button\" mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide()\" [disabled]=\"menuItem.disable && menuItem.disable()\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-icons-outlined'}}\" [class]=\"menuItem.iconClass\">{{menuItem.icon || 'radio_button_unchecked'}}</mat-icon>\r\n <span>{{menuItem.title}}</span>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </mat-menu>\r\n</div>" }]
|
|
@@ -15102,7 +15306,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
15102
15306
|
class VdListToolbarComponent {
|
|
15103
15307
|
}
|
|
15104
15308
|
/** @nocollapse */ /** @nocollapse */ VdListToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdListToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15105
|
-
/** @nocollapse */ /** @nocollapse */ VdListToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdListToolbarComponent, selector: "vd-list-toolbar", inputs: { dataSource: "dataSource", subtitle: "subtitle", menuItems: "menuItems" }, ngImport: i0, template: "<mat-toolbar dense>\r\n <div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button vdLayoutManageListOpen [hideWhenOpened]=\"true\">\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <span>{{subtitle}}</span>\r\n <span flex></span>\r\n <button mat-icon-button (click)=\"dataSource.reload()\" *ngIf=\"dataSource\">\r\n <mat-icon>sync</mat-icon>\r\n </button>\r\n <vd-list-toolbar-menu [menuItems]=\"menuItems\"></vd-list-toolbar-menu>\r\n </div>\r\n</mat-toolbar>", components: [{ type:
|
|
15309
|
+
/** @nocollapse */ /** @nocollapse */ VdListToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdListToolbarComponent, selector: "vd-list-toolbar", inputs: { dataSource: "dataSource", subtitle: "subtitle", menuItems: "menuItems" }, ngImport: i0, template: "<mat-toolbar dense>\r\n <div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button vdLayoutManageListOpen [hideWhenOpened]=\"true\">\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <span>{{subtitle}}</span>\r\n <span flex></span>\r\n <button mat-icon-button (click)=\"dataSource.reload()\" *ngIf=\"dataSource\">\r\n <mat-icon>sync</mat-icon>\r\n </button>\r\n <vd-list-toolbar-menu [menuItems]=\"menuItems\"></vd-list-toolbar-menu>\r\n </div>\r\n</mat-toolbar>", components: [{ type: i3$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: VdListToolbarMenuComponent, selector: "vd-list-toolbar-menu", inputs: ["menuItems"] }], directives: [{ type: VdLayoutManageListOpenDirective, selector: "[vdLayoutManageListOpen]", inputs: ["vdLayoutManageListOpen"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
15106
15310
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdListToolbarComponent, decorators: [{
|
|
15107
15311
|
type: Component,
|
|
15108
15312
|
args: [{ selector: 'vd-list-toolbar', template: "<mat-toolbar dense>\r\n <div layout=\"row\" layout-align=\"start center\" flex>\r\n <button mat-icon-button vdLayoutManageListOpen [hideWhenOpened]=\"true\">\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <span>{{subtitle}}</span>\r\n <span flex></span>\r\n <button mat-icon-button (click)=\"dataSource.reload()\" *ngIf=\"dataSource\">\r\n <mat-icon>sync</mat-icon>\r\n </button>\r\n <vd-list-toolbar-menu [menuItems]=\"menuItems\"></vd-list-toolbar-menu>\r\n </div>\r\n</mat-toolbar>" }]
|
|
@@ -15270,7 +15474,7 @@ class VdNavigationDrawerComponent {
|
|
|
15270
15474
|
}
|
|
15271
15475
|
}
|
|
15272
15476
|
/** @nocollapse */ /** @nocollapse */ VdNavigationDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdNavigationDrawerComponent, deps: [{ token: forwardRef(() => VdLayoutComponent) }, { token: i1$4.Router, optional: true }, { token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
15273
|
-
/** @nocollapse */ /** @nocollapse */ VdNavigationDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdNavigationDrawerComponent, selector: "vd-navigation-drawer", inputs: { sidenavTitle: "sidenavTitle", icon: "icon", logo: "logo", color: "color", navigationRoute: "navigationRoute", backgroundUrl: "backgroundUrl", name: "name", email: "email" }, queries: [{ propertyName: "_drawerMenu", predicate: VdNavigationDrawerMenuDirective }, { propertyName: "_toolbar", predicate: VdNavigationDrawerToolbarDirective }], ngImport: i0, template: "<mat-toolbar [color]=\"color\" [style.background-image]=\"backgroundImage\" [class.vd-toolbar-background]=\"!!isBackgroundAvailable\"\r\n class=\"vd-nagivation-drawer-toolbar\">\r\n\t<ng-content select=\"[vd-navigation-drawer-toolbar]\"></ng-content>\r\n\t<ng-container *ngIf=\"!isCustomToolbar\">\r\n\t\t<div *ngIf=\"icon || logo || sidenavTitle\" class=\"vd-navigation-drawer-toolbar-content\" [class.cursor-pointer]=\"routerEnabled\"\r\n\t\t (click)=\"handleNavigationClick()\">\r\n\t\t\t<mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\r\n\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t<span *ngIf=\"sidenavTitle\" class=\"vd-navigation-drawer-title\">{{sidenavTitle}}</span>\r\n\t\t</div>\r\n\t\t<div class=\"vd-navigation-drawer-name\" *ngIf=\"email && name\">{{name}}</div>\r\n\t\t<div class=\"vd-navigation-drawer-menu-toggle\" href *ngIf=\"email || name\" (click)=\"toggleMenu()\">\r\n\t\t\t<span class=\"vd-navigation-drawer-label\">{{email || name}}</span>\r\n\t\t\t<button mat-icon-button class=\"vd-navigation-drawer-menu-button\" *ngIf=\"isMenuAvailable\">\r\n\t\t\t\t<mat-icon *ngIf=\"!menuToggled\">arrow_drop_down</mat-icon>\r\n\t\t\t\t<mat-icon *ngIf=\"menuToggled\">arrow_drop_up</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</ng-container>\r\n</mat-toolbar>\r\n<div class=\"vd-navigation-drawer-content\" [@vdCollapse]=\"menuToggled\">\r\n\t<ng-content></ng-content>\r\n</div>\r\n<div class=\"vd-navigation-drawer-menu-content\" [@vdCollapse]=\"!menuToggled\">\r\n\t<ng-content select=\"[vd-navigation-drawer-menu]\"></ng-content>\r\n</div>", styles: [":host{width:100%}:host .vd-navigation-drawer-content.ng-animating,:host .vd-navigation-drawer-menu-content.ng-animating{overflow:hidden}:host mat-toolbar{padding:16px}:host mat-toolbar.vd-toolbar-background{background-repeat:no-repeat;background-size:cover}:host mat-toolbar.vd-nagivation-drawer-toolbar{flex-direction:column;height:auto!important;display:block!important}:host mat-toolbar .vd-navigation-drawer-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host mat-toolbar .vd-navigation-drawer-menu-toggle{flex-direction:row;box-sizing:border-box;display:flex}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-label{flex:1}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-menu-button{height:24px;line-height:24px;width:24px}:host>div{overflow:hidden}\n"], components: [{ type:
|
|
15477
|
+
/** @nocollapse */ /** @nocollapse */ VdNavigationDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdNavigationDrawerComponent, selector: "vd-navigation-drawer", inputs: { sidenavTitle: "sidenavTitle", icon: "icon", logo: "logo", color: "color", navigationRoute: "navigationRoute", backgroundUrl: "backgroundUrl", name: "name", email: "email" }, queries: [{ propertyName: "_drawerMenu", predicate: VdNavigationDrawerMenuDirective }, { propertyName: "_toolbar", predicate: VdNavigationDrawerToolbarDirective }], ngImport: i0, template: "<mat-toolbar [color]=\"color\" [style.background-image]=\"backgroundImage\" [class.vd-toolbar-background]=\"!!isBackgroundAvailable\"\r\n class=\"vd-nagivation-drawer-toolbar\">\r\n\t<ng-content select=\"[vd-navigation-drawer-toolbar]\"></ng-content>\r\n\t<ng-container *ngIf=\"!isCustomToolbar\">\r\n\t\t<div *ngIf=\"icon || logo || sidenavTitle\" class=\"vd-navigation-drawer-toolbar-content\" [class.cursor-pointer]=\"routerEnabled\"\r\n\t\t (click)=\"handleNavigationClick()\">\r\n\t\t\t<mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\r\n\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t<span *ngIf=\"sidenavTitle\" class=\"vd-navigation-drawer-title\">{{sidenavTitle}}</span>\r\n\t\t</div>\r\n\t\t<div class=\"vd-navigation-drawer-name\" *ngIf=\"email && name\">{{name}}</div>\r\n\t\t<div class=\"vd-navigation-drawer-menu-toggle\" href *ngIf=\"email || name\" (click)=\"toggleMenu()\">\r\n\t\t\t<span class=\"vd-navigation-drawer-label\">{{email || name}}</span>\r\n\t\t\t<button mat-icon-button class=\"vd-navigation-drawer-menu-button\" *ngIf=\"isMenuAvailable\">\r\n\t\t\t\t<mat-icon *ngIf=\"!menuToggled\">arrow_drop_down</mat-icon>\r\n\t\t\t\t<mat-icon *ngIf=\"menuToggled\">arrow_drop_up</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</ng-container>\r\n</mat-toolbar>\r\n<div class=\"vd-navigation-drawer-content\" [@vdCollapse]=\"menuToggled\">\r\n\t<ng-content></ng-content>\r\n</div>\r\n<div class=\"vd-navigation-drawer-menu-content\" [@vdCollapse]=\"!menuToggled\">\r\n\t<ng-content select=\"[vd-navigation-drawer-menu]\"></ng-content>\r\n</div>", styles: [":host{width:100%}:host .vd-navigation-drawer-content.ng-animating,:host .vd-navigation-drawer-menu-content.ng-animating{overflow:hidden}:host mat-toolbar{padding:16px}:host mat-toolbar.vd-toolbar-background{background-repeat:no-repeat;background-size:cover}:host mat-toolbar.vd-nagivation-drawer-toolbar{flex-direction:column;height:auto!important;display:block!important}:host mat-toolbar .vd-navigation-drawer-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host mat-toolbar .vd-navigation-drawer-menu-toggle{flex-direction:row;box-sizing:border-box;display:flex}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-label{flex:1}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-menu-button{height:24px;line-height:24px;width:24px}:host>div{overflow:hidden}\n"], components: [{ type: i3$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [VdCollapseAnimation()] });
|
|
15274
15478
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdNavigationDrawerComponent, decorators: [{
|
|
15275
15479
|
type: Component,
|
|
15276
15480
|
args: [{ selector: 'vd-navigation-drawer', animations: [VdCollapseAnimation()], template: "<mat-toolbar [color]=\"color\" [style.background-image]=\"backgroundImage\" [class.vd-toolbar-background]=\"!!isBackgroundAvailable\"\r\n class=\"vd-nagivation-drawer-toolbar\">\r\n\t<ng-content select=\"[vd-navigation-drawer-toolbar]\"></ng-content>\r\n\t<ng-container *ngIf=\"!isCustomToolbar\">\r\n\t\t<div *ngIf=\"icon || logo || sidenavTitle\" class=\"vd-navigation-drawer-toolbar-content\" [class.cursor-pointer]=\"routerEnabled\"\r\n\t\t (click)=\"handleNavigationClick()\">\r\n\t\t\t<mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\r\n\t\t\t<mat-icon *ngIf=\"logo && !icon\" class=\"mat-icon-logo\" [svgIcon]=\"logo\"></mat-icon>\r\n\t\t\t<span *ngIf=\"sidenavTitle\" class=\"vd-navigation-drawer-title\">{{sidenavTitle}}</span>\r\n\t\t</div>\r\n\t\t<div class=\"vd-navigation-drawer-name\" *ngIf=\"email && name\">{{name}}</div>\r\n\t\t<div class=\"vd-navigation-drawer-menu-toggle\" href *ngIf=\"email || name\" (click)=\"toggleMenu()\">\r\n\t\t\t<span class=\"vd-navigation-drawer-label\">{{email || name}}</span>\r\n\t\t\t<button mat-icon-button class=\"vd-navigation-drawer-menu-button\" *ngIf=\"isMenuAvailable\">\r\n\t\t\t\t<mat-icon *ngIf=\"!menuToggled\">arrow_drop_down</mat-icon>\r\n\t\t\t\t<mat-icon *ngIf=\"menuToggled\">arrow_drop_up</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</ng-container>\r\n</mat-toolbar>\r\n<div class=\"vd-navigation-drawer-content\" [@vdCollapse]=\"menuToggled\">\r\n\t<ng-content></ng-content>\r\n</div>\r\n<div class=\"vd-navigation-drawer-menu-content\" [@vdCollapse]=\"!menuToggled\">\r\n\t<ng-content select=\"[vd-navigation-drawer-menu]\"></ng-content>\r\n</div>", styles: [":host{width:100%}:host .vd-navigation-drawer-content.ng-animating,:host .vd-navigation-drawer-menu-content.ng-animating{overflow:hidden}:host mat-toolbar{padding:16px}:host mat-toolbar.vd-toolbar-background{background-repeat:no-repeat;background-size:cover}:host mat-toolbar.vd-nagivation-drawer-toolbar{flex-direction:column;height:auto!important;display:block!important}:host mat-toolbar .vd-navigation-drawer-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host mat-toolbar .vd-navigation-drawer-menu-toggle{flex-direction:row;box-sizing:border-box;display:flex}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-label{flex:1}:host mat-toolbar .vd-navigation-drawer-menu-toggle .vd-navigation-drawer-menu-button{height:24px;line-height:24px;width:24px}:host>div{overflow:hidden}\n"] }]
|
|
@@ -15370,7 +15574,8 @@ class VdLayoutModule {
|
|
|
15370
15574
|
MatCardModule,
|
|
15371
15575
|
MatListModule,
|
|
15372
15576
|
MatMenuModule,
|
|
15373
|
-
MatProgressSpinnerModule
|
|
15577
|
+
MatProgressSpinnerModule,
|
|
15578
|
+
VdMenuModule], exports: [VdLayoutComponent,
|
|
15374
15579
|
VdLayoutToggleDirective,
|
|
15375
15580
|
VdLayoutCloseDirective,
|
|
15376
15581
|
VdLayoutOpenDirective,
|
|
@@ -15402,7 +15607,8 @@ class VdLayoutModule {
|
|
|
15402
15607
|
MatCardModule,
|
|
15403
15608
|
MatListModule,
|
|
15404
15609
|
MatMenuModule,
|
|
15405
|
-
MatProgressSpinnerModule
|
|
15610
|
+
MatProgressSpinnerModule,
|
|
15611
|
+
VdMenuModule
|
|
15406
15612
|
]] });
|
|
15407
15613
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdLayoutModule, decorators: [{
|
|
15408
15614
|
type: NgModule,
|
|
@@ -15417,7 +15623,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
15417
15623
|
MatCardModule,
|
|
15418
15624
|
MatListModule,
|
|
15419
15625
|
MatMenuModule,
|
|
15420
|
-
MatProgressSpinnerModule
|
|
15626
|
+
MatProgressSpinnerModule,
|
|
15627
|
+
VdMenuModule
|
|
15421
15628
|
],
|
|
15422
15629
|
declarations: [
|
|
15423
15630
|
VD_LAYOUTS,
|
|
@@ -15569,180 +15776,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
15569
15776
|
}]
|
|
15570
15777
|
}] });
|
|
15571
15778
|
|
|
15572
|
-
class VdMenuComponent {
|
|
15573
|
-
constructor() {
|
|
15574
|
-
/**
|
|
15575
|
-
* Menu items
|
|
15576
|
-
*/
|
|
15577
|
-
this.items = [];
|
|
15578
|
-
/**
|
|
15579
|
-
* This will add the classes only when the url matches the link exactly.
|
|
15580
|
-
*/
|
|
15581
|
-
this.activeExact = false;
|
|
15582
|
-
/**
|
|
15583
|
-
* click?: function
|
|
15584
|
-
* Event emitted when a menu item is clicked.
|
|
15585
|
-
*/
|
|
15586
|
-
this.onClick = new EventEmitter();
|
|
15587
|
-
}
|
|
15588
|
-
/**
|
|
15589
|
-
* Event emitted when a meni item is clicked.
|
|
15590
|
-
*/
|
|
15591
|
-
itemClicked($event) {
|
|
15592
|
-
if ($event instanceof EventEmitter) {
|
|
15593
|
-
$event.emit();
|
|
15594
|
-
}
|
|
15595
|
-
else {
|
|
15596
|
-
this.onClick.emit($event);
|
|
15597
|
-
}
|
|
15598
|
-
}
|
|
15599
|
-
}
|
|
15600
|
-
/** @nocollapse */ /** @nocollapse */ VdMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15601
|
-
/** @nocollapse */ /** @nocollapse */ VdMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdMenuComponent, selector: "vd-menu", inputs: { items: "items", activeExact: "activeExact", avatar: "avatar" }, outputs: { onClick: "click" }, ngImport: i0, template: "<mat-nav-list>\r\n\t<ng-template let-item let-last=\"last\" ngFor [ngForOf]=\"items\">\r\n\t\t<a mat-list-item *ngIf=\"item.enabled\" [routerLink]=\"item.path\" [routerLinkActive]=\"['active']\" [routerLinkActiveOptions]=\"{exact:item.activeExact}\" (click)=\"itemClicked(item.event?item.event:$event)\">\r\n\t\t\t<mat-icon *ngIf=\"!avatar\" mat-list-icon>{{item.icon}}</mat-icon>\r\n\t\t\t<span *ngIf=\"!avatar\">{{item.title}}</span>\r\n\t\t\t<mat-icon *ngIf=\"avatar\" matListAvatar>{{item.icon}}</mat-icon>\r\n\t\t\t<h3 *ngIf=\"avatar\" matLine>{{item.title}}</h3>\r\n\t\t\t<p *ngIf=\"avatar && item.description\" matLine> {{item.description}} </p>\r\n\t\t</a>\r\n\t\t<mat-divider *ngIf=\"item.divider && !avatar\"></mat-divider>\r\n\t\t<mat-divider [inset]=\"avatar\" *ngIf=\"!item.divider && avatar && !last\"></mat-divider>\r\n\t</ng-template>\r\n</mat-nav-list>", styles: [""], components: [{ type: i1$8.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i1$8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i1$4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i1$8.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i1$8.MatListAvatarCssMatStyler, selector: "[mat-list-avatar], [matListAvatar]" }, { type: i2$1.MatLine, selector: "[mat-line], [matLine]" }] });
|
|
15602
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuComponent, decorators: [{
|
|
15603
|
-
type: Component,
|
|
15604
|
-
args: [{ selector: 'vd-menu', template: "<mat-nav-list>\r\n\t<ng-template let-item let-last=\"last\" ngFor [ngForOf]=\"items\">\r\n\t\t<a mat-list-item *ngIf=\"item.enabled\" [routerLink]=\"item.path\" [routerLinkActive]=\"['active']\" [routerLinkActiveOptions]=\"{exact:item.activeExact}\" (click)=\"itemClicked(item.event?item.event:$event)\">\r\n\t\t\t<mat-icon *ngIf=\"!avatar\" mat-list-icon>{{item.icon}}</mat-icon>\r\n\t\t\t<span *ngIf=\"!avatar\">{{item.title}}</span>\r\n\t\t\t<mat-icon *ngIf=\"avatar\" matListAvatar>{{item.icon}}</mat-icon>\r\n\t\t\t<h3 *ngIf=\"avatar\" matLine>{{item.title}}</h3>\r\n\t\t\t<p *ngIf=\"avatar && item.description\" matLine> {{item.description}} </p>\r\n\t\t</a>\r\n\t\t<mat-divider *ngIf=\"item.divider && !avatar\"></mat-divider>\r\n\t\t<mat-divider [inset]=\"avatar\" *ngIf=\"!item.divider && avatar && !last\"></mat-divider>\r\n\t</ng-template>\r\n</mat-nav-list>", styles: [""] }]
|
|
15605
|
-
}], propDecorators: { items: [{
|
|
15606
|
-
type: Input
|
|
15607
|
-
}], activeExact: [{
|
|
15608
|
-
type: Input
|
|
15609
|
-
}], avatar: [{
|
|
15610
|
-
type: Input
|
|
15611
|
-
}], onClick: [{
|
|
15612
|
-
type: Output,
|
|
15613
|
-
args: ['click']
|
|
15614
|
-
}] } });
|
|
15615
|
-
|
|
15616
|
-
class MenuService extends GenericService {
|
|
15617
|
-
/**
|
|
15618
|
-
* Constructor
|
|
15619
|
-
* @param _http
|
|
15620
|
-
*/
|
|
15621
|
-
constructor() {
|
|
15622
|
-
super('menu');
|
|
15623
|
-
}
|
|
15624
|
-
}
|
|
15625
|
-
/** @nocollapse */ /** @nocollapse */ MenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15626
|
-
/** @nocollapse */ /** @nocollapse */ MenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuService, providedIn: 'root' });
|
|
15627
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuService, decorators: [{
|
|
15628
|
-
type: Injectable,
|
|
15629
|
-
args: [{ providedIn: 'root' }]
|
|
15630
|
-
}], ctorParameters: function () { return []; } });
|
|
15631
|
-
|
|
15632
|
-
var MenuScope;
|
|
15633
|
-
(function (MenuScope) {
|
|
15634
|
-
MenuScope[MenuScope["Site"] = 0] = "Site";
|
|
15635
|
-
MenuScope[MenuScope["Admin"] = 1] = "Admin";
|
|
15636
|
-
})(MenuScope || (MenuScope = {}));
|
|
15637
|
-
|
|
15638
|
-
class Menu {
|
|
15639
|
-
}
|
|
15640
|
-
|
|
15641
|
-
class MenuItem {
|
|
15642
|
-
}
|
|
15643
|
-
|
|
15644
|
-
class MenuItemService extends GenericService {
|
|
15645
|
-
/**
|
|
15646
|
-
* Constructor
|
|
15647
|
-
* @param _http
|
|
15648
|
-
*/
|
|
15649
|
-
constructor() {
|
|
15650
|
-
super('menuitem');
|
|
15651
|
-
}
|
|
15652
|
-
}
|
|
15653
|
-
/** @nocollapse */ /** @nocollapse */ MenuItemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15654
|
-
/** @nocollapse */ /** @nocollapse */ MenuItemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuItemService, providedIn: 'root' });
|
|
15655
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuItemService, decorators: [{
|
|
15656
|
-
type: Injectable,
|
|
15657
|
-
args: [{ providedIn: 'root' }]
|
|
15658
|
-
}], ctorParameters: function () { return []; } });
|
|
15659
|
-
|
|
15660
|
-
/**
|
|
15661
|
-
* Menu resolve service
|
|
15662
|
-
*/
|
|
15663
|
-
class MenuResolve {
|
|
15664
|
-
/**
|
|
15665
|
-
* Constructor
|
|
15666
|
-
* @param menuService
|
|
15667
|
-
*/
|
|
15668
|
-
constructor(menuService) {
|
|
15669
|
-
this.menuService = menuService;
|
|
15670
|
-
}
|
|
15671
|
-
/**
|
|
15672
|
-
* Resolves menu items
|
|
15673
|
-
* @param route
|
|
15674
|
-
*/
|
|
15675
|
-
resolve(route) {
|
|
15676
|
-
return this.menuService.getList(route.data || {}, null, { cache: 'yes' });
|
|
15677
|
-
}
|
|
15678
|
-
}
|
|
15679
|
-
/** @nocollapse */ /** @nocollapse */ MenuResolve.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuResolve, deps: [{ token: MenuService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15680
|
-
/** @nocollapse */ /** @nocollapse */ MenuResolve.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuResolve });
|
|
15681
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MenuResolve, decorators: [{
|
|
15682
|
-
type: Injectable
|
|
15683
|
-
}], ctorParameters: function () { return [{ type: MenuService }]; } });
|
|
15684
|
-
/**
|
|
15685
|
-
* Submenu resolve service
|
|
15686
|
-
*/
|
|
15687
|
-
class SubMenuResolve {
|
|
15688
|
-
/**
|
|
15689
|
-
* Resolves menu items
|
|
15690
|
-
* @param route
|
|
15691
|
-
* @param state
|
|
15692
|
-
*/
|
|
15693
|
-
resolve(route, state) {
|
|
15694
|
-
/* Check menu items in route data */
|
|
15695
|
-
if (route.parent.data.menu) {
|
|
15696
|
-
/* Get Admin menu */
|
|
15697
|
-
var adminMenu = route.parent.data.menu[0];
|
|
15698
|
-
if (adminMenu && adminMenu.items) {
|
|
15699
|
-
return adminMenu.items.filter(x => x.path == `/${route.url[0].path}`)[0];
|
|
15700
|
-
}
|
|
15701
|
-
}
|
|
15702
|
-
return [];
|
|
15703
|
-
}
|
|
15704
|
-
}
|
|
15705
|
-
/** @nocollapse */ /** @nocollapse */ SubMenuResolve.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: SubMenuResolve, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15706
|
-
/** @nocollapse */ /** @nocollapse */ SubMenuResolve.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: SubMenuResolve });
|
|
15707
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: SubMenuResolve, decorators: [{
|
|
15708
|
-
type: Injectable
|
|
15709
|
-
}] });
|
|
15710
|
-
|
|
15711
|
-
const DECLARATIONS$2 = [
|
|
15712
|
-
VdMenuComponent
|
|
15713
|
-
];
|
|
15714
|
-
class VdMenuModule {
|
|
15715
|
-
}
|
|
15716
|
-
/** @nocollapse */ /** @nocollapse */ VdMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15717
|
-
/** @nocollapse */ /** @nocollapse */ VdMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuModule, declarations: [VdMenuComponent], imports: [CommonModule,
|
|
15718
|
-
RouterModule,
|
|
15719
|
-
MatIconModule,
|
|
15720
|
-
MatListModule], exports: [VdMenuComponent] });
|
|
15721
|
-
/** @nocollapse */ /** @nocollapse */ VdMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuModule, providers: [MenuService], imports: [[
|
|
15722
|
-
CommonModule,
|
|
15723
|
-
RouterModule,
|
|
15724
|
-
MatIconModule,
|
|
15725
|
-
MatListModule
|
|
15726
|
-
]] });
|
|
15727
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdMenuModule, decorators: [{
|
|
15728
|
-
type: NgModule,
|
|
15729
|
-
args: [{
|
|
15730
|
-
imports: [
|
|
15731
|
-
CommonModule,
|
|
15732
|
-
RouterModule,
|
|
15733
|
-
MatIconModule,
|
|
15734
|
-
MatListModule
|
|
15735
|
-
],
|
|
15736
|
-
declarations: [
|
|
15737
|
-
DECLARATIONS$2
|
|
15738
|
-
],
|
|
15739
|
-
exports: [
|
|
15740
|
-
DECLARATIONS$2
|
|
15741
|
-
],
|
|
15742
|
-
providers: [MenuService]
|
|
15743
|
-
}]
|
|
15744
|
-
}] });
|
|
15745
|
-
|
|
15746
15779
|
class VdSearchInputComponent {
|
|
15747
15780
|
constructor(_dir) {
|
|
15748
15781
|
this._dir = _dir;
|
|
@@ -15812,8 +15845,8 @@ class VdSearchInputComponent {
|
|
|
15812
15845
|
this.onSearchDebounce.emit(value);
|
|
15813
15846
|
}
|
|
15814
15847
|
}
|
|
15815
|
-
/** @nocollapse */ /** @nocollapse */ VdSearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdSearchInputComponent, deps: [{ token: i1$
|
|
15816
|
-
/** @nocollapse */ /** @nocollapse */ VdSearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdSearchInputComponent, selector: "vd-search-input", inputs: { showUnderline: "showUnderline", debounce: "debounce", placeholder: "placeholder" }, outputs: { onSearchDebounce: "searchDebounce", onSearch: "search", onClear: "clear", onBlur: "blur" }, viewQueries: [{ propertyName: "_input", first: true, predicate: MatInput, descendants: true, static: true }], ngImport: i0, template: "<div class=\"vd-search-input\" layout=\"row\" layout-align=\"end center\">\r\n\t<mat-form-field [class.mat-hide-underline]=\"!showUnderline\" floatPlaceholder=\"never\" flex appearance=\"legacy\">\r\n\t\t<input matInput #searchElement type=\"search\" [(ngModel)]=\"value\" [placeholder]=\"placeholder\" (blur)=\"handleBlur()\" (search)=\"stopPropagation($event)\" (keyup.enter)=\"handleSearch($event)\" />\r\n\t</mat-form-field>\r\n\t<button mat-icon-button type=\"button\" [@searchState]=\"(searchElement.value ? 'show' : (isRTL ? 'hide-left' : 'hide-right'))\" (click)=\"clearSearch()\" flex=\"none\">\r\n\t\t<mat-icon>cancel</mat-icon>\r\n\t</button>\r\n</div>", styles: [".vd-search-input{overflow-x:hidden}.vd-search-input ::ng-deep mat-form-field.mat-hide-underline .mat-input-underline{display:none}\n"], components: [{ type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type:
|
|
15848
|
+
/** @nocollapse */ /** @nocollapse */ VdSearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdSearchInputComponent, deps: [{ token: i1$8.Dir, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
15849
|
+
/** @nocollapse */ /** @nocollapse */ VdSearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdSearchInputComponent, selector: "vd-search-input", inputs: { showUnderline: "showUnderline", debounce: "debounce", placeholder: "placeholder" }, outputs: { onSearchDebounce: "searchDebounce", onSearch: "search", onClear: "clear", onBlur: "blur" }, viewQueries: [{ propertyName: "_input", first: true, predicate: MatInput, descendants: true, static: true }], ngImport: i0, template: "<div class=\"vd-search-input\" layout=\"row\" layout-align=\"end center\">\r\n\t<mat-form-field [class.mat-hide-underline]=\"!showUnderline\" floatPlaceholder=\"never\" flex appearance=\"legacy\">\r\n\t\t<input matInput #searchElement type=\"search\" [(ngModel)]=\"value\" [placeholder]=\"placeholder\" (blur)=\"handleBlur()\" (search)=\"stopPropagation($event)\" (keyup.enter)=\"handleSearch($event)\" />\r\n\t</mat-form-field>\r\n\t<button mat-icon-button type=\"button\" [@searchState]=\"(searchElement.value ? 'show' : (isRTL ? 'hide-left' : 'hide-right'))\" (click)=\"clearSearch()\" flex=\"none\">\r\n\t\t<mat-icon>cancel</mat-icon>\r\n\t</button>\r\n</div>", styles: [".vd-search-input{overflow-x:hidden}.vd-search-input ::ng-deep mat-form-field.mat-hide-underline .mat-input-underline{display:none}\n"], components: [{ type: i1$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ 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"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: [
|
|
15817
15850
|
trigger('searchState', [
|
|
15818
15851
|
state('hide-left', style({
|
|
15819
15852
|
transform: 'translateX(-150%)',
|
|
@@ -15852,7 +15885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
|
15852
15885
|
]),
|
|
15853
15886
|
], template: "<div class=\"vd-search-input\" layout=\"row\" layout-align=\"end center\">\r\n\t<mat-form-field [class.mat-hide-underline]=\"!showUnderline\" floatPlaceholder=\"never\" flex appearance=\"legacy\">\r\n\t\t<input matInput #searchElement type=\"search\" [(ngModel)]=\"value\" [placeholder]=\"placeholder\" (blur)=\"handleBlur()\" (search)=\"stopPropagation($event)\" (keyup.enter)=\"handleSearch($event)\" />\r\n\t</mat-form-field>\r\n\t<button mat-icon-button type=\"button\" [@searchState]=\"(searchElement.value ? 'show' : (isRTL ? 'hide-left' : 'hide-right'))\" (click)=\"clearSearch()\" flex=\"none\">\r\n\t\t<mat-icon>cancel</mat-icon>\r\n\t</button>\r\n</div>", styles: [".vd-search-input{overflow-x:hidden}.vd-search-input ::ng-deep mat-form-field.mat-hide-underline .mat-input-underline{display:none}\n"] }]
|
|
15854
15887
|
}], ctorParameters: function () {
|
|
15855
|
-
return [{ type: i1$
|
|
15888
|
+
return [{ type: i1$8.Dir, decorators: [{
|
|
15856
15889
|
type: Optional
|
|
15857
15890
|
}] }];
|
|
15858
15891
|
}, propDecorators: { _input: [{
|
|
@@ -15953,7 +15986,7 @@ class VdSearchBoxComponent {
|
|
|
15953
15986
|
}
|
|
15954
15987
|
}
|
|
15955
15988
|
/** @nocollapse */ /** @nocollapse */ VdSearchBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: VdSearchBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15956
|
-
/** @nocollapse */ /** @nocollapse */ VdSearchBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdSearchBoxComponent, selector: "vd-search-box", inputs: { backIcon: "backIcon", showUnderline: "showUnderline", debounce: "debounce", alwaysVisible: "alwaysVisible", placeholder: "placeholder" }, outputs: { onSearchDebounce: "searchDebounce", onSearch: "search", onClear: "clear" }, viewQueries: [{ propertyName: "_searchInput", first: true, predicate: VdSearchInputComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"vd-search-box\" layout=\"row\" layout-align=\"end center\">\r\n\t<button mat-icon-button type=\"button\" class=\"vd-search-icon\" flex=\"none\" (click)=\"searchClicked()\">\r\n\t\t <mat-icon *ngIf=\"searchVisible && !alwaysVisible\">{{backIcon}}</mat-icon>\r\n\t\t <mat-icon *ngIf=\"!searchVisible || alwaysVisible\">search</mat-icon>\r\n\t\t</button>\r\n\t<vd-search-input #searchInput [@inputState]=\"alwaysVisible || searchVisible\" [debounce]=\"debounce\" [showUnderline]=\"showUnderline\"\r\n\t [placeholder]=\"placeholder\" (searchDebounce)=\"handleSearchDebounce($event)\" (search)=\"handleSearch($event)\" (clear)=\"handleClear(); toggleVisibility()\">\r\n\t</vd-search-input>\r\n</div>", styles: [":host{display:block}.vd-search-box vd-search-input{margin-left:12px}::ng-deep [dir=rtl] .vd-search-box vd-search-input{margin-right:12px;margin-left:0!important}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type:
|
|
15989
|
+
/** @nocollapse */ /** @nocollapse */ VdSearchBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: VdSearchBoxComponent, selector: "vd-search-box", inputs: { backIcon: "backIcon", showUnderline: "showUnderline", debounce: "debounce", alwaysVisible: "alwaysVisible", placeholder: "placeholder" }, outputs: { onSearchDebounce: "searchDebounce", onSearch: "search", onClear: "clear" }, viewQueries: [{ propertyName: "_searchInput", first: true, predicate: VdSearchInputComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"vd-search-box\" layout=\"row\" layout-align=\"end center\">\r\n\t<button mat-icon-button type=\"button\" class=\"vd-search-icon\" flex=\"none\" (click)=\"searchClicked()\">\r\n\t\t <mat-icon *ngIf=\"searchVisible && !alwaysVisible\">{{backIcon}}</mat-icon>\r\n\t\t <mat-icon *ngIf=\"!searchVisible || alwaysVisible\">search</mat-icon>\r\n\t\t</button>\r\n\t<vd-search-input #searchInput [@inputState]=\"alwaysVisible || searchVisible\" [debounce]=\"debounce\" [showUnderline]=\"showUnderline\"\r\n\t [placeholder]=\"placeholder\" (searchDebounce)=\"handleSearchDebounce($event)\" (search)=\"handleSearch($event)\" (clear)=\"handleClear(); toggleVisibility()\">\r\n\t</vd-search-input>\r\n</div>", styles: [":host{display:block}.vd-search-box vd-search-input{margin-left:12px}::ng-deep [dir=rtl] .vd-search-box vd-search-input{margin-right:12px;margin-left:0!important}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: VdSearchInputComponent, selector: "vd-search-input", inputs: ["showUnderline", "debounce", "placeholder"], outputs: ["searchDebounce", "search", "clear", "blur"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
15957
15990
|
trigger('inputState', [
|
|
15958
15991
|
state('false', style({
|
|
15959
15992
|
width: '0%',
|
|
@@ -16133,8 +16166,8 @@ function Table(tableDefinition) {
|
|
|
16133
16166
|
if ((actions === null || actions === void 0 ? void 0 : actions.length) > 0 && ((_a = pTableDefinition.columns) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
16134
16167
|
var actionColmun = (_b = pTableDefinition.columns) === null || _b === void 0 ? void 0 : _b.find(x => x.name == 'action');
|
|
16135
16168
|
if (actionColmun != null) {
|
|
16136
|
-
actionColmun.
|
|
16137
|
-
actions.forEach(y => actionColmun.
|
|
16169
|
+
actionColmun.rowMenuItems = actionColmun.rowMenuItems || [];
|
|
16170
|
+
actions.forEach(y => actionColmun.rowMenuItems.push(y));
|
|
16138
16171
|
}
|
|
16139
16172
|
else {
|
|
16140
16173
|
pTableDefinition.columns.push(new TableColumn({
|
|
@@ -16142,7 +16175,7 @@ function Table(tableDefinition) {
|
|
|
16142
16175
|
name: 'action',
|
|
16143
16176
|
type: TableColumnType.Action,
|
|
16144
16177
|
disabled: true,
|
|
16145
|
-
|
|
16178
|
+
rowMenuItems: actions
|
|
16146
16179
|
}));
|
|
16147
16180
|
}
|
|
16148
16181
|
}
|