@wolkabout/commons 0.0.57 → 0.0.59
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/README.md +17 -17
- package/fesm2022/wolkabout-commons.mjs +164 -163
- package/fesm2022/wolkabout-commons.mjs.map +1 -1
- package/package.json +1 -1
- package/types/wolkabout-commons.d.ts +32 -13
|
@@ -1,75 +1,61 @@
|
|
|
1
1
|
import * as i1$1 from '@ngx-translate/core';
|
|
2
2
|
import { TranslateModule, TranslatePipe } from '@ngx-translate/core';
|
|
3
|
-
import * as
|
|
3
|
+
import * as i5 from '@angular/forms';
|
|
4
4
|
import { ReactiveFormsModule, NG_VALUE_ACCESSOR, FormControl, Validators, FormGroup, NG_VALIDATORS } from '@angular/forms';
|
|
5
|
-
import * as
|
|
5
|
+
import * as i9 from '@angular/common';
|
|
6
6
|
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
7
|
-
import * as i1$
|
|
7
|
+
import * as i1$6 from '@angular/router';
|
|
8
8
|
import { RouterLink, RouterOutlet, RouterLinkActive, Router } from '@angular/router';
|
|
9
9
|
import * as i2 from '@angular/material/button';
|
|
10
10
|
import { MatButtonModule } from '@angular/material/button';
|
|
11
|
-
import * as i3 from '@angular/material/checkbox';
|
|
12
11
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
13
|
-
import * as i4 from '@angular/material/toolbar';
|
|
14
12
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
15
|
-
import * as
|
|
13
|
+
import * as i2$1 from '@angular/material/form-field';
|
|
16
14
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
17
|
-
import * as i8 from '@angular/material/sidenav';
|
|
18
15
|
import { MatSidenavModule } from '@angular/material/sidenav';
|
|
19
|
-
import * as i5 from '@angular/material/menu';
|
|
20
16
|
import { MatMenuModule } from '@angular/material/menu';
|
|
21
|
-
import * as
|
|
17
|
+
import * as i3 from '@angular/material/tooltip';
|
|
22
18
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
23
|
-
import * as i29 from '@angular/material/slider';
|
|
24
19
|
import { MatSliderModule } from '@angular/material/slider';
|
|
25
|
-
import * as i28 from '@angular/material/paginator';
|
|
26
20
|
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
27
|
-
import * as i27 from '@angular/material/grid-list';
|
|
28
21
|
import { MatGridListModule } from '@angular/material/grid-list';
|
|
29
|
-
import * as
|
|
22
|
+
import * as i8$1 from '@angular/material/chips';
|
|
30
23
|
import { MatChipsModule } from '@angular/material/chips';
|
|
31
|
-
import * as
|
|
24
|
+
import * as i8 from '@angular/material/autocomplete';
|
|
32
25
|
import { MatAutocompleteModule, MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
|
33
|
-
import * as
|
|
26
|
+
import * as i4$4 from '@angular/material/datepicker';
|
|
34
27
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
35
|
-
import * as i23 from '@angular/material/expansion';
|
|
36
28
|
import { MatExpansionModule } from '@angular/material/expansion';
|
|
37
|
-
import * as i22 from '@angular/material/tree';
|
|
38
29
|
import { MatTreeModule } from '@angular/material/tree';
|
|
39
|
-
import * as
|
|
30
|
+
import * as i5$1 from '@angular/material/progress-spinner';
|
|
40
31
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
41
|
-
import * as
|
|
32
|
+
import * as i7 from '@angular/material/progress-bar';
|
|
42
33
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
43
|
-
import * as
|
|
34
|
+
import * as i4$2 from '@angular/material/input';
|
|
44
35
|
import { MatInputModule, MAT_INPUT_VALUE_ACCESSOR } from '@angular/material/input';
|
|
45
|
-
import * as
|
|
36
|
+
import * as i1$5 from '@angular/material/divider';
|
|
46
37
|
import { MatDividerModule } from '@angular/material/divider';
|
|
47
|
-
import * as i17 from '@angular/material/core';
|
|
48
38
|
import { MatRippleModule, DateAdapter } from '@angular/material/core';
|
|
49
|
-
import * as i16 from '@angular/material/radio';
|
|
50
39
|
import { MatRadioModule } from '@angular/material/radio';
|
|
51
|
-
import * as
|
|
40
|
+
import * as i1$3 from '@angular/material/dialog';
|
|
52
41
|
import { MatDialogModule, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
|
|
53
|
-
import * as i15 from '@angular/material/sort';
|
|
54
42
|
import { MatSortModule } from '@angular/material/sort';
|
|
55
|
-
import * as
|
|
43
|
+
import * as i4$1 from '@angular/material/select';
|
|
56
44
|
import { MatSelectModule } from '@angular/material/select';
|
|
57
|
-
import * as
|
|
45
|
+
import * as i4$3 from '@angular/material/card';
|
|
58
46
|
import { MatCardModule } from '@angular/material/card';
|
|
59
|
-
import * as
|
|
60
|
-
import { MatIconModule, MatIconRegistry } from '@angular/material/icon';
|
|
61
|
-
import * as i10 from '@angular/material/table';
|
|
47
|
+
import * as i4 from '@angular/material/icon';
|
|
48
|
+
import { MatIconModule, MatIconRegistry, MatIcon } from '@angular/material/icon';
|
|
62
49
|
import { MatTableModule } from '@angular/material/table';
|
|
63
|
-
import * as
|
|
50
|
+
import * as i3$1 from '@angular/material/tabs';
|
|
64
51
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
65
|
-
import * as i32 from '@angular/cdk/drag-drop';
|
|
66
52
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
67
53
|
import * as i0 from '@angular/core';
|
|
68
54
|
import { NgModule, InjectionToken, inject, Injectable, DOCUMENT, Inject, Input, Directive, forwardRef, HostListener, PLATFORM_ID, Pipe, signal, TemplateRef, ViewChild, ContentChild, Optional, Self, Component, input, computed, untracked, viewChild, afterNextRender, effect, output, afterRenderEffect, contentChild } from '@angular/core';
|
|
69
55
|
import { BehaviorSubject, catchError, of, switchMap, EMPTY, tap, filter, map, combineLatestWith, take, from, concatMap, first, forkJoin, distinctUntilChanged, shareReplay, merge, Subject, takeUntil, combineLatest } from 'rxjs';
|
|
70
56
|
import { jwtDecode } from 'jwt-decode';
|
|
71
57
|
import { loadRemoteModule } from '@angular-architects/native-federation';
|
|
72
|
-
import * as i1$
|
|
58
|
+
import * as i1$4 from '@angular/platform-browser';
|
|
73
59
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
74
60
|
import { takeUntilDestroyed, toSignal, toObservable } from '@angular/core/rxjs-interop';
|
|
75
61
|
import * as i1 from '@angular/material/snack-bar';
|
|
@@ -4191,13 +4177,13 @@ class AutocompleteComponent {
|
|
|
4191
4177
|
document.removeEventListener('wheel', this.scrollEvent, true);
|
|
4192
4178
|
document.removeEventListener('touchmove', this.scrollEvent, true);
|
|
4193
4179
|
}
|
|
4194
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AutocompleteComponent, deps: [{ token:
|
|
4195
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: AutocompleteComponent, isStandalone: true, selector: "app-autocomplete", inputs: { name: "name", dataFunction: "dataFunction", displayFunction: "displayFunction", outlineBackground: "outlineBackground", hideRequiredMarker: "hideRequiredMarker" }, queries: [{ propertyName: "dropdownTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }], ngImport: i0, template: "<ng-container>\n <div class=\"w-full\">\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\" [hideRequiredMarker]=\"hideRequiredMarker\">\n <mat-label>\n <span>{{ name | translate }}</span>\n </mat-label>\n <input matInput #autoCompleteInput [ngClass]=\"{'cursor-text' : !hasValue(), 'cursor-default' : hasValue()}\" [formControl]=\"formControl\" [readonly]=\"hasValue()\" [placeholder]=\"name | translate\" autocomplete=\"off\"
|
|
4180
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4181
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: AutocompleteComponent, isStandalone: true, selector: "app-autocomplete", inputs: { name: "name", dataFunction: "dataFunction", displayFunction: "displayFunction", outlineBackground: "outlineBackground", hideRequiredMarker: "hideRequiredMarker" }, queries: [{ propertyName: "dropdownTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }], ngImport: i0, template: "<ng-container>\r\n <div class=\"w-full\">\r\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\" [hideRequiredMarker]=\"hideRequiredMarker\">\r\n <mat-label>\r\n <span>{{ name | translate }}</span>\r\n </mat-label>\r\n <input matInput #autoCompleteInput [ngClass]=\"{'cursor-text' : !hasValue(), 'cursor-default' : hasValue()}\" [formControl]=\"formControl\" [readonly]=\"hasValue()\" [placeholder]=\"name | translate\" autocomplete=\"off\"\r\n [matAutocomplete]=\"auto\" (blur)=\"onTouched($event)\" [attr.data-test]=\"name + 'SearchInput'\"/>\r\n @if (!disabled) {\r\n <button matSuffix mat-icon-button *ngIf=\"formControl.value\" (click)=\"clear()\" type='button'>\r\n <mat-icon class=\"text-mat-sys-on-error-container\">clear</mat-icon>\r\n </button>\r\n }\r\n @for (error of getErrors(); track error) {\r\n <mat-error>{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n <mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" [displayWith]=\"displayFunction\">\r\n @if (loading$ | async) {\r\n <mat-option>\r\n <div>{{ 'Loading...' }}</div>\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </mat-option>\r\n } @else {\r\n <mat-option *ngFor=\"let item of data$ | async; let i = index\" [value]=\"item\" class=\"autocomplete-option\" [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\r\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\r\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n</ng-container>\r\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] });
|
|
4196
4182
|
}
|
|
4197
4183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
4198
4184
|
type: Component,
|
|
4199
|
-
args: [{ selector: 'app-autocomplete', imports: [
|
|
4200
|
-
}], ctorParameters: () => [{ type:
|
|
4185
|
+
args: [{ selector: 'app-autocomplete', imports: [SharedModule], template: "<ng-container>\r\n <div class=\"w-full\">\r\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\" [hideRequiredMarker]=\"hideRequiredMarker\">\r\n <mat-label>\r\n <span>{{ name | translate }}</span>\r\n </mat-label>\r\n <input matInput #autoCompleteInput [ngClass]=\"{'cursor-text' : !hasValue(), 'cursor-default' : hasValue()}\" [formControl]=\"formControl\" [readonly]=\"hasValue()\" [placeholder]=\"name | translate\" autocomplete=\"off\"\r\n [matAutocomplete]=\"auto\" (blur)=\"onTouched($event)\" [attr.data-test]=\"name + 'SearchInput'\"/>\r\n @if (!disabled) {\r\n <button matSuffix mat-icon-button *ngIf=\"formControl.value\" (click)=\"clear()\" type='button'>\r\n <mat-icon class=\"text-mat-sys-on-error-container\">clear</mat-icon>\r\n </button>\r\n }\r\n @for (error of getErrors(); track error) {\r\n <mat-error>{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n <mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" [displayWith]=\"displayFunction\">\r\n @if (loading$ | async) {\r\n <mat-option>\r\n <div>{{ 'Loading...' }}</div>\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </mat-option>\r\n } @else {\r\n <mat-option *ngFor=\"let item of data$ | async; let i = index\" [value]=\"item\" class=\"autocomplete-option\" [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\r\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\r\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\r\n </mat-option>\r\n }\r\n </mat-autocomplete>\r\n</ng-container>\r\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"] }]
|
|
4186
|
+
}], ctorParameters: () => [{ type: i5.NgControl, decorators: [{
|
|
4201
4187
|
type: Optional
|
|
4202
4188
|
}, {
|
|
4203
4189
|
type: Self
|
|
@@ -4307,13 +4293,13 @@ class AutocompleteChipsComponent {
|
|
|
4307
4293
|
document.removeEventListener('wheel', this.scrollEvent, true);
|
|
4308
4294
|
document.removeEventListener('touchmove', this.scrollEvent, true);
|
|
4309
4295
|
}
|
|
4310
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AutocompleteChipsComponent, deps: [{ token:
|
|
4311
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: AutocompleteChipsComponent, isStandalone: true, selector: "app-autocomplete-chips", inputs: { name: "name", dataFunction: "dataFunction", displayFunction: "displayFunction", outlineBackground: "outlineBackground" }, queries: [{ propertyName: "dropdownTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "inputRef", first: true, predicate: ["autoCompleteInput"], descendants: true }], ngImport: i0, template: "<div class=\"w-full\" [ngClass]=\"{'required' : !!getErrors().length && !formControl.untouched && !(items$ | async)?.length}\">\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\">\n <mat-label>\n <span>{{ name | translate }}</span>\n </mat-label>\n <mat-chip-grid #chipGrid>\n <mat-chip-row *ngFor=\"let item of items$ | async as items; let i = index\"\n [removable]=\"!disabled\"\n (removed)=\"removeItem(i, items)\">\n {{ displayFunction(item) }}\n <mat-icon class=\"text-mat-sys-on-error-container\" matChipRemove *ngIf=\"!disabled\">cancel</mat-icon>\n </mat-chip-row>\n <input matInput\n #autoCompleteInput\n [placeholder]=\"name | translate\"\n autocomplete=\"off\"\n [formControl]=\"formControl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipGrid\"\n (blur)=\"onTouched($event)\"/>\n </mat-chip-grid>\n </mat-form-field>\n\n @for (error of getErrors(); track error) {\n @if (!formControl.untouched && !(items$ | async)?.length) {\n <mat-error class=\"ml-4 mt-[-2px] text-xs\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n }\n</div>\n<mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" (optionSelected)=\"addItem($event)\">\n @if (loading$ | async) {\n <mat-option>\n <div>{{ 'Loading...' }}</div>\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n </mat-option>\n } @else {\n <ng-container *ngFor=\"let item of data$ | async; let i = index\">\n @if (shouldShowOption(item, (items$ | async) ?? [])) {\n <mat-option\n [value]=\"item\"\n class=\"autocomplete-option\"\n [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\"\n [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\n </mat-option>\n }\n </ng-container>\n }\n</mat-autocomplete>\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
4296
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AutocompleteChipsComponent, deps: [{ token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4297
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: AutocompleteChipsComponent, isStandalone: true, selector: "app-autocomplete-chips", inputs: { name: "name", dataFunction: "dataFunction", displayFunction: "displayFunction", outlineBackground: "outlineBackground" }, queries: [{ propertyName: "dropdownTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "inputRef", first: true, predicate: ["autoCompleteInput"], descendants: true }], ngImport: i0, template: "<div class=\"w-full\" [ngClass]=\"{'required' : !!getErrors().length && !formControl.untouched && !(items$ | async)?.length}\">\r\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\">\r\n <mat-label>\r\n <span>{{ name | translate }}</span>\r\n </mat-label>\r\n <mat-chip-grid #chipGrid>\r\n <mat-chip-row *ngFor=\"let item of items$ | async as items; let i = index\"\r\n [removable]=\"!disabled\"\r\n (removed)=\"removeItem(i, items)\">\r\n {{ displayFunction(item) }}\r\n <mat-icon class=\"text-mat-sys-on-error-container\" matChipRemove *ngIf=\"!disabled\">cancel</mat-icon>\r\n </mat-chip-row>\r\n <input matInput\r\n #autoCompleteInput\r\n [placeholder]=\"name | translate\"\r\n autocomplete=\"off\"\r\n [formControl]=\"formControl\"\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipGrid\"\r\n (blur)=\"onTouched($event)\"/>\r\n </mat-chip-grid>\r\n </mat-form-field>\r\n\r\n @for (error of getErrors(); track error) {\r\n @if (!formControl.untouched && !(items$ | async)?.length) {\r\n <mat-error class=\"ml-4 mt-[-2px] text-xs\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n }\r\n</div>\r\n<mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" (optionSelected)=\"addItem($event)\">\r\n @if (loading$ | async) {\r\n <mat-option>\r\n <div>{{ 'Loading...' }}</div>\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </mat-option>\r\n } @else {\r\n <ng-container *ngFor=\"let item of data$ | async; let i = index\">\r\n @if (shouldShowOption(item, (items$ | async) ?? [])) {\r\n <mat-option\r\n [value]=\"item\"\r\n class=\"autocomplete-option\"\r\n [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\r\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{ item }\"></ng-container>\r\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\r\n </mat-option>\r\n }\r\n </ng-container>\r\n }\r\n</mat-autocomplete>\r\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8$1.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i8$1.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i8$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i8$1.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] });
|
|
4312
4298
|
}
|
|
4313
4299
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AutocompleteChipsComponent, decorators: [{
|
|
4314
4300
|
type: Component,
|
|
4315
|
-
args: [{ selector: 'app-autocomplete-chips', imports: [
|
|
4316
|
-
}], ctorParameters: () => [{ type:
|
|
4301
|
+
args: [{ selector: 'app-autocomplete-chips', imports: [SharedModule], template: "<div class=\"w-full\" [ngClass]=\"{'required' : !!getErrors().length && !formControl.untouched && !(items$ | async)?.length}\">\r\n <mat-form-field [ngClass]=\"{ 'outline-background': outlineBackground }\" class=\"w-full\">\r\n <mat-label>\r\n <span>{{ name | translate }}</span>\r\n </mat-label>\r\n <mat-chip-grid #chipGrid>\r\n <mat-chip-row *ngFor=\"let item of items$ | async as items; let i = index\"\r\n [removable]=\"!disabled\"\r\n (removed)=\"removeItem(i, items)\">\r\n {{ displayFunction(item) }}\r\n <mat-icon class=\"text-mat-sys-on-error-container\" matChipRemove *ngIf=\"!disabled\">cancel</mat-icon>\r\n </mat-chip-row>\r\n <input matInput\r\n #autoCompleteInput\r\n [placeholder]=\"name | translate\"\r\n autocomplete=\"off\"\r\n [formControl]=\"formControl\"\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipGrid\"\r\n (blur)=\"onTouched($event)\"/>\r\n </mat-chip-grid>\r\n </mat-form-field>\r\n\r\n @for (error of getErrors(); track error) {\r\n @if (!formControl.untouched && !(items$ | async)?.length) {\r\n <mat-error class=\"ml-4 mt-[-2px] text-xs\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n }\r\n</div>\r\n<mat-autocomplete #auto=\"matAutocomplete\" [class]=\"'autocomplete-panel'\" (optionSelected)=\"addItem($event)\">\r\n @if (loading$ | async) {\r\n <mat-option>\r\n <div>{{ 'Loading...' }}</div>\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </mat-option>\r\n } @else {\r\n <ng-container *ngFor=\"let item of data$ | async; let i = index\">\r\n @if (shouldShowOption(item, (items$ | async) ?? [])) {\r\n <mat-option\r\n [value]=\"item\"\r\n class=\"autocomplete-option\"\r\n [attr.data-test]=\"name + 'SearchItem' + (i + 1)\">\r\n <ng-container [ngTemplateOutlet]=\"dropdownTemplate ? dropdownTemplate : defaultTemplate\"\r\n [ngTemplateOutletContext]=\"{ item }\"></ng-container>\r\n <ng-template #defaultTemplate>{{ displayFunction(item) }}</ng-template>\r\n </mat-option>\r\n }\r\n </ng-container>\r\n }\r\n</mat-autocomplete>\r\n", styles: [".mat-option-hidden{display:none}.autocomplete-option{height:fit-content}.autocomplete-option.autocomplete-option__active,.autocomplete-option.autocomplete-option__active:hover{background-color:var(--color-primary-50)}.autocomplete-info{height:30px;font-size:14px}.autocomplete-info.secondary{font-size:12px;height:25px}.autocomplete-info .autocomplete-item{text-overflow:ellipsis;overflow:hidden}\n"] }]
|
|
4302
|
+
}], ctorParameters: () => [{ type: i5.NgControl, decorators: [{
|
|
4317
4303
|
type: Optional
|
|
4318
4304
|
}, {
|
|
4319
4305
|
type: Self
|
|
@@ -4366,14 +4352,14 @@ class BasicTimeSeriesGraphComponent {
|
|
|
4366
4352
|
trigger: 'axis',
|
|
4367
4353
|
formatter: (params) => {
|
|
4368
4354
|
const [timestamp, data] = params[0].data;
|
|
4369
|
-
return `
|
|
4370
|
-
<div class="flex flex-col gap-y-2">
|
|
4371
|
-
<div>${this.timeFormatter.transform(timestamp)}</div>
|
|
4372
|
-
<div class="flex flex-row gap-x-2 items-center">
|
|
4373
|
-
<div class="h-2 w-2 bg-mat-sys-primary rounded-3xl"> </div>
|
|
4374
|
-
<div>${timeSeries.name}:</div>
|
|
4375
|
-
<div><span class="font-bold">${data}</span><span>${timeSeries.unitSymbol ?? ''}</span></div>
|
|
4376
|
-
</div>
|
|
4355
|
+
return `
|
|
4356
|
+
<div class="flex flex-col gap-y-2">
|
|
4357
|
+
<div>${this.timeFormatter.transform(timestamp)}</div>
|
|
4358
|
+
<div class="flex flex-row gap-x-2 items-center">
|
|
4359
|
+
<div class="h-2 w-2 bg-mat-sys-primary rounded-3xl"> </div>
|
|
4360
|
+
<div>${timeSeries.name}:</div>
|
|
4361
|
+
<div><span class="font-bold">${data}</span><span>${timeSeries.unitSymbol ?? ''}</span></div>
|
|
4362
|
+
</div>
|
|
4377
4363
|
</div>`;
|
|
4378
4364
|
},
|
|
4379
4365
|
axisPointer: {
|
|
@@ -4409,11 +4395,11 @@ class BasicTimeSeriesGraphComponent {
|
|
|
4409
4395
|
});
|
|
4410
4396
|
}
|
|
4411
4397
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BasicTimeSeriesGraphComponent, deps: [{ token: SimpleDateTimePipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
4412
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: BasicTimeSeriesGraphComponent, isStandalone: true, selector: "app-basic-time-series-graph", inputs: { timeSeries: { classPropertyName: "timeSeries", publicName: "timeSeries", isSignal: true, isRequired: true, transformFunction: null }, desiredTimeFrame: { classPropertyName: "desiredTimeFrame", publicName: "desiredTimeFrame", isSignal: true, isRequired: false, transformFunction: null }, primaryColor: { classPropertyName: "primaryColor", publicName: "primaryColor", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SimpleDatePipe, SimpleDateTimePipe], ngImport: i0, template: "<div echarts [options]=\"graphOptions()\" (chartDataZoom)=\"chartZoom($event)\" [theme]=\"chartTheme()!\" class=\"w-full h-full\"></div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgxEchartsDirective, selector: "echarts, [echarts]", inputs: ["options", "theme", "initOpts", "merge", "autoResize", "loading", "loadingType", "loadingOpts"], outputs: ["chartInit", "optionsError", "chartClick", "chartDblClick", "chartMouseDown", "chartMouseMove", "chartMouseUp", "chartMouseOver", "chartMouseOut", "chartGlobalOut", "chartContextMenu", "chartHighlight", "chartDownplay", "chartSelectChanged", "chartLegendSelectChanged", "chartLegendSelected", "chartLegendUnselected", "chartLegendLegendSelectAll", "chartLegendLegendInverseSelect", "chartLegendScroll", "chartDataZoom", "chartDataRangeSelected", "chartGraphRoam", "chartGeoRoam", "chartTreeRoam", "chartTimelineChanged", "chartTimelinePlayChanged", "chartRestore", "chartDataViewChanged", "chartMagicTypeChanged", "chartGeoSelectChanged", "chartGeoSelected", "chartGeoUnselected", "chartAxisAreaSelected", "chartBrush", "chartBrushEnd", "chartBrushSelected", "chartGlobalCursorTaken", "chartRendered", "chartFinished"], exportAs: ["echarts"] }] });
|
|
4398
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: BasicTimeSeriesGraphComponent, isStandalone: true, selector: "app-basic-time-series-graph", inputs: { timeSeries: { classPropertyName: "timeSeries", publicName: "timeSeries", isSignal: true, isRequired: true, transformFunction: null }, desiredTimeFrame: { classPropertyName: "desiredTimeFrame", publicName: "desiredTimeFrame", isSignal: true, isRequired: false, transformFunction: null }, primaryColor: { classPropertyName: "primaryColor", publicName: "primaryColor", isSignal: true, isRequired: false, transformFunction: null } }, providers: [SimpleDatePipe, SimpleDateTimePipe], ngImport: i0, template: "<div echarts [options]=\"graphOptions()\" (chartDataZoom)=\"chartZoom($event)\" [theme]=\"chartTheme()!\" class=\"w-full h-full\"></div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: NgxEchartsDirective, selector: "echarts, [echarts]", inputs: ["options", "theme", "initOpts", "merge", "autoResize", "loading", "loadingType", "loadingOpts"], outputs: ["chartInit", "optionsError", "chartClick", "chartDblClick", "chartMouseDown", "chartMouseMove", "chartMouseUp", "chartMouseOver", "chartMouseOut", "chartGlobalOut", "chartContextMenu", "chartHighlight", "chartDownplay", "chartSelectChanged", "chartLegendSelectChanged", "chartLegendSelected", "chartLegendUnselected", "chartLegendLegendSelectAll", "chartLegendLegendInverseSelect", "chartLegendScroll", "chartDataZoom", "chartDataRangeSelected", "chartGraphRoam", "chartGeoRoam", "chartTreeRoam", "chartTimelineChanged", "chartTimelinePlayChanged", "chartRestore", "chartDataViewChanged", "chartMagicTypeChanged", "chartGeoSelectChanged", "chartGeoSelected", "chartGeoUnselected", "chartAxisAreaSelected", "chartBrush", "chartBrushEnd", "chartBrushSelected", "chartGlobalCursorTaken", "chartRendered", "chartFinished"], exportAs: ["echarts"] }] });
|
|
4413
4399
|
}
|
|
4414
4400
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BasicTimeSeriesGraphComponent, decorators: [{
|
|
4415
4401
|
type: Component,
|
|
4416
|
-
args: [{ selector: 'app-basic-time-series-graph', imports: [NgxEchartsDirective], providers: [SimpleDatePipe, SimpleDateTimePipe], template: "<div echarts [options]=\"graphOptions()\" (chartDataZoom)=\"chartZoom($event)\" [theme]=\"chartTheme()!\" class=\"w-full h-full\"></div>\n" }]
|
|
4402
|
+
args: [{ selector: 'app-basic-time-series-graph', imports: [NgxEchartsDirective], providers: [SimpleDatePipe, SimpleDateTimePipe], template: "<div echarts [options]=\"graphOptions()\" (chartDataZoom)=\"chartZoom($event)\" [theme]=\"chartTheme()!\" class=\"w-full h-full\"></div>\r\n" }]
|
|
4417
4403
|
}], ctorParameters: () => [{ type: SimpleDateTimePipe }], propDecorators: { timeSeries: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeSeries", required: true }] }], desiredTimeFrame: [{ type: i0.Input, args: [{ isSignal: true, alias: "desiredTimeFrame", required: false }] }], primaryColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "primaryColor", required: false }] }] } });
|
|
4418
4404
|
|
|
4419
4405
|
class CardLabeledValueComponent {
|
|
@@ -4435,11 +4421,11 @@ class CardLabeledValueComponent {
|
|
|
4435
4421
|
}, ...(ngDevMode ? [{ debugName: "permissionFunction" }] : []));
|
|
4436
4422
|
hasPermission = toSignal(toObservable(this.permissionFunction).pipe(switchMap(obs => obs)), { initialValue: false });
|
|
4437
4423
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CardLabeledValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4438
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: CardLabeledValueComponent, isStandalone: true, selector: "app-card-labeled-value", inputs: { permissions: { classPropertyName: "permissions", publicName: "permissions", isSignal: true, isRequired: false, transformFunction: null }, useAssetPermissions: { classPropertyName: "useAssetPermissions", publicName: "useAssetPermissions", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, editFunction: { classPropertyName: "editFunction", publicName: "editFunction", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<mat-card\n [ngClass]=\"{'cursor-pointer hover:bg-hover-color': editFunction() && hasPermission() }\"\n [matTooltipDisabled]=\"!hasPermission()\" (click)=\"editFunction() && hasPermission() ? editFunction()!() : null\"\n [matTooltip]=\"tooltip() | translate\"\n matTooltipPosition=\"above\"\n>\n <div class=\"flex items-center justify-between p-4 gap-x-4 h-full\">\n <div class=\"flex flex-col w-full h-full overflow-hidden\">\n <div class=\"font-semibold shrink-0\">{{ label() | translate }}</div>\n <div class=\"text-mat-sys-primary flex items-center grow\">\n <ng-content/>\n </div>\n </div>\n @if (editFunction() && hasPermission()) {\n <button mat-icon-button [ngClass]=\"icon() === 'delete' ? 'text-mat-sys-on-error-container' : 'text-mat-sys-primary'\" (click)=\"editFunction()!(); $event.stopPropagation()\">\n <mat-icon>{{ icon() }}</mat-icon>\n </button>\n }\n </div>\n</mat-card>\n", styles: ["mat-card{height:100%;min-height:5.5rem}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
4424
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: CardLabeledValueComponent, isStandalone: true, selector: "app-card-labeled-value", inputs: { permissions: { classPropertyName: "permissions", publicName: "permissions", isSignal: true, isRequired: false, transformFunction: null }, useAssetPermissions: { classPropertyName: "useAssetPermissions", publicName: "useAssetPermissions", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, editFunction: { classPropertyName: "editFunction", publicName: "editFunction", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<mat-card\r\n [ngClass]=\"{'cursor-pointer hover:bg-hover-color': editFunction() && hasPermission() }\"\r\n [matTooltipDisabled]=\"!hasPermission()\" (click)=\"editFunction() && hasPermission() ? editFunction()!() : null\"\r\n [matTooltip]=\"tooltip() | translate\"\r\n matTooltipPosition=\"above\"\r\n>\r\n <div class=\"flex items-center justify-between p-4 gap-x-4 h-full\">\r\n <div class=\"flex flex-col w-full h-full overflow-hidden\">\r\n <div class=\"font-semibold shrink-0\">{{ label() | translate }}</div>\r\n <div class=\"text-mat-sys-primary flex items-center grow\">\r\n <ng-content/>\r\n </div>\r\n </div>\r\n @if (editFunction() && hasPermission()) {\r\n <button mat-icon-button [ngClass]=\"icon() === 'delete' ? 'text-mat-sys-on-error-container' : 'text-mat-sys-primary'\" (click)=\"editFunction()!(); $event.stopPropagation()\">\r\n <mat-icon>{{ icon() }}</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n</mat-card>\r\n", styles: ["mat-card{height:100%;min-height:5.5rem}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
4439
4425
|
}
|
|
4440
4426
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CardLabeledValueComponent, decorators: [{
|
|
4441
4427
|
type: Component,
|
|
4442
|
-
args: [{ selector: 'app-card-labeled-value', imports: [
|
|
4428
|
+
args: [{ selector: 'app-card-labeled-value', imports: [SharedModule], template: "<mat-card\r\n [ngClass]=\"{'cursor-pointer hover:bg-hover-color': editFunction() && hasPermission() }\"\r\n [matTooltipDisabled]=\"!hasPermission()\" (click)=\"editFunction() && hasPermission() ? editFunction()!() : null\"\r\n [matTooltip]=\"tooltip() | translate\"\r\n matTooltipPosition=\"above\"\r\n>\r\n <div class=\"flex items-center justify-between p-4 gap-x-4 h-full\">\r\n <div class=\"flex flex-col w-full h-full overflow-hidden\">\r\n <div class=\"font-semibold shrink-0\">{{ label() | translate }}</div>\r\n <div class=\"text-mat-sys-primary flex items-center grow\">\r\n <ng-content/>\r\n </div>\r\n </div>\r\n @if (editFunction() && hasPermission()) {\r\n <button mat-icon-button [ngClass]=\"icon() === 'delete' ? 'text-mat-sys-on-error-container' : 'text-mat-sys-primary'\" (click)=\"editFunction()!(); $event.stopPropagation()\">\r\n <mat-icon>{{ icon() }}</mat-icon>\r\n </button>\r\n }\r\n </div>\r\n</mat-card>\r\n", styles: ["mat-card{height:100%;min-height:5.5rem}\n"] }]
|
|
4443
4429
|
}], propDecorators: { permissions: [{ type: i0.Input, args: [{ isSignal: true, alias: "permissions", required: false }] }], useAssetPermissions: [{ type: i0.Input, args: [{ isSignal: true, alias: "useAssetPermissions", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], editFunction: [{ type: i0.Input, args: [{ isSignal: true, alias: "editFunction", required: false }] }] } });
|
|
4444
4430
|
|
|
4445
4431
|
class ConfirmationDialogComponent {
|
|
@@ -4452,16 +4438,16 @@ class ConfirmationDialogComponent {
|
|
|
4452
4438
|
confirm() {
|
|
4453
4439
|
this.dialog.close(true);
|
|
4454
4440
|
}
|
|
4455
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token:
|
|
4456
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: ConfirmationDialogComponent, isStandalone: true, selector: "app-confirmation-dialog", ngImport: i0, template: "<div class=\"flex flex-col flex-auto gap-y-8 p-4 content\">\n <div class=\"text-lg\">{{ 'COMMON.CONFIRMATION_DIALOG_TITLE' | translate }}</div>\n <div class=\"flex flex-col flex-auto gap-y-4\">\n <div class=\"flex flex-col flex-auto gap-y-4 max-h-96 overflow-hidden\">\n <div class=\"whitespace-pre-line\">{{ data.message | translate:data.parameters }}</div>\n </div>\n </div>\n <div class=\"flex flex-row flex-auto gap-x-2 justify-end\">\n <button mat-button mat-dialog-close>{{ 'COMMON.CANCEL' | translate }}</button>\n <button [ngClass]=\"{'
|
|
4441
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$3.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4442
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: ConfirmationDialogComponent, isStandalone: true, selector: "app-confirmation-dialog", ngImport: i0, template: "<div class=\"flex flex-col flex-auto gap-y-8 p-4 content\">\r\n <div class=\"text-lg\">{{ 'COMMON.CONFIRMATION_DIALOG_TITLE' | translate }}</div>\r\n <div class=\"flex flex-col flex-auto gap-y-4\">\r\n <div class=\"flex flex-col flex-auto gap-y-4 max-h-96 overflow-hidden\">\r\n <div class=\"whitespace-pre-line\">{{ data.message | translate:data.parameters }}</div>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-row flex-auto gap-x-2 justify-end\">\r\n <button mat-button mat-dialog-close>{{ 'COMMON.CANCEL' | translate }}</button>\r\n <button [ngClass]=\"{'destructive-flat-button': data.deleteDialog}\" mat-flat-button\r\n (click)=\"confirm()\">{{ data.actionButtonLabel ? (data.actionButtonLabel! | translate) : (data.deleteDialog ? ('COMMON.DELETE' | translate) : ('COMMON.CONFIRMATION_DIALOG_CONFIRM' | translate)) }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".content{max-width:var(--medium-dialog-width)}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
4457
4443
|
}
|
|
4458
4444
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
|
|
4459
4445
|
type: Component,
|
|
4460
|
-
args: [{ selector: 'app-confirmation-dialog', imports: [
|
|
4446
|
+
args: [{ selector: 'app-confirmation-dialog', imports: [SharedModule], template: "<div class=\"flex flex-col flex-auto gap-y-8 p-4 content\">\r\n <div class=\"text-lg\">{{ 'COMMON.CONFIRMATION_DIALOG_TITLE' | translate }}</div>\r\n <div class=\"flex flex-col flex-auto gap-y-4\">\r\n <div class=\"flex flex-col flex-auto gap-y-4 max-h-96 overflow-hidden\">\r\n <div class=\"whitespace-pre-line\">{{ data.message | translate:data.parameters }}</div>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-row flex-auto gap-x-2 justify-end\">\r\n <button mat-button mat-dialog-close>{{ 'COMMON.CANCEL' | translate }}</button>\r\n <button [ngClass]=\"{'destructive-flat-button': data.deleteDialog}\" mat-flat-button\r\n (click)=\"confirm()\">{{ data.actionButtonLabel ? (data.actionButtonLabel! | translate) : (data.deleteDialog ? ('COMMON.DELETE' | translate) : ('COMMON.CONFIRMATION_DIALOG_CONFIRM' | translate)) }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".content{max-width:var(--medium-dialog-width)}\n"] }]
|
|
4461
4447
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
4462
4448
|
type: Inject,
|
|
4463
4449
|
args: [MAT_DIALOG_DATA]
|
|
4464
|
-
}] }, { type:
|
|
4450
|
+
}] }, { type: i1$3.MatDialogRef }] });
|
|
4465
4451
|
|
|
4466
4452
|
function parseDateRangeInputPeriod(value, timezone) {
|
|
4467
4453
|
if (!value?.periodOption)
|
|
@@ -4618,11 +4604,11 @@ class DateRangeInputComponent {
|
|
|
4618
4604
|
useExisting: forwardRef(() => DateRangeInputComponent),
|
|
4619
4605
|
multi: true,
|
|
4620
4606
|
}
|
|
4621
|
-
], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["picker"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"w-full flex flex-col\" [formGroup]=\"dateRangeForm\">\n @if (isInForm()) {\n <mat-form-field class=\"flex\">\n <mat-label>{{ (translationPrefix() ? translationPrefix() + '_LABEL' : 'COMMON.DATE_RANGE_LABEL') | translate }}</mat-label>\n <mat-select (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\n @for (periodOption of availableDateOptions(); track $index) {\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\n }\n @if (allowCustomTimespan()) {\n <mat-option [value]=\"CUSTOM_PERIOD\">\n <div class=\"flex flex-row gap-x-4\">\n @if (dateRangeForm.get('from')?.value) {\n <div class=\"flex flex-row\">\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n <span class=\"whitespace-nowrap h-fit\"> - </span>\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n </div>\n } @else {\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\n }\n </div>\n </mat-option>\n }\n </mat-select>\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\n </mat-date-range-input>\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n }\n @if (dateRangeForm.touched && dateRangeForm.hasError('required')) {\n <mat-error>\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\n </mat-error>\n }\n @if (dateRangeForm.touched && dateRangeForm.hasError('incompletePeriod')) {\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\n }\n </mat-form-field>\n } @else {\n <div class=\"flex\">\n <mat-select class=\"date-range-flat-picker-select\" (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\n @for (periodOption of availableDateOptions(); track $index) {\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\n }\n @if (allowCustomTimespan()) {\n <mat-option [value]=\"CUSTOM_PERIOD\">\n <div class=\"flex flex-row gap-x-4\">\n @if (dateRangeForm.get('from')?.value) {\n <div class=\"flex flex-row\">\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n <span class=\"whitespace-nowrap h-fit\"> - </span>\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n </div>\n } @else {\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\n }\n </div>\n </mat-option>\n }\n </mat-select>\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\n </mat-date-range-input>\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\n <mat-datepicker-toggle matSuffix [for]=\"picker\" class=\"date-range-flat-picker-toggle\"></mat-datepicker-toggle>\n }\n </div>\n }\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
4607
|
+
], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["picker"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"w-full flex flex-col\" [formGroup]=\"dateRangeForm\">\r\n @if (isInForm()) {\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{ (translationPrefix() ? translationPrefix() + '_LABEL' : 'COMMON.DATE_RANGE_LABEL') | translate }}</mat-label>\r\n <mat-select (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\r\n @for (periodOption of availableDateOptions(); track $index) {\r\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\r\n }\r\n @if (allowCustomTimespan()) {\r\n <mat-option [value]=\"CUSTOM_PERIOD\">\r\n <div class=\"flex flex-row gap-x-4\">\r\n @if (dateRangeForm.get('from')?.value) {\r\n <div class=\"flex flex-row\">\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n <span class=\"whitespace-nowrap h-fit\"> - </span>\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n </div>\r\n } @else {\r\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\r\n }\r\n </div>\r\n </mat-option>\r\n }\r\n </mat-select>\r\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\r\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\r\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\r\n </mat-date-range-input>\r\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\r\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n }\r\n @if (dateRangeForm.touched && dateRangeForm.hasError('required')) {\r\n <mat-error>\r\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\r\n </mat-error>\r\n }\r\n @if (dateRangeForm.touched && dateRangeForm.hasError('incompletePeriod')) {\r\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\r\n }\r\n </mat-form-field>\r\n } @else {\r\n <div class=\"flex\">\r\n <mat-select class=\"date-range-flat-picker-select\" (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\r\n @for (periodOption of availableDateOptions(); track $index) {\r\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\r\n }\r\n @if (allowCustomTimespan()) {\r\n <mat-option [value]=\"CUSTOM_PERIOD\">\r\n <div class=\"flex flex-row gap-x-4\">\r\n @if (dateRangeForm.get('from')?.value) {\r\n <div class=\"flex flex-row\">\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n <span class=\"whitespace-nowrap h-fit\"> - </span>\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n </div>\r\n } @else {\r\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\r\n }\r\n </div>\r\n </mat-option>\r\n }\r\n </mat-select>\r\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\r\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\r\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\r\n </mat-date-range-input>\r\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\r\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\" class=\"date-range-flat-picker-toggle\"></mat-datepicker-toggle>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i4$4.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i4$4.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i4$4.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i4$4.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: SimpleDatePipe, name: "simpleDate" }] });
|
|
4622
4608
|
}
|
|
4623
4609
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DateRangeInputComponent, decorators: [{
|
|
4624
4610
|
type: Component,
|
|
4625
|
-
args: [{ selector: 'app-date-range-input', imports: [
|
|
4611
|
+
args: [{ selector: 'app-date-range-input', imports: [SharedModule, SimpleDatePipe], providers: [
|
|
4626
4612
|
{
|
|
4627
4613
|
provide: NG_VALUE_ACCESSOR,
|
|
4628
4614
|
useExisting: forwardRef(() => DateRangeInputComponent),
|
|
@@ -4633,7 +4619,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
4633
4619
|
useExisting: forwardRef(() => DateRangeInputComponent),
|
|
4634
4620
|
multi: true,
|
|
4635
4621
|
}
|
|
4636
|
-
], template: "<div class=\"w-full flex flex-col\" [formGroup]=\"dateRangeForm\">\n @if (isInForm()) {\n <mat-form-field class=\"flex\">\n <mat-label>{{ (translationPrefix() ? translationPrefix() + '_LABEL' : 'COMMON.DATE_RANGE_LABEL') | translate }}</mat-label>\n <mat-select (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\n @for (periodOption of availableDateOptions(); track $index) {\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\n }\n @if (allowCustomTimespan()) {\n <mat-option [value]=\"CUSTOM_PERIOD\">\n <div class=\"flex flex-row gap-x-4\">\n @if (dateRangeForm.get('from')?.value) {\n <div class=\"flex flex-row\">\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n <span class=\"whitespace-nowrap h-fit\"> - </span>\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n </div>\n } @else {\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\n }\n </div>\n </mat-option>\n }\n </mat-select>\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\n </mat-date-range-input>\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n }\n @if (dateRangeForm.touched && dateRangeForm.hasError('required')) {\n <mat-error>\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\n </mat-error>\n }\n @if (dateRangeForm.touched && dateRangeForm.hasError('incompletePeriod')) {\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\n }\n </mat-form-field>\n } @else {\n <div class=\"flex\">\n <mat-select class=\"date-range-flat-picker-select\" (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\n @for (periodOption of availableDateOptions(); track $index) {\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\n }\n @if (allowCustomTimespan()) {\n <mat-option [value]=\"CUSTOM_PERIOD\">\n <div class=\"flex flex-row gap-x-4\">\n @if (dateRangeForm.get('from')?.value) {\n <div class=\"flex flex-row\">\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n <span class=\"whitespace-nowrap h-fit\"> - </span>\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\n </div>\n } @else {\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\n }\n </div>\n </mat-option>\n }\n </mat-select>\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\n </mat-date-range-input>\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\n <mat-datepicker-toggle matSuffix [for]=\"picker\" class=\"date-range-flat-picker-toggle\"></mat-datepicker-toggle>\n }\n </div>\n }\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
4622
|
+
], template: "<div class=\"w-full flex flex-col\" [formGroup]=\"dateRangeForm\">\r\n @if (isInForm()) {\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{ (translationPrefix() ? translationPrefix() + '_LABEL' : 'COMMON.DATE_RANGE_LABEL') | translate }}</mat-label>\r\n <mat-select (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\r\n @for (periodOption of availableDateOptions(); track $index) {\r\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\r\n }\r\n @if (allowCustomTimespan()) {\r\n <mat-option [value]=\"CUSTOM_PERIOD\">\r\n <div class=\"flex flex-row gap-x-4\">\r\n @if (dateRangeForm.get('from')?.value) {\r\n <div class=\"flex flex-row\">\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n <span class=\"whitespace-nowrap h-fit\"> - </span>\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n </div>\r\n } @else {\r\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\r\n }\r\n </div>\r\n </mat-option>\r\n }\r\n </mat-select>\r\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\r\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\r\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\r\n </mat-date-range-input>\r\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\r\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n }\r\n @if (dateRangeForm.touched && dateRangeForm.hasError('required')) {\r\n <mat-error>\r\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\r\n </mat-error>\r\n }\r\n @if (dateRangeForm.touched && dateRangeForm.hasError('incompletePeriod')) {\r\n {{ 'COMMON.ERROR_VALIDATION_REQUIRED' | translate }}\r\n }\r\n </mat-form-field>\r\n } @else {\r\n <div class=\"flex\">\r\n <mat-select class=\"date-range-flat-picker-select\" (blur)=\"onTouched($event)\" formControlName=\"periodOption\" (selectionChange)=\"onTimeRangeChanged($event)\" [errorStateMatcher]=\"periodErrorStateMatcher\" panelClass=\"date-range-panel\">\r\n @for (periodOption of availableDateOptions(); track $index) {\r\n <mat-option [value]=\"periodOption\">{{ 'COMMON.RELATIVE_TIME_PERIOD_' + periodOption | translate }}</mat-option>\r\n }\r\n @if (allowCustomTimespan()) {\r\n <mat-option [value]=\"CUSTOM_PERIOD\">\r\n <div class=\"flex flex-row gap-x-4\">\r\n @if (dateRangeForm.get('from')?.value) {\r\n <div class=\"flex flex-row\">\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('from')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n <span class=\"whitespace-nowrap h-fit\"> - </span>\r\n <span class=\"whitespace-nowrap h-fit\">{{ dateRangeForm.get('to')?.value?.toMillis() | simpleDate : undefined: false }}</span>\r\n </div>\r\n } @else {\r\n <div>{{ 'COMMON.RELATIVE_TIME_PERIOD_CUSTOM' | translate }}</div>\r\n }\r\n </div>\r\n </mat-option>\r\n }\r\n </mat-select>\r\n <mat-date-range-input [rangePicker]=\"picker\" style=\"visibility: hidden; width: 0; height: 0;\">\r\n <input (blur)=\"onTouched($event)\" matStartDate formControlName=\"from\">\r\n <input (blur)=\"onTouched($event)\" matEndDate formControlName=\"to\"/>\r\n </mat-date-range-input>\r\n <mat-date-range-picker #picker (closed)=\"emitValueChange()\"></mat-date-range-picker>\r\n @if (dateRangeForm.get('periodOption')?.value === CUSTOM_PERIOD) {\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\" class=\"date-range-flat-picker-toggle\"></mat-datepicker-toggle>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"] }]
|
|
4637
4623
|
}], ctorParameters: () => [{ type: i0.DestroyRef }, { type: TenantPropertiesService }], propDecorators: { availableDateOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "availableDateOptions", required: false }] }], translationPrefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationPrefix", required: false }] }], allowCustomTimespan: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowCustomTimespan", required: false }] }], isInForm: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInForm", required: false }] }], datePicker: [{ type: i0.ViewChild, args: ['picker', { isSignal: true }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }] } });
|
|
4638
4624
|
|
|
4639
4625
|
class DateTimeFormFieldComponent {
|
|
@@ -4742,11 +4728,11 @@ class DateTimeFormFieldComponent {
|
|
|
4742
4728
|
useExisting: forwardRef(() => DateTimeFormFieldComponent),
|
|
4743
4729
|
multi: true,
|
|
4744
4730
|
}
|
|
4745
|
-
], ngImport: i0, template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"flex flex-col gap-y-4\">\n <mat-form-field [matTooltip]=\"getDateErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ (dateLabel ?? 'COMMON.DATE') | translate }}</mat-label>\n <input [matDatepicker]=\"picker\" formControlName=\"date\" matInput>\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n @for (error of getDateErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n </mat-form-field>\n <mat-form-field [matTooltip]=\"getTimeErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ (timeLabel ?? 'COMMON.TIME') | translate }}</mat-label>\n <input [format]=\"24\" [ngxMatTimepicker]=\"pickerA\" formControlName=\"time\" matInput (input)=\"onInputChange($event)\"/>\n <mat-icon (click)=\"pickerA.open()\" matSuffix> watch_later</mat-icon>\n <ngx-mat-timepicker #pickerA></ngx-mat-timepicker>\n @for (error of getTimeErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n </mat-form-field>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
4731
|
+
], ngImport: i0, template: "<ng-container [formGroup]=\"formGroup\">\r\n <div class=\"flex flex-col gap-y-4\">\r\n <mat-form-field [matTooltip]=\"getDateErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ (dateLabel ?? 'COMMON.DATE') | translate }}</mat-label>\r\n <input [matDatepicker]=\"picker\" formControlName=\"date\" matInput>\r\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n @for (error of getDateErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n <mat-form-field [matTooltip]=\"getTimeErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ (timeLabel ?? 'COMMON.TIME') | translate }}</mat-label>\r\n <input [format]=\"24\" [ngxMatTimepicker]=\"pickerA\" formControlName=\"time\" matInput (input)=\"onInputChange($event)\"/>\r\n <mat-icon (click)=\"pickerA.open()\" matSuffix> watch_later</mat-icon>\r\n <ngx-mat-timepicker #pickerA></ngx-mat-timepicker>\r\n @for (error of getTimeErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i4$4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4$4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4$4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgxMatTimepickerDirective, selector: "[ngxMatTimepicker]", inputs: ["format", "max", "min", "ngxMatTimepicker", "value", "disableClick", "disabled"] }, { kind: "component", type: NgxMatTimepickerComponent, selector: "ngx-mat-timepicker", inputs: ["appendToInput", "color", "dottedMinutesInGap", "enableKeyboardInput", "format", "minutesGap", "cancelBtnTmpl", "confirmBtnTmpl", "defaultTime", "disableAnimation", "editableHintTmpl", "hoursOnly", "isEsc", "max", "min", "preventOverlayClick", "timepickerClass"], outputs: ["closed", "hourSelected", "opened", "timeChanged", "timeSet"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
4746
4732
|
}
|
|
4747
4733
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DateTimeFormFieldComponent, decorators: [{
|
|
4748
4734
|
type: Component,
|
|
4749
|
-
args: [{ selector: 'app-date-time-form-field', imports: [
|
|
4735
|
+
args: [{ selector: 'app-date-time-form-field', imports: [SharedModule, NgxMatTimepickerDirective, NgxMatTimepickerComponent], providers: [
|
|
4750
4736
|
{
|
|
4751
4737
|
provide: NG_VALUE_ACCESSOR,
|
|
4752
4738
|
useExisting: forwardRef(() => DateTimeFormFieldComponent),
|
|
@@ -4757,7 +4743,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
4757
4743
|
useExisting: forwardRef(() => DateTimeFormFieldComponent),
|
|
4758
4744
|
multi: true,
|
|
4759
4745
|
}
|
|
4760
|
-
], template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"flex flex-col gap-y-4\">\n <mat-form-field [matTooltip]=\"getDateErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ (dateLabel ?? 'COMMON.DATE') | translate }}</mat-label>\n <input [matDatepicker]=\"picker\" formControlName=\"date\" matInput>\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n @for (error of getDateErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n </mat-form-field>\n <mat-form-field [matTooltip]=\"getTimeErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ (timeLabel ?? 'COMMON.TIME') | translate }}</mat-label>\n <input [format]=\"24\" [ngxMatTimepicker]=\"pickerA\" formControlName=\"time\" matInput (input)=\"onInputChange($event)\"/>\n <mat-icon (click)=\"pickerA.open()\" matSuffix> watch_later</mat-icon>\n <ngx-mat-timepicker #pickerA></ngx-mat-timepicker>\n @for (error of getTimeErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n }\n </mat-form-field>\n </div>\n</ng-container>\n" }]
|
|
4746
|
+
], template: "<ng-container [formGroup]=\"formGroup\">\r\n <div class=\"flex flex-col gap-y-4\">\r\n <mat-form-field [matTooltip]=\"getDateErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ (dateLabel ?? 'COMMON.DATE') | translate }}</mat-label>\r\n <input [matDatepicker]=\"picker\" formControlName=\"date\" matInput>\r\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n @for (error of getDateErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n <mat-form-field [matTooltip]=\"getTimeErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ (timeLabel ?? 'COMMON.TIME') | translate }}</mat-label>\r\n <input [format]=\"24\" [ngxMatTimepicker]=\"pickerA\" formControlName=\"time\" matInput (input)=\"onInputChange($event)\"/>\r\n <mat-icon (click)=\"pickerA.open()\" matSuffix> watch_later</mat-icon>\r\n <ngx-mat-timepicker #pickerA></ngx-mat-timepicker>\r\n @for (error of getTimeErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n</ng-container>\r\n" }]
|
|
4761
4747
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { dateLabel: [{
|
|
4762
4748
|
type: Input
|
|
4763
4749
|
}], timeLabel: [{
|
|
@@ -4885,13 +4871,13 @@ class DragDropFileUploadComponent {
|
|
|
4885
4871
|
this.destroy$.next();
|
|
4886
4872
|
this.destroy$.complete();
|
|
4887
4873
|
}
|
|
4888
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DragDropFileUploadComponent, deps: [{ token:
|
|
4889
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DragDropFileUploadComponent, isStandalone: true, selector: "application-drag-drop-file-upload", inputs: { accept: "accept", multiple: "multiple", prompt: "prompt" }, viewQueries: [{ propertyName: "dragDropZone", first: true, predicate: ["dragDropZone"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div #dragDropZone class=\"drag-drop-zone flex flex-col items-center justify-center\" [ngClass]=\"{ highlight: highlight(), disabled: disabled() }\">\n @if (files$ | async; as files) {\n @if (files.length > 0) {\n <div class=\"flex flex-col flex-wrap items-center justify-center\">\n @for (file of files; track $index) {\n <div class=\"name-wrapper flex flex-row items-center justify-center gap-2\">\n <mat-icon>description</mat-icon>\n <span [matTooltipDisabled]=\"file.name.length < TRUNCATE_NAME_LIMIT\" [matTooltip]=\"file.name\">{{ getFileName(file.name) }}</span>\n <mat-icon class=\"delete-button text-mat-sys-on-error-container\" (click)=\"deleteFile($event, $index)\">delete</mat-icon>\n </div>\n }\n </div>\n } @else {\n <span>{{ prompt | translate }}</span>\n }\n } @else {\n <span>{{ prompt | translate }}</span>\n }\n @if (controlDir.control?.errors && controlDir.control?.touched) {\n <mat-error>{{ getErrorForTranslation(controlDir.control?.errors).key | translate: getErrorForTranslation(controlDir.control?.errors).params }}</mat-error>\n }\n</div>\n<input #fileInput type=\"file\" [attr.multiple]=\"multiple ? true : null\" [attr.accept]=\"accept === '.*' ? '*' : accept\" (change)=\"onFileAdded($event)\"/>\n", styles: [":host{display:block;position:relative}input[type=file]{display:none}.drag-drop-zone{min-height:100px;min-width:250px;border:1px dashed var(--neutral-variant-color-60);cursor:pointer;border-radius:5px}.drag-drop-zone.highlight{background-color:var(--mat-sys-primary-container);border:1px solid var(--mat-sys-on-primary-container)}.drag-drop-zone.disabled{opacity:.5;pointer-events:none;cursor:no-drop}.drag-drop-zone .name-wrapper{cursor:auto}.drag-drop-zone .delete-button{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
4874
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DragDropFileUploadComponent, deps: [{ token: i5.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4875
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DragDropFileUploadComponent, isStandalone: true, selector: "application-drag-drop-file-upload", inputs: { accept: "accept", multiple: "multiple", prompt: "prompt" }, viewQueries: [{ propertyName: "dragDropZone", first: true, predicate: ["dragDropZone"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div #dragDropZone class=\"drag-drop-zone flex flex-col items-center justify-center\" [ngClass]=\"{ highlight: highlight(), disabled: disabled() }\">\r\n @if (files$ | async; as files) {\r\n @if (files.length > 0) {\r\n <div class=\"flex flex-col flex-wrap items-center justify-center\">\r\n @for (file of files; track $index) {\r\n <div class=\"name-wrapper flex flex-row items-center justify-center gap-2\">\r\n <mat-icon>description</mat-icon>\r\n <span [matTooltipDisabled]=\"file.name.length < TRUNCATE_NAME_LIMIT\" [matTooltip]=\"file.name\">{{ getFileName(file.name) }}</span>\r\n <mat-icon class=\"delete-button text-mat-sys-on-error-container\" (click)=\"deleteFile($event, $index)\">delete</mat-icon>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <span>{{ prompt | translate }}</span>\r\n }\r\n } @else {\r\n <span>{{ prompt | translate }}</span>\r\n }\r\n @if (controlDir.control?.errors && controlDir.control?.touched) {\r\n <mat-error>{{ getErrorForTranslation(controlDir.control?.errors).key | translate: getErrorForTranslation(controlDir.control?.errors).params }}</mat-error>\r\n }\r\n</div>\r\n<input #fileInput type=\"file\" [attr.multiple]=\"multiple ? true : null\" [attr.accept]=\"accept === '.*' ? '*' : accept\" (change)=\"onFileAdded($event)\"/>\r\n", styles: [":host{display:block;position:relative}input[type=file]{display:none}.drag-drop-zone{min-height:100px;min-width:250px;border:1px dashed var(--neutral-variant-color-60);cursor:pointer;border-radius:5px}.drag-drop-zone.highlight{background-color:var(--mat-sys-primary-container);border:1px solid var(--mat-sys-on-primary-container)}.drag-drop-zone.disabled{opacity:.5;pointer-events:none;cursor:no-drop}.drag-drop-zone .name-wrapper{cursor:auto}.drag-drop-zone .delete-button{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] });
|
|
4890
4876
|
}
|
|
4891
4877
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DragDropFileUploadComponent, decorators: [{
|
|
4892
4878
|
type: Component,
|
|
4893
|
-
args: [{ selector: 'application-drag-drop-file-upload', imports: [
|
|
4894
|
-
}], ctorParameters: () => [{ type:
|
|
4879
|
+
args: [{ selector: 'application-drag-drop-file-upload', imports: [SharedModule], template: "<div #dragDropZone class=\"drag-drop-zone flex flex-col items-center justify-center\" [ngClass]=\"{ highlight: highlight(), disabled: disabled() }\">\r\n @if (files$ | async; as files) {\r\n @if (files.length > 0) {\r\n <div class=\"flex flex-col flex-wrap items-center justify-center\">\r\n @for (file of files; track $index) {\r\n <div class=\"name-wrapper flex flex-row items-center justify-center gap-2\">\r\n <mat-icon>description</mat-icon>\r\n <span [matTooltipDisabled]=\"file.name.length < TRUNCATE_NAME_LIMIT\" [matTooltip]=\"file.name\">{{ getFileName(file.name) }}</span>\r\n <mat-icon class=\"delete-button text-mat-sys-on-error-container\" (click)=\"deleteFile($event, $index)\">delete</mat-icon>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <span>{{ prompt | translate }}</span>\r\n }\r\n } @else {\r\n <span>{{ prompt | translate }}</span>\r\n }\r\n @if (controlDir.control?.errors && controlDir.control?.touched) {\r\n <mat-error>{{ getErrorForTranslation(controlDir.control?.errors).key | translate: getErrorForTranslation(controlDir.control?.errors).params }}</mat-error>\r\n }\r\n</div>\r\n<input #fileInput type=\"file\" [attr.multiple]=\"multiple ? true : null\" [attr.accept]=\"accept === '.*' ? '*' : accept\" (change)=\"onFileAdded($event)\"/>\r\n", styles: [":host{display:block;position:relative}input[type=file]{display:none}.drag-drop-zone{min-height:100px;min-width:250px;border:1px dashed var(--neutral-variant-color-60);cursor:pointer;border-radius:5px}.drag-drop-zone.highlight{background-color:var(--mat-sys-primary-container);border:1px solid var(--mat-sys-on-primary-container)}.drag-drop-zone.disabled{opacity:.5;pointer-events:none;cursor:no-drop}.drag-drop-zone .name-wrapper{cursor:auto}.drag-drop-zone .delete-button{cursor:pointer}\n"] }]
|
|
4880
|
+
}], ctorParameters: () => [{ type: i5.NgControl, decorators: [{
|
|
4895
4881
|
type: Optional
|
|
4896
4882
|
}, {
|
|
4897
4883
|
type: Self
|
|
@@ -4999,13 +4985,13 @@ class GoogleMapComponent {
|
|
|
4999
4985
|
const isOffset = mapItem.trueLat !== undefined && mapItem.trueLng !== undefined;
|
|
5000
4986
|
const lastReading = isOffset ? mapItem.trueLat + ',' + mapItem.trueLng : mapItem.lat + ',' + mapItem.lng;
|
|
5001
4987
|
const offsetNotification = isOffset ? `<span>${this.translateService.instant('DASHBOARDS.MAP_WIDGET_OFFSET_NOTIFICATION')}</span>` : '';
|
|
5002
|
-
const infoWindowContent = `
|
|
5003
|
-
<div class="text-black flex flex-col gap-y-2 mt-4 !w-fit !h-fit select-none">
|
|
5004
|
-
<span class="font-bold">${mapItem.path}</span>
|
|
5005
|
-
<span>${lastReadingTime ? this.simpleDateTimePipe.transform(lastReadingTime) : ''}</span>
|
|
5006
|
-
<span class="font-bold mt-4">${lastReading}</span>
|
|
5007
|
-
${offsetNotification}
|
|
5008
|
-
</div>
|
|
4988
|
+
const infoWindowContent = `
|
|
4989
|
+
<div class="text-black flex flex-col gap-y-2 mt-4 !w-fit !h-fit select-none">
|
|
4990
|
+
<span class="font-bold">${mapItem.path}</span>
|
|
4991
|
+
<span>${lastReadingTime ? this.simpleDateTimePipe.transform(lastReadingTime) : ''}</span>
|
|
4992
|
+
<span class="font-bold mt-4">${lastReading}</span>
|
|
4993
|
+
${offsetNotification}
|
|
4994
|
+
</div>
|
|
5009
4995
|
`;
|
|
5010
4996
|
const infoWindow = new google.maps.InfoWindow({
|
|
5011
4997
|
content: infoWindowContent,
|
|
@@ -5013,10 +4999,10 @@ class GoogleMapComponent {
|
|
|
5013
4999
|
pixelOffset: new google.maps.Size(0, -4)
|
|
5014
5000
|
});
|
|
5015
5001
|
const pin = document.createElement('div');
|
|
5016
|
-
pin.innerHTML = `
|
|
5017
|
-
<svg width="48" height="48" viewBox="0 0 24 24" fill="${mapItem.color}">
|
|
5018
|
-
<path d="M10.453 14.016zM12 2.016q2.906 0 4.945 2.039t2.039 4.945q0 1.453-.727 3.328t-1.758 3.516-2.039 3.07-1.711 2.273l-.75.797q-.281-.328-.75-.867t-1.688-2.156-2.133-3.141-1.664-3.445-.75-3.375q0-2.906 2.039-4.945t4.945-2.039z"></path>
|
|
5019
|
-
</svg>
|
|
5002
|
+
pin.innerHTML = `
|
|
5003
|
+
<svg width="48" height="48" viewBox="0 0 24 24" fill="${mapItem.color}">
|
|
5004
|
+
<path d="M10.453 14.016zM12 2.016q2.906 0 4.945 2.039t2.039 4.945q0 1.453-.727 3.328t-1.758 3.516-2.039 3.07-1.711 2.273l-.75.797q-.281-.328-.75-.867t-1.688-2.156-2.133-3.141-1.664-3.445-.75-3.375q0-2.906 2.039-4.945t4.945-2.039z"></path>
|
|
5005
|
+
</svg>
|
|
5020
5006
|
`;
|
|
5021
5007
|
const marker = new google.maps.marker.AdvancedMarkerElement({
|
|
5022
5008
|
position: { lat: +mapItem.lat, lng: +mapItem.lng },
|
|
@@ -5078,11 +5064,11 @@ class GoogleMapComponent {
|
|
|
5078
5064
|
return result;
|
|
5079
5065
|
}
|
|
5080
5066
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: GoogleMapComponent, deps: [{ token: i1$1.TranslateService }, { token: SimpleDateTimePipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
5081
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: GoogleMapComponent, isStandalone: true, selector: "app-google-map", inputs: { googleMapId: { classPropertyName: "googleMapId", publicName: "googleMapId", isSignal: true, isRequired: true, transformFunction: null }, darkTheme: { classPropertyName: "darkTheme", publicName: "darkTheme", isSignal: true, isRequired: true, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, pinColor: { classPropertyName: "pinColor", publicName: "pinColor", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { markerClicked: "markerClicked" }, providers: [SimpleDateTimePipe], viewQueries: [{ propertyName: "map", first: true, predicate: GoogleMap, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"map-wrapper\">\n <google-map height=\"100%\" width=\"100%\" [options]=\"mapOptions()\" [zoom]=\"zoom()\" class=\"map-full\"/>\n <div class=\"map-controls\">\n <mat-card>\n <button mat-mini-fab (click)=\"fitBounds()\" class=\"text-mat-sys-on-surface\" type=\"button\">\n <mat-icon>filter_center_focus</mat-icon>\n </button>\n </mat-card>\n <mat-card>\n <button mat-mini-fab (click)=\"changeZoom(+1)\" [disabled]=\"zoom() === 21\" class=\"text-mat-sys-on-surface\" type=\"button\">\n <mat-icon>add</mat-icon>\n </button>\n </mat-card>\n <mat-card>\n <button mat-mini-fab (click)=\"changeZoom(-1)\" [disabled]=\"zoom() === 2\" class=\"text-mat-sys-on-surface\" type=\"button\">\n <mat-icon>remove</mat-icon>\n </button>\n </mat-card>\n </div>\n</div>\n", styles: [".map-wrapper{display:flex;width:100%;height:100%}.map-full{width:100%;height:100%}.map-controls{position:absolute;bottom:1.75rem;right:.75rem;display:flex;flex-direction:column;row-gap:.25rem}.map-controls mat-card{border:none!important}.map-controls button{background-color:transparent!important}\n"], dependencies: [{ kind: "component", type: GoogleMap, selector: "google-map", inputs: ["height", "width", "mapId", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { kind: "ngmodule", type:
|
|
5067
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: GoogleMapComponent, isStandalone: true, selector: "app-google-map", inputs: { googleMapId: { classPropertyName: "googleMapId", publicName: "googleMapId", isSignal: true, isRequired: true, transformFunction: null }, darkTheme: { classPropertyName: "darkTheme", publicName: "darkTheme", isSignal: true, isRequired: true, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, pinColor: { classPropertyName: "pinColor", publicName: "pinColor", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { markerClicked: "markerClicked" }, providers: [SimpleDateTimePipe], viewQueries: [{ propertyName: "map", first: true, predicate: GoogleMap, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"map-wrapper\">\r\n <google-map height=\"100%\" width=\"100%\" [options]=\"mapOptions()\" [zoom]=\"zoom()\" class=\"map-full\"/>\r\n <div class=\"map-controls\">\r\n <mat-card>\r\n <button mat-mini-fab (click)=\"fitBounds()\" class=\"text-mat-sys-on-surface\" type=\"button\">\r\n <mat-icon>filter_center_focus</mat-icon>\r\n </button>\r\n </mat-card>\r\n <mat-card>\r\n <button mat-mini-fab (click)=\"changeZoom(+1)\" [disabled]=\"zoom() === 21\" class=\"text-mat-sys-on-surface\" type=\"button\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n </mat-card>\r\n <mat-card>\r\n <button mat-mini-fab (click)=\"changeZoom(-1)\" [disabled]=\"zoom() === 2\" class=\"text-mat-sys-on-surface\" type=\"button\">\r\n <mat-icon>remove</mat-icon>\r\n </button>\r\n </mat-card>\r\n </div>\r\n</div>\r\n", styles: [".map-wrapper{display:flex;width:100%;height:100%}.map-full{width:100%;height:100%}.map-controls{position:absolute;bottom:1.75rem;right:.75rem;display:flex;flex-direction:column;row-gap:.25rem}.map-controls mat-card{border:none!important}.map-controls button{background-color:transparent!important}\n"], dependencies: [{ kind: "component", type: GoogleMap, selector: "google-map", inputs: ["height", "width", "mapId", "mapTypeId", "center", "zoom", "options"], outputs: ["mapInitialized", "authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }] });
|
|
5082
5068
|
}
|
|
5083
5069
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: GoogleMapComponent, decorators: [{
|
|
5084
5070
|
type: Component,
|
|
5085
|
-
args: [{ selector: 'app-google-map', imports: [GoogleMap,
|
|
5071
|
+
args: [{ selector: 'app-google-map', imports: [GoogleMap, SharedModule], providers: [SimpleDateTimePipe], template: "<div class=\"map-wrapper\">\r\n <google-map height=\"100%\" width=\"100%\" [options]=\"mapOptions()\" [zoom]=\"zoom()\" class=\"map-full\"/>\r\n <div class=\"map-controls\">\r\n <mat-card>\r\n <button mat-mini-fab (click)=\"fitBounds()\" class=\"text-mat-sys-on-surface\" type=\"button\">\r\n <mat-icon>filter_center_focus</mat-icon>\r\n </button>\r\n </mat-card>\r\n <mat-card>\r\n <button mat-mini-fab (click)=\"changeZoom(+1)\" [disabled]=\"zoom() === 21\" class=\"text-mat-sys-on-surface\" type=\"button\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n </mat-card>\r\n <mat-card>\r\n <button mat-mini-fab (click)=\"changeZoom(-1)\" [disabled]=\"zoom() === 2\" class=\"text-mat-sys-on-surface\" type=\"button\">\r\n <mat-icon>remove</mat-icon>\r\n </button>\r\n </mat-card>\r\n </div>\r\n</div>\r\n", styles: [".map-wrapper{display:flex;width:100%;height:100%}.map-full{width:100%;height:100%}.map-controls{position:absolute;bottom:1.75rem;right:.75rem;display:flex;flex-direction:column;row-gap:.25rem}.map-controls mat-card{border:none!important}.map-controls button{background-color:transparent!important}\n"] }]
|
|
5086
5072
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }, { type: SimpleDateTimePipe }], propDecorators: { map: [{ type: i0.ViewChild, args: [i0.forwardRef(() => GoogleMap), { isSignal: true }] }], googleMapId: [{ type: i0.Input, args: [{ isSignal: true, alias: "googleMapId", required: true }] }], darkTheme: [{ type: i0.Input, args: [{ isSignal: true, alias: "darkTheme", required: true }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], pinColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinColor", required: true }] }], markerClicked: [{ type: i0.Output, args: ["markerClicked"] }] } });
|
|
5087
5073
|
|
|
5088
5074
|
class ImagePreviewComponent {
|
|
@@ -5121,11 +5107,11 @@ class ImagePreviewComponent {
|
|
|
5121
5107
|
return image !== null && image.constructor.name === 'SafeHtmlImpl';
|
|
5122
5108
|
}
|
|
5123
5109
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ImagePreviewComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
5124
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ImagePreviewComponent, isStandalone: true, selector: "app-image-preview", viewQueries: [{ propertyName: "image", first: true, predicate: ["imageElement"], descendants: true }, { propertyName: "svgElement", first: true, predicate: ["svgElement"], descendants: true }], ngImport: i0, template: "<div class=\"relative overflow-hidden\" [ngStyle]=\"dimensionStyles() ? dimensionStyles() : {'opacity': '0'}\">\n <mat-icon class=\"absolute top-4 right-4 hover:cursor-pointer text-mat-sys-
|
|
5110
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ImagePreviewComponent, isStandalone: true, selector: "app-image-preview", viewQueries: [{ propertyName: "image", first: true, predicate: ["imageElement"], descendants: true }, { propertyName: "svgElement", first: true, predicate: ["svgElement"], descendants: true }], ngImport: i0, template: "<div class=\"relative overflow-hidden\" [ngStyle]=\"dimensionStyles() ? dimensionStyles() : {'opacity': '0'}\">\r\n <mat-icon class=\"absolute top-4 right-4 hover:cursor-pointer text-mat-sys-on-error-container\" matDialogClose>close</mat-icon>\r\n @if (!isHtml(data.image)) {\r\n <img #imageElement [attr.src]=\"data.image\" alt=\"ImagePreview\"/>\r\n } @else {\r\n <div #svgElement class=\"p-4\" [innerHTML]=\"data.image\"></div>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i9.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
5125
5111
|
}
|
|
5126
5112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ImagePreviewComponent, decorators: [{
|
|
5127
5113
|
type: Component,
|
|
5128
|
-
args: [{ selector: 'app-image-preview', imports: [
|
|
5114
|
+
args: [{ selector: 'app-image-preview', imports: [SharedModule], template: "<div class=\"relative overflow-hidden\" [ngStyle]=\"dimensionStyles() ? dimensionStyles() : {'opacity': '0'}\">\r\n <mat-icon class=\"absolute top-4 right-4 hover:cursor-pointer text-mat-sys-on-error-container\" matDialogClose>close</mat-icon>\r\n @if (!isHtml(data.image)) {\r\n <img #imageElement [attr.src]=\"data.image\" alt=\"ImagePreview\"/>\r\n } @else {\r\n <div #svgElement class=\"p-4\" [innerHTML]=\"data.image\"></div>\r\n }\r\n</div>\r\n" }]
|
|
5129
5115
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
5130
5116
|
type: Inject,
|
|
5131
5117
|
args: [MAT_DIALOG_DATA]
|
|
@@ -5160,21 +5146,21 @@ class ImageDisplayComponent {
|
|
|
5160
5146
|
});
|
|
5161
5147
|
}
|
|
5162
5148
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ImageDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5163
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ImageDisplayComponent, isStandalone: true, selector: "app-image-display", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (imageUrl(); as image) {\n @if (isHtml(image)) {\n <div (click)=\"openImage(image)\" [innerHTML]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\"></div>\n } @else {\n <img (click)=\"openImage(image)\" [attr.src]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\" alt=\"\"/>\n }\n}\n", styles: [""] });
|
|
5149
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ImageDisplayComponent, isStandalone: true, selector: "app-image-display", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (imageUrl(); as image) {\r\n @if (isHtml(image)) {\r\n <div (click)=\"openImage(image)\" [innerHTML]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\"></div>\r\n } @else {\r\n <img (click)=\"openImage(image)\" [attr.src]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\" alt=\"\"/>\r\n }\r\n}\r\n", styles: [""] });
|
|
5164
5150
|
}
|
|
5165
5151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ImageDisplayComponent, decorators: [{
|
|
5166
5152
|
type: Component,
|
|
5167
|
-
args: [{ selector: 'app-image-display', imports: [], template: "@if (imageUrl(); as image) {\n @if (isHtml(image)) {\n <div (click)=\"openImage(image)\" [innerHTML]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\"></div>\n } @else {\n <img (click)=\"openImage(image)\" [attr.src]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\" alt=\"\"/>\n }\n}\n" }]
|
|
5153
|
+
args: [{ selector: 'app-image-display', imports: [], template: "@if (imageUrl(); as image) {\r\n @if (isHtml(image)) {\r\n <div (click)=\"openImage(image)\" [innerHTML]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\"></div>\r\n } @else {\r\n <img (click)=\"openImage(image)\" [attr.src]=\"image\" class=\"max-h-full h-full w-full object-contain block mt-1 hover:cursor-pointer\" alt=\"\"/>\r\n }\r\n}\r\n" }]
|
|
5168
5154
|
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
|
|
5169
5155
|
|
|
5170
5156
|
class LabeledValueComponent {
|
|
5171
5157
|
name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
5172
5158
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LabeledValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5173
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: LabeledValueComponent, isStandalone: true, selector: "app-labeled-value", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-row gap-x-2 items-center\">\n <div class=\"font-bold\">{{ name() | translate }}:</div>\n <div class=\"flex flex-row items-center gap-x-2\">\n <ng-content/>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
5159
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: LabeledValueComponent, isStandalone: true, selector: "app-labeled-value", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-row gap-x-2 items-center\">\r\n <div class=\"font-bold\">{{ name() | translate }}:</div>\r\n <div class=\"flex flex-row items-center gap-x-2\">\r\n <ng-content/>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
5174
5160
|
}
|
|
5175
5161
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LabeledValueComponent, decorators: [{
|
|
5176
5162
|
type: Component,
|
|
5177
|
-
args: [{ selector: 'app-labeled-value', imports: [TranslateModule], template: "<div class=\"flex flex-row gap-x-2 items-center\">\n <div class=\"font-bold\">{{ name() | translate }}:</div>\n <div class=\"flex flex-row items-center gap-x-2\">\n <ng-content/>\n </div>\n</div>\n" }]
|
|
5163
|
+
args: [{ selector: 'app-labeled-value', imports: [TranslateModule], template: "<div class=\"flex flex-row gap-x-2 items-center\">\r\n <div class=\"font-bold\">{{ name() | translate }}:</div>\r\n <div class=\"flex flex-row items-center gap-x-2\">\r\n <ng-content/>\r\n </div>\r\n</div>\r\n" }]
|
|
5178
5164
|
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }] } });
|
|
5179
5165
|
|
|
5180
5166
|
class LoadedIconComponent {
|
|
@@ -5207,13 +5193,33 @@ class LoadedIconComponent {
|
|
|
5207
5193
|
constructor(sanitizer) {
|
|
5208
5194
|
this.sanitizer = sanitizer;
|
|
5209
5195
|
}
|
|
5210
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LoadedIconComponent, deps: [{ token: i1$
|
|
5211
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: LoadedIconComponent, isStandalone: true, selector: "app-loaded-icon", inputs: { iconRequest: { classPropertyName: "iconRequest", publicName: "iconRequest", isSignal: true, isRequired: true, transformFunction: null }, defaultIcon: { classPropertyName: "defaultIcon", publicName: "defaultIcon", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div [style.height.px]=\"size()\" [style.width.px]=\"size()\">\n @if (icon() | async; as icon) {\n <div [innerHTML]=\"icon\"></div>\n } @else {\n @if (isSvgIcon(); as icon) {\n <mat-icon [svgIcon]=\"icon.id\"></mat-icon>\n } @else {\n <mat-icon>{{ defaultIcon() }}</mat-icon>\n }\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
5196
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LoadedIconComponent, deps: [{ token: i1$4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
5197
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: LoadedIconComponent, isStandalone: true, selector: "app-loaded-icon", inputs: { iconRequest: { classPropertyName: "iconRequest", publicName: "iconRequest", isSignal: true, isRequired: true, transformFunction: null }, defaultIcon: { classPropertyName: "defaultIcon", publicName: "defaultIcon", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div [style.height.px]=\"size()\" [style.width.px]=\"size()\">\r\n @if (icon() | async; as icon) {\r\n <div [innerHTML]=\"icon\"></div>\r\n } @else {\r\n @if (isSvgIcon(); as icon) {\r\n <mat-icon [svgIcon]=\"icon.id\"></mat-icon>\r\n } @else {\r\n <mat-icon>{{ defaultIcon() }}</mat-icon>\r\n }\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] });
|
|
5212
5198
|
}
|
|
5213
5199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LoadedIconComponent, decorators: [{
|
|
5214
5200
|
type: Component,
|
|
5215
|
-
args: [{ selector: 'app-loaded-icon', imports: [
|
|
5216
|
-
}], ctorParameters: () => [{ type: i1$
|
|
5201
|
+
args: [{ selector: 'app-loaded-icon', imports: [SharedModule], template: "<div [style.height.px]=\"size()\" [style.width.px]=\"size()\">\r\n @if (icon() | async; as icon) {\r\n <div [innerHTML]=\"icon\"></div>\r\n } @else {\r\n @if (isSvgIcon(); as icon) {\r\n <mat-icon [svgIcon]=\"icon.id\"></mat-icon>\r\n } @else {\r\n <mat-icon>{{ defaultIcon() }}</mat-icon>\r\n }\r\n }\r\n</div>\r\n" }]
|
|
5202
|
+
}], ctorParameters: () => [{ type: i1$4.DomSanitizer }], propDecorators: { iconRequest: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconRequest", required: true }] }], defaultIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultIcon", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: true }] }] } });
|
|
5203
|
+
|
|
5204
|
+
class IconComponent {
|
|
5205
|
+
icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
5206
|
+
isAsyncIcon() {
|
|
5207
|
+
const icon = this.icon();
|
|
5208
|
+
return !!icon && typeof icon === 'object' && !Object.hasOwn(icon, 'id') ? icon : null;
|
|
5209
|
+
}
|
|
5210
|
+
isSvgIcon() {
|
|
5211
|
+
const icon = this.icon();
|
|
5212
|
+
return !!icon && typeof icon === 'object' && Object.hasOwn(icon, 'id') ? icon : null;
|
|
5213
|
+
}
|
|
5214
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5215
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: IconComponent, isStandalone: true, selector: "app-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"shrink-0 h-6\">\r\n @if (isAsyncIcon(); as loadedIcon) {\r\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\r\n }\r\n @if (isSvgIcon(); as svgIcon) {\r\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\r\n }\r\n @if (typeof icon() === 'string') {\r\n <mat-icon>{{ icon() }}</mat-icon>\r\n }\r\n @if (typeof icon() === 'number') {\r\n <span>{{ icon() }}</span>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: LoadedIconComponent, selector: "app-loaded-icon", inputs: ["iconRequest", "defaultIcon", "size"] }] });
|
|
5216
|
+
}
|
|
5217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: IconComponent, decorators: [{
|
|
5218
|
+
type: Component,
|
|
5219
|
+
args: [{ selector: 'app-icon', imports: [
|
|
5220
|
+
SharedModule, LoadedIconComponent, MatIcon
|
|
5221
|
+
], template: "<div class=\"shrink-0 h-6\">\r\n @if (isAsyncIcon(); as loadedIcon) {\r\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\r\n }\r\n @if (isSvgIcon(); as svgIcon) {\r\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\r\n }\r\n @if (typeof icon() === 'string') {\r\n <mat-icon>{{ icon() }}</mat-icon>\r\n }\r\n @if (typeof icon() === 'number') {\r\n <span>{{ icon() }}</span>\r\n }\r\n</div>\r\n" }]
|
|
5222
|
+
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }] } });
|
|
5217
5223
|
|
|
5218
5224
|
class LocalSortTableComponent {
|
|
5219
5225
|
tenantPropertiesService;
|
|
@@ -5272,7 +5278,7 @@ class LocalSortTableComponent {
|
|
|
5272
5278
|
}
|
|
5273
5279
|
}
|
|
5274
5280
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocalSortTableComponent, deps: [{ token: TenantPropertiesService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5275
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: LocalSortTableComponent, isStandalone: true, selector: "app-local-sort-table", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, translationPrefix: { classPropertyName: "translationPrefix", publicName: "translationPrefix", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, noValuesMessage: { classPropertyName: "noValuesMessage", publicName: "noValuesMessage", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: "<table>\n <thead>\n <tr>\n @for (column of columns(); track column.name) {\n <th class=\"!font-medium truncate\" [ngClass]=\"{'sort-field': column.shouldSort, 'cursor-pointer': column.shouldSort}\" (click)=\"column.shouldSort ? sort(column.name) : undefined\">\n <div class=\"flex flex-row items-center gap-x-2\">\n {{ (translationPrefix().toUpperCase() +column.name.toUpperCase()) | translate }}\n @if (column.shouldSort) {\n <mat-icon>{{ sortDirection === 'asc' ? 'arrow_upward' : 'arrow_downward' }}</mat-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (loading()) {\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\n <mat-spinner diameter=\"30\"></mat-spinner>\n </div>\n } @else {\n @if (displayData(); as displayData){\n @if (!noValuesMessage()) {\n @if (!sorting()) {\n <cdk-virtual-scroll-viewport [itemSize]=\"56\" class=\"viewport\">\n <tr *cdkVirtualFor=\"let element of displayData\" (click)=\"itemSelected.emit(element)\">\n @for (column of columns(); track column.name) {\n <td class=\"cursor-pointer truncate\">\n <span [matTooltip]=\"column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name]\">\n {{ column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name] }}\n </span>\n }\n </tr>\n </cdk-virtual-scroll-viewport>\n }\n } @else {\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\n <span>{{ noValuesMessage() | translate }}</span>\n </div>\n }\n }\n }\n </tbody>\n</table>\n", styles: [":host{display:block;overflow:hidden;height:100%;width:100%}table{height:100%;width:100%;display:block}table thead{height:56px}table tbody{display:block;height:calc(100% - 56px);width:100%;overflow:hidden}table tbody tr:hover{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}table th,table td{padding-left:1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--mat-sys-outline-variant)}tr{height:56px;display:table;table-layout:fixed;width:100%}.viewport{display:block;width:100%;height:100%;overflow:auto}.sort-field mat-icon{font-size:18px;line-height:18px;height:18px;width:18px;opacity:0;transition:all ease-in .2s}.sort-field:hover mat-icon{opacity:1}\n"], dependencies: [{ kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type:
|
|
5281
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: LocalSortTableComponent, isStandalone: true, selector: "app-local-sort-table", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, translationPrefix: { classPropertyName: "translationPrefix", publicName: "translationPrefix", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, noValuesMessage: { classPropertyName: "noValuesMessage", publicName: "noValuesMessage", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: "<table>\r\n <thead>\r\n <tr>\r\n @for (column of columns(); track column.name) {\r\n <th class=\"!font-medium truncate\" [ngClass]=\"{'sort-field': column.shouldSort, 'cursor-pointer': column.shouldSort}\" (click)=\"column.shouldSort ? sort(column.name) : undefined\">\r\n <div class=\"flex flex-row items-center gap-x-2\">\r\n {{ (translationPrefix().toUpperCase() +column.name.toUpperCase()) | translate }}\r\n @if (column.shouldSort) {\r\n <mat-icon>{{ sortDirection === 'asc' ? 'arrow_upward' : 'arrow_downward' }}</mat-icon>\r\n }\r\n </div>\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @if (loading()) {\r\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n } @else {\r\n @if (displayData(); as displayData){\r\n @if (!noValuesMessage()) {\r\n @if (!sorting()) {\r\n <cdk-virtual-scroll-viewport [itemSize]=\"56\" class=\"viewport\">\r\n <tr *cdkVirtualFor=\"let element of displayData\" (click)=\"itemSelected.emit(element)\">\r\n @for (column of columns(); track column.name) {\r\n <td class=\"cursor-pointer truncate\">\r\n <span [matTooltip]=\"column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name]\">\r\n {{ column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name] }}\r\n </span>\r\n }\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n }\r\n } @else {\r\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\r\n <span>{{ noValuesMessage() | translate }}</span>\r\n </div>\r\n }\r\n }\r\n }\r\n </tbody>\r\n</table>\r\n", styles: [":host{display:block;overflow:hidden;height:100%;width:100%}table{height:100%;width:100%;display:block}table thead{height:56px}table tbody{display:block;height:calc(100% - 56px);width:100%;overflow:hidden}table tbody tr:hover{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}table th,table td{padding-left:1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--mat-sys-outline-variant)}tr{height:56px;display:table;table-layout:fixed;width:100%}.viewport{display:block;width:100%;height:100%;overflow:auto}.sort-field mat-icon{font-size:18px;line-height:18px;height:18px;width:18px;opacity:0;transition:all ease-in .2s}.sort-field:hover mat-icon{opacity:1}\n"], dependencies: [{ kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
5276
5282
|
}
|
|
5277
5283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: LocalSortTableComponent, decorators: [{
|
|
5278
5284
|
type: Component,
|
|
@@ -5280,9 +5286,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
5280
5286
|
CdkFixedSizeVirtualScroll,
|
|
5281
5287
|
CdkVirtualForOf,
|
|
5282
5288
|
CdkVirtualScrollViewport,
|
|
5283
|
-
|
|
5289
|
+
SharedModule,
|
|
5284
5290
|
TranslatePipe
|
|
5285
|
-
], template: "<table>\n <thead>\n <tr>\n @for (column of columns(); track column.name) {\n <th class=\"!font-medium truncate\" [ngClass]=\"{'sort-field': column.shouldSort, 'cursor-pointer': column.shouldSort}\" (click)=\"column.shouldSort ? sort(column.name) : undefined\">\n <div class=\"flex flex-row items-center gap-x-2\">\n {{ (translationPrefix().toUpperCase() +column.name.toUpperCase()) | translate }}\n @if (column.shouldSort) {\n <mat-icon>{{ sortDirection === 'asc' ? 'arrow_upward' : 'arrow_downward' }}</mat-icon>\n }\n </div>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (loading()) {\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\n <mat-spinner diameter=\"30\"></mat-spinner>\n </div>\n } @else {\n @if (displayData(); as displayData){\n @if (!noValuesMessage()) {\n @if (!sorting()) {\n <cdk-virtual-scroll-viewport [itemSize]=\"56\" class=\"viewport\">\n <tr *cdkVirtualFor=\"let element of displayData\" (click)=\"itemSelected.emit(element)\">\n @for (column of columns(); track column.name) {\n <td class=\"cursor-pointer truncate\">\n <span [matTooltip]=\"column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name]\">\n {{ column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name] }}\n </span>\n }\n </tr>\n </cdk-virtual-scroll-viewport>\n }\n } @else {\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\n <span>{{ noValuesMessage() | translate }}</span>\n </div>\n }\n }\n }\n </tbody>\n</table>\n", styles: [":host{display:block;overflow:hidden;height:100%;width:100%}table{height:100%;width:100%;display:block}table thead{height:56px}table tbody{display:block;height:calc(100% - 56px);width:100%;overflow:hidden}table tbody tr:hover{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}table th,table td{padding-left:1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--mat-sys-outline-variant)}tr{height:56px;display:table;table-layout:fixed;width:100%}.viewport{display:block;width:100%;height:100%;overflow:auto}.sort-field mat-icon{font-size:18px;line-height:18px;height:18px;width:18px;opacity:0;transition:all ease-in .2s}.sort-field:hover mat-icon{opacity:1}\n"] }]
|
|
5291
|
+
], template: "<table>\r\n <thead>\r\n <tr>\r\n @for (column of columns(); track column.name) {\r\n <th class=\"!font-medium truncate\" [ngClass]=\"{'sort-field': column.shouldSort, 'cursor-pointer': column.shouldSort}\" (click)=\"column.shouldSort ? sort(column.name) : undefined\">\r\n <div class=\"flex flex-row items-center gap-x-2\">\r\n {{ (translationPrefix().toUpperCase() +column.name.toUpperCase()) | translate }}\r\n @if (column.shouldSort) {\r\n <mat-icon>{{ sortDirection === 'asc' ? 'arrow_upward' : 'arrow_downward' }}</mat-icon>\r\n }\r\n </div>\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @if (loading()) {\r\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n } @else {\r\n @if (displayData(); as displayData){\r\n @if (!noValuesMessage()) {\r\n @if (!sorting()) {\r\n <cdk-virtual-scroll-viewport [itemSize]=\"56\" class=\"viewport\">\r\n <tr *cdkVirtualFor=\"let element of displayData\" (click)=\"itemSelected.emit(element)\">\r\n @for (column of columns(); track column.name) {\r\n <td class=\"cursor-pointer truncate\">\r\n <span [matTooltip]=\"column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name]\">\r\n {{ column.shouldTranslateValue ? ((translationPrefix() + element[column.name]) | translate) : element[column.name] }}\r\n </span>\r\n }\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n }\r\n } @else {\r\n <div class=\"w-full h-full flex flex-col justify-center items-center\">\r\n <span>{{ noValuesMessage() | translate }}</span>\r\n </div>\r\n }\r\n }\r\n }\r\n </tbody>\r\n</table>\r\n", styles: [":host{display:block;overflow:hidden;height:100%;width:100%}table{height:100%;width:100%;display:block}table thead{height:56px}table tbody{display:block;height:calc(100% - 56px);width:100%;overflow:hidden}table tbody tr:hover{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}table th,table td{padding-left:1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--mat-sys-outline-variant)}tr{height:56px;display:table;table-layout:fixed;width:100%}.viewport{display:block;width:100%;height:100%;overflow:auto}.sort-field mat-icon{font-size:18px;line-height:18px;height:18px;width:18px;opacity:0;transition:all ease-in .2s}.sort-field:hover mat-icon{opacity:1}\n"] }]
|
|
5286
5292
|
}], ctorParameters: () => [{ type: TenantPropertiesService }, { type: i1$1.TranslateService }], propDecorators: { columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], translationPrefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationPrefix", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], noValuesMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "noValuesMessage", required: false }] }], itemSelected: [{ type: i0.Output, args: ["itemSelected"] }] } });
|
|
5287
5293
|
|
|
5288
5294
|
class MasterDetailsViewComponent {
|
|
@@ -5304,11 +5310,11 @@ class MasterDetailsViewComponent {
|
|
|
5304
5310
|
}
|
|
5305
5311
|
}, ...(ngDevMode ? [{ debugName: "width" }] : []));
|
|
5306
5312
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MasterDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5307
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: MasterDetailsViewComponent, isStandalone: true, selector: "app-master-details-view", inputs: { displayRatio: { classPropertyName: "displayRatio", publicName: "displayRatio", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex h-full w-full min-w-full min-h-full pt-2 overflow-hidden bg-base-color-50\">\n <div class=\"pr-4 flex shrink-0 grow-0\" [style.width]=\"width()\" [style.max-width]=\"width()\">\n <ng-content select=\"[app-master]\"/>\n </div>\n <mat-divider [vertical]=\"true\"/>\n <div class=\"pl-4 flex shrink grow overflow-hidden\">\n <ng-content select=\"[app-details]\"/>\n </div>\n</div>\n", styles: [":host{display:block;width:100%;height:100%;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
5313
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: MasterDetailsViewComponent, isStandalone: true, selector: "app-master-details-view", inputs: { displayRatio: { classPropertyName: "displayRatio", publicName: "displayRatio", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex h-full w-full min-w-full min-h-full pt-2 overflow-hidden bg-base-color-50\">\r\n <div class=\"pr-4 flex shrink-0 grow-0\" [style.width]=\"width()\" [style.max-width]=\"width()\">\r\n <ng-content select=\"[app-master]\"/>\r\n </div>\r\n <mat-divider [vertical]=\"true\"/>\r\n <div class=\"pl-4 flex shrink grow overflow-hidden\">\r\n <ng-content select=\"[app-details]\"/>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;width:100%;height:100%;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] });
|
|
5308
5314
|
}
|
|
5309
5315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: MasterDetailsViewComponent, decorators: [{
|
|
5310
5316
|
type: Component,
|
|
5311
|
-
args: [{ selector: 'app-master-details-view', imports: [
|
|
5317
|
+
args: [{ selector: 'app-master-details-view', imports: [SharedModule], template: "<div class=\"flex h-full w-full min-w-full min-h-full pt-2 overflow-hidden bg-base-color-50\">\r\n <div class=\"pr-4 flex shrink-0 grow-0\" [style.width]=\"width()\" [style.max-width]=\"width()\">\r\n <ng-content select=\"[app-master]\"/>\r\n </div>\r\n <mat-divider [vertical]=\"true\"/>\r\n <div class=\"pl-4 flex shrink grow overflow-hidden\">\r\n <ng-content select=\"[app-details]\"/>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;width:100%;height:100%;overflow:hidden}\n"] }]
|
|
5312
5318
|
}], propDecorators: { displayRatio: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayRatio", required: false }] }] } });
|
|
5313
5319
|
|
|
5314
5320
|
class NestedListViewComponent {
|
|
@@ -5505,13 +5511,13 @@ class NestedListViewComponent {
|
|
|
5505
5511
|
isSvgIcon(item) {
|
|
5506
5512
|
return !!item.icon && typeof item.icon !== 'string' && Object.hasOwn(item.icon, 'id') ? item.icon : null;
|
|
5507
5513
|
}
|
|
5508
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NestedListViewComponent, deps: [{ token: i0.DestroyRef }, { token:
|
|
5509
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: NestedListViewComponent, isStandalone: true, selector: "app-nested-list-view", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, dataControl: { classPropertyName: "dataControl", publicName: "dataControl", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, disableThresholdId: { classPropertyName: "disableThresholdId", publicName: "disableThresholdId", isSignal: true, isRequired: false, transformFunction: null }, hideDetails: { classPropertyName: "hideDetails", publicName: "hideDetails", isSignal: true, isRequired: false, transformFunction: null }, isColoredInput: { classPropertyName: "isColoredInput", publicName: "isColoredInput", isSignal: true, isRequired: false, transformFunction: null }, searchActions: { classPropertyName: "searchActions", publicName: "searchActions", isSignal: true, isRequired: false, transformFunction: null }, selectionConfirmationAction: { classPropertyName: "selectionConfirmationAction", publicName: "selectionConfirmationAction", isSignal: true, isRequired: false, transformFunction: null }, hideSearch: { classPropertyName: "hideSearch", publicName: "hideSearch", isSignal: true, isRequired: false, transformFunction: null }, rootButtonText: { classPropertyName: "rootButtonText", publicName: "rootButtonText", isSignal: true, isRequired: false, transformFunction: null }, enableDrag: { classPropertyName: "enableDrag", publicName: "enableDrag", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragging: "dragging", itemSelected: "itemSelected" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["nestedListItemTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden\">\n <div [ngClass]=\"width()\" class=\"master flex shrink-0 grow-0 min-w-0\">\n\n <!-- LISTING -->\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\" [ngClass]=\"hideSearch() ? 'pt-2' : 'pt-1'\">\n\n <!-- HEADER -->\n <div class=\"flex w-full flex-row gap-x-2\">\n\n <!-- SEARCH -->\n @if (!hideSearch()) {\n <div class=\"flex shrink grow flex-row pt-1 gap-x-2 overflow-hidden\">\n <mat-form-field class=\"flex grow shrink small-input search-control\" (keydown.enter)=\"defaultSearchAction()?.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [ngClass]=\"{'colored-input': isColoredInput()}\">\n <mat-label>{{ 'COMMON.SEARCH_IMMEDIATE_CHILDREN' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n @if (defaultSearchAction(); as defaultAction) {\n <div [matTooltip]=\"defaultAction.disabledTooltip ? (defaultAction.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"defaultAction.disableCondition ? !defaultAction.disableCondition({control: nameSearchControl}) : true\">\n <button mat-mini-fab [disabled]=\"defaultAction.disableCondition ? defaultAction.disableCondition({control: nameSearchControl}) : false\" (click)=\"defaultAction.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [matTooltip]=\"defaultAction.name | translate\">\n <mat-icon [svgIcon]=\"defaultAction.icon.id\"/>\n </button>\n </div>\n }\n @for (action of otherSearchActions(); track $index) {\n @if (action.condition() | async) {\n <div [matTooltip]=\"action.disabledTooltip ? (action.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"action.disableCondition ? !action.disableCondition() : true\">\n <button mat-mini-fab [disabled]=\"action.disableCondition ? action.disableCondition() : false\" (click)=\"action.action()\" [matTooltip]=\"action.name | translate\">\n <mat-icon [svgIcon]=\"action.icon.id\"/>\n </button>\n </div>\n }\n }\n </div>\n }\n </div>\n\n <!-- LIST -->\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\n\n <!-- BREADCRUMBS -->\n <div class=\"max-h-[50%] overflow-auto shrink-0\" [overflowClass]=\"'pr-4'\">\n @if (!loadingBreadcrumbs()) {\n @if (breadcrumbs(); as items) {\n <div class=\"flex flex-col w-full overflow-x-hidden\">\n @for (item of items; let i = $index; track i) {\n @if (selectedItem() && hasMultipleRoots() && i === 0) {\n <mat-card (click)=\"resetNavigation()\" class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\">\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\n <div class=\"shrink-0 h-6\">\n <mat-icon>arrow_upward</mat-icon>\n </div>\n <span class=\"text-mat-sys-on-surface\">{{ rootButtonText() | translate: {default: rootButtonText()} }}</span>\n </div>\n </mat-card>\n }\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultBreadcrumbTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: item, isSelected: selectedItem()?.id === item.id, isBreadcrumb: true, isDisabled: !!shouldDisableBreadcrumbClick(item), select: selectBreadcrumb.bind(this, item), isSvgIcon: isSvgIcon.bind(this), isAsyncIcon: isAsyncIcon.bind(this)}\">\n </ng-container>\n\n <!-- DEFAULT BREADCRUMB TEMPLATE -->\n <ng-template #defaultBreadcrumbTemplate>\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectBreadcrumb(item)\"\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag() || !!shouldDisableBreadcrumbClick(item)\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\"\n [ngClass]=\"[selectedItem()?.id === item.id ? 'selected-item' : 'regular-item hover:bg-hover-color', shouldDisableBreadcrumbClick(item) ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled' : '']\"\n [appScrollIntoView]=\"selectedItem()?.id === item.id\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\">\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\n @if (item.icon) {\n <div class=\"shrink-0 h-6\">\n @if (isAsyncIcon(item); as loadedIcon) {\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\n }\n @if (isSvgIcon(item); as svgIcon) {\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\n }\n @if (typeof item.icon === 'string') {\n <mat-icon>{{ item.icon }}</mat-icon>\n }\n </div>\n }\n <span [ngClass]=\"[selectedItem()?.id === item.id ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface']\" class=\"truncate\">{{ item.name }}</span>\n </div>\n @if (enableDrag() && !shouldDisableBreadcrumbClick(item)) {\n <mat-icon>drag_indicator</mat-icon>\n }\n </div>\n </mat-card>\n </ng-template>\n }\n </div>\n }\n }\n </div>\n\n <mat-divider class=\"w-full pb-2\"/>\n\n <!-- CHILDREN -->\n @if (selectedItem()) {\n <div class=\"flex-1 overflow-auto min-h-0\" [overflowClass]=\"'pr-4'\">\n @if (!loadingChildren()) {\n @if (filteredChildren(); as items) {\n @if (items.length) {\n <div class=\"flex flex-col w-full overflow-y-auto overflow-x-hidden\">\n @for (item of items; track $index) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultChildTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: item, isSelected: selectedItem()?.id === item.id, isBreadcrumb: false, isDisabled: false, select: selectChild.bind(this, item), isSvgIcon: isSvgIcon.bind(this), isAsyncIcon: isAsyncIcon.bind(this)}\">\n </ng-container>\n\n <!-- DEFAULT CHILD TEMPLATE -->\n <ng-template #defaultChildTemplate>\n <mat-card class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" (click)=\"selectChild(item)\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\"\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag()\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\">\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\n @if (item.icon) {\n <div class=\"shrink-0 h-6\">\n @if (isAsyncIcon(item); as loadedIcon) {\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\n }\n @if (isSvgIcon(item); as svgIcon) {\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\n }\n @if (typeof item.icon === 'string') {\n <mat-icon>{{ item.icon }}</mat-icon>\n }\n </div>\n }\n <span [ngClass]=\"selectedItem()?.id === item.id ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate\">{{ item.name }}</span>\n </div>\n @if (enableDrag()) {\n <mat-icon>drag_indicator</mat-icon>\n }\n </div>\n </mat-card>\n </ng-template>\n }\n </div>\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <ng-content select=\"[app-no-items-message]\"/>\n </div>\n }\n }\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <mat-spinner diameter=\"30\"></mat-spinner>\n </div>\n }\n </div>\n }\n\n <!-- ACTIONS (bottom right of the listing) -->\n <div class=\"absolute bottom-0 right-0 z-10\">\n <ng-content select=\"[app-actions]\"/>\n </div>\n </div>\n </div>\n\n </div>\n\n @if (!hideDetails()) {\n <mat-divider [vertical]=\"true\" class=\"relative top-2\"/>\n\n <!-- DETAILS -->\n <div class=\"details flex shrink grow overflow-hidden pt-2\">\n <ng-content select=\"[app-details]\"/>\n </div>\n }\n</div>\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.regular-item.disabled{color:unset}\n"], dependencies: [{ kind: "ngmodule", type: i2.MatButtonModule }, { kind: "component", type: i2.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: i3.MatCheckboxModule }, { kind: "ngmodule", type: i4.MatToolbarModule }, { kind: "ngmodule", type: i5.MatMenuModule }, { kind: "ngmodule", type: i6.MatFormFieldModule }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i7.MatTooltipModule }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: i8.MatSidenavModule }, { kind: "ngmodule", type: i9.MatTabsModule }, { kind: "ngmodule", type: i10.MatTableModule }, { kind: "ngmodule", type: i11.MatIconModule }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: i12.MatCardModule }, { kind: "component", type: i12.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "ngmodule", type: i13.MatSelectModule }, { kind: "ngmodule", type: i14.MatDialogModule }, { kind: "ngmodule", type: i15.MatSortModule }, { kind: "ngmodule", type: i16.MatRadioModule }, { kind: "ngmodule", type: i17.MatRippleModule }, { kind: "ngmodule", type: i18.MatDividerModule }, { kind: "component", type: i18.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: i19.MatInputModule }, { kind: "directive", type: i19.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i20.MatProgressBarModule }, { kind: "ngmodule", type: i21.MatProgressSpinnerModule }, { kind: "component", type: i21.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: i22.MatTreeModule }, { kind: "ngmodule", type: i23.MatExpansionModule }, { kind: "ngmodule", type: i24.MatDatepickerModule }, { kind: "ngmodule", type: i25.MatAutocompleteModule }, { kind: "ngmodule", type: i26.MatChipsModule }, { kind: "ngmodule", type: i27.MatGridListModule }, { kind: "ngmodule", type: i28.MatPaginatorModule }, { kind: "ngmodule", type: i29.MatSliderModule }, { kind: "ngmodule", type: i1$1.TranslateModule }, { kind: "ngmodule", type: i30.ReactiveFormsModule }, { kind: "directive", type: i30.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i30.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i30.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i31.CommonModule }, { kind: "directive", type: i31.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i31.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: i32.DragDropModule }, { kind: "directive", type: ScrollIntoViewDirective, selector: "[appScrollIntoView]", inputs: ["appScrollIntoView"] }, { kind: "component", type: LoadedIconComponent, selector: "app-loaded-icon", inputs: ["iconRequest", "defaultIcon", "size"] }, { kind: "directive", type: OverflowClassDirective, selector: "[overflowClass]", inputs: ["overflowClass"] }, { kind: "directive", type: DndDraggableDirective, selector: "[dndDraggable]", inputs: ["dndDraggable", "dndEffectAllowed", "dndType", "dndDraggingClass", "dndDraggingSourceClass", "dndDraggableDisabledClass", "dndDragImageOffsetFunction", "dndDisableIf", "dndDisableDragIf"], outputs: ["dndStart", "dndDrag", "dndEnd", "dndMoved", "dndCopied", "dndLinked", "dndCanceled"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i31.AsyncPipe, name: "async" }] });
|
|
5514
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NestedListViewComponent, deps: [{ token: i0.DestroyRef }, { token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
5515
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: NestedListViewComponent, isStandalone: true, selector: "app-nested-list-view", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, dataControl: { classPropertyName: "dataControl", publicName: "dataControl", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, disableThresholdId: { classPropertyName: "disableThresholdId", publicName: "disableThresholdId", isSignal: true, isRequired: false, transformFunction: null }, hideDetails: { classPropertyName: "hideDetails", publicName: "hideDetails", isSignal: true, isRequired: false, transformFunction: null }, isColoredInput: { classPropertyName: "isColoredInput", publicName: "isColoredInput", isSignal: true, isRequired: false, transformFunction: null }, searchActions: { classPropertyName: "searchActions", publicName: "searchActions", isSignal: true, isRequired: false, transformFunction: null }, selectionConfirmationAction: { classPropertyName: "selectionConfirmationAction", publicName: "selectionConfirmationAction", isSignal: true, isRequired: false, transformFunction: null }, hideSearch: { classPropertyName: "hideSearch", publicName: "hideSearch", isSignal: true, isRequired: false, transformFunction: null }, rootButtonText: { classPropertyName: "rootButtonText", publicName: "rootButtonText", isSignal: true, isRequired: false, transformFunction: null }, enableDrag: { classPropertyName: "enableDrag", publicName: "enableDrag", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragging: "dragging", itemSelected: "itemSelected" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["nestedListItemTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden\">\r\n <div [ngClass]=\"width()\" class=\"master flex shrink-0 grow-0 min-w-0\">\r\n\r\n <!-- LISTING -->\r\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\" [ngClass]=\"hideSearch() ? 'pt-2' : 'pt-1'\">\r\n\r\n <!-- HEADER -->\r\n <div class=\"flex w-full flex-row gap-x-2\">\r\n\r\n <!-- SEARCH -->\r\n @if (!hideSearch()) {\r\n <div class=\"flex shrink grow flex-row pt-1 gap-x-2 overflow-hidden\">\r\n <mat-form-field class=\"flex grow shrink small-input search-control\" (keydown.enter)=\"defaultSearchAction()?.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [ngClass]=\"{'colored-input': isColoredInput()}\">\r\n <mat-label>{{ 'COMMON.SEARCH_IMMEDIATE_CHILDREN' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\r\n <mat-icon matSuffix>search</mat-icon>\r\n </mat-form-field>\r\n @if (defaultSearchAction(); as defaultAction) {\r\n <div [matTooltip]=\"defaultAction.disabledTooltip ? (defaultAction.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"defaultAction.disableCondition ? !defaultAction.disableCondition({control: nameSearchControl}) : true\">\r\n <button mat-mini-fab [disabled]=\"defaultAction.disableCondition ? defaultAction.disableCondition({control: nameSearchControl}) : false\" (click)=\"defaultAction.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [matTooltip]=\"defaultAction.name | translate\">\r\n <mat-icon [svgIcon]=\"defaultAction.icon.id\"/>\r\n </button>\r\n </div>\r\n }\r\n @for (action of otherSearchActions(); track $index) {\r\n @if (action.condition() | async) {\r\n <div [matTooltip]=\"action.disabledTooltip ? (action.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"action.disableCondition ? !action.disableCondition() : true\">\r\n <button mat-mini-fab [disabled]=\"action.disableCondition ? action.disableCondition() : false\" (click)=\"action.action()\" [matTooltip]=\"action.name | translate\">\r\n <mat-icon [svgIcon]=\"action.icon.id\"/>\r\n </button>\r\n </div>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- LIST -->\r\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\r\n\r\n <!-- BREADCRUMBS -->\r\n <div class=\"max-h-[50%] overflow-auto shrink-0\" [overflowClass]=\"'pr-4'\">\r\n @if (!loadingBreadcrumbs()) {\r\n @if (breadcrumbs(); as items) {\r\n <div class=\"flex flex-col w-full overflow-x-hidden\">\r\n @for (item of items; let i = $index; track i) {\r\n @if (selectedItem() && hasMultipleRoots() && i === 0) {\r\n <mat-card (click)=\"resetNavigation()\" class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\">\r\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\r\n <div class=\"shrink-0 h-6\">\r\n <mat-icon>arrow_upward</mat-icon>\r\n </div>\r\n <span class=\"text-mat-sys-on-surface\">{{ rootButtonText() | translate: {default: rootButtonText()} }}</span>\r\n </div>\r\n </mat-card>\r\n }\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultBreadcrumbTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: item, isSelected: selectedItem()?.id === item.id, isBreadcrumb: true, isDisabled: !!shouldDisableBreadcrumbClick(item), select: selectBreadcrumb.bind(this, item), isSvgIcon: isSvgIcon.bind(this), isAsyncIcon: isAsyncIcon.bind(this)}\">\r\n </ng-container>\r\n\r\n <!-- DEFAULT BREADCRUMB TEMPLATE -->\r\n <ng-template #defaultBreadcrumbTemplate>\r\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectBreadcrumb(item)\"\r\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag() || !!shouldDisableBreadcrumbClick(item)\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\"\r\n [ngClass]=\"[selectedItem()?.id === item.id ? 'selected-item' : 'regular-item hover:bg-hover-color', shouldDisableBreadcrumbClick(item) ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled' : '']\"\r\n [appScrollIntoView]=\"selectedItem()?.id === item.id\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\">\r\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\r\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\r\n @if (item.icon) {\r\n <div class=\"shrink-0 h-6\">\r\n @if (isAsyncIcon(item); as loadedIcon) {\r\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\r\n }\r\n @if (isSvgIcon(item); as svgIcon) {\r\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\r\n }\r\n @if (typeof item.icon === 'string') {\r\n <mat-icon>{{ item.icon }}</mat-icon>\r\n }\r\n </div>\r\n }\r\n <span [ngClass]=\"[selectedItem()?.id === item.id ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface']\" class=\"truncate\">{{ item.name }}</span>\r\n </div>\r\n @if (enableDrag() && !shouldDisableBreadcrumbClick(item)) {\r\n <mat-icon>drag_indicator</mat-icon>\r\n }\r\n </div>\r\n </mat-card>\r\n </ng-template>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n <mat-divider class=\"w-full pb-2\"/>\r\n\r\n <!-- CHILDREN -->\r\n @if (selectedItem()) {\r\n <div class=\"flex-1 overflow-auto min-h-0\" [overflowClass]=\"'pr-4'\">\r\n @if (!loadingChildren()) {\r\n @if (filteredChildren(); as items) {\r\n @if (items.length) {\r\n <div class=\"flex flex-col w-full overflow-y-auto overflow-x-hidden\">\r\n @for (item of items; track $index) {\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultChildTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: item, isSelected: selectedItem()?.id === item.id, isBreadcrumb: false, isDisabled: false, select: selectChild.bind(this, item), isSvgIcon: isSvgIcon.bind(this), isAsyncIcon: isAsyncIcon.bind(this)}\">\r\n </ng-container>\r\n\r\n <!-- DEFAULT CHILD TEMPLATE -->\r\n <ng-template #defaultChildTemplate>\r\n <mat-card class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" (click)=\"selectChild(item)\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\"\r\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag()\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\">\r\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\r\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\r\n @if (item.icon) {\r\n <div class=\"shrink-0 h-6\">\r\n @if (isAsyncIcon(item); as loadedIcon) {\r\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\r\n }\r\n @if (isSvgIcon(item); as svgIcon) {\r\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\r\n }\r\n @if (typeof item.icon === 'string') {\r\n <mat-icon>{{ item.icon }}</mat-icon>\r\n }\r\n </div>\r\n }\r\n <span [ngClass]=\"selectedItem()?.id === item.id ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate\">{{ item.name }}</span>\r\n </div>\r\n @if (enableDrag()) {\r\n <mat-icon>drag_indicator</mat-icon>\r\n }\r\n </div>\r\n </mat-card>\r\n </ng-template>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <ng-content select=\"[app-no-items-message]\"/>\r\n </div>\r\n }\r\n }\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- ACTIONS (bottom right of the listing) -->\r\n <div class=\"absolute bottom-0 right-0 z-10\">\r\n <ng-content select=\"[app-actions]\"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n @if (!hideDetails()) {\r\n <mat-divider [vertical]=\"true\" class=\"relative top-2\"/>\r\n\r\n <!-- DETAILS -->\r\n <div class=\"details flex shrink grow overflow-hidden pt-2\">\r\n <ng-content select=\"[app-details]\"/>\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.regular-item.disabled{color:unset}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i1$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ScrollIntoViewDirective, selector: "[appScrollIntoView]", inputs: ["appScrollIntoView"] }, { kind: "component", type: LoadedIconComponent, selector: "app-loaded-icon", inputs: ["iconRequest", "defaultIcon", "size"] }, { kind: "directive", type: OverflowClassDirective, selector: "[overflowClass]", inputs: ["overflowClass"] }, { kind: "directive", type: DndDraggableDirective, selector: "[dndDraggable]", inputs: ["dndDraggable", "dndEffectAllowed", "dndType", "dndDraggingClass", "dndDraggingSourceClass", "dndDraggableDisabledClass", "dndDragImageOffsetFunction", "dndDisableIf", "dndDisableDragIf"], outputs: ["dndStart", "dndDrag", "dndEnd", "dndMoved", "dndCopied", "dndLinked", "dndCanceled"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] });
|
|
5510
5516
|
}
|
|
5511
5517
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NestedListViewComponent, decorators: [{
|
|
5512
5518
|
type: Component,
|
|
5513
|
-
args: [{ selector: 'app-nested-list-view', imports: [shared, ScrollIntoViewDirective, LoadedIconComponent, OverflowClassDirective, DndDraggableDirective], template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden\">\n <div [ngClass]=\"width()\" class=\"master flex shrink-0 grow-0 min-w-0\">\n\n <!-- LISTING -->\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\" [ngClass]=\"hideSearch() ? 'pt-2' : 'pt-1'\">\n\n <!-- HEADER -->\n <div class=\"flex w-full flex-row gap-x-2\">\n\n <!-- SEARCH -->\n @if (!hideSearch()) {\n <div class=\"flex shrink grow flex-row pt-1 gap-x-2 overflow-hidden\">\n <mat-form-field class=\"flex grow shrink small-input search-control\" (keydown.enter)=\"defaultSearchAction()?.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [ngClass]=\"{'colored-input': isColoredInput()}\">\n <mat-label>{{ 'COMMON.SEARCH_IMMEDIATE_CHILDREN' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n @if (defaultSearchAction(); as defaultAction) {\n <div [matTooltip]=\"defaultAction.disabledTooltip ? (defaultAction.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"defaultAction.disableCondition ? !defaultAction.disableCondition({control: nameSearchControl}) : true\">\n <button mat-mini-fab [disabled]=\"defaultAction.disableCondition ? defaultAction.disableCondition({control: nameSearchControl}) : false\" (click)=\"defaultAction.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [matTooltip]=\"defaultAction.name | translate\">\n <mat-icon [svgIcon]=\"defaultAction.icon.id\"/>\n </button>\n </div>\n }\n @for (action of otherSearchActions(); track $index) {\n @if (action.condition() | async) {\n <div [matTooltip]=\"action.disabledTooltip ? (action.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"action.disableCondition ? !action.disableCondition() : true\">\n <button mat-mini-fab [disabled]=\"action.disableCondition ? action.disableCondition() : false\" (click)=\"action.action()\" [matTooltip]=\"action.name | translate\">\n <mat-icon [svgIcon]=\"action.icon.id\"/>\n </button>\n </div>\n }\n }\n </div>\n }\n </div>\n\n <!-- LIST -->\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\n\n <!-- BREADCRUMBS -->\n <div class=\"max-h-[50%] overflow-auto shrink-0\" [overflowClass]=\"'pr-4'\">\n @if (!loadingBreadcrumbs()) {\n @if (breadcrumbs(); as items) {\n <div class=\"flex flex-col w-full overflow-x-hidden\">\n @for (item of items; let i = $index; track i) {\n @if (selectedItem() && hasMultipleRoots() && i === 0) {\n <mat-card (click)=\"resetNavigation()\" class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\">\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\n <div class=\"shrink-0 h-6\">\n <mat-icon>arrow_upward</mat-icon>\n </div>\n <span class=\"text-mat-sys-on-surface\">{{ rootButtonText() | translate: {default: rootButtonText()} }}</span>\n </div>\n </mat-card>\n }\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultBreadcrumbTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: item, isSelected: selectedItem()?.id === item.id, isBreadcrumb: true, isDisabled: !!shouldDisableBreadcrumbClick(item), select: selectBreadcrumb.bind(this, item), isSvgIcon: isSvgIcon.bind(this), isAsyncIcon: isAsyncIcon.bind(this)}\">\n </ng-container>\n\n <!-- DEFAULT BREADCRUMB TEMPLATE -->\n <ng-template #defaultBreadcrumbTemplate>\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectBreadcrumb(item)\"\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag() || !!shouldDisableBreadcrumbClick(item)\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\"\n [ngClass]=\"[selectedItem()?.id === item.id ? 'selected-item' : 'regular-item hover:bg-hover-color', shouldDisableBreadcrumbClick(item) ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled' : '']\"\n [appScrollIntoView]=\"selectedItem()?.id === item.id\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\">\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\n @if (item.icon) {\n <div class=\"shrink-0 h-6\">\n @if (isAsyncIcon(item); as loadedIcon) {\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\n }\n @if (isSvgIcon(item); as svgIcon) {\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\n }\n @if (typeof item.icon === 'string') {\n <mat-icon>{{ item.icon }}</mat-icon>\n }\n </div>\n }\n <span [ngClass]=\"[selectedItem()?.id === item.id ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface']\" class=\"truncate\">{{ item.name }}</span>\n </div>\n @if (enableDrag() && !shouldDisableBreadcrumbClick(item)) {\n <mat-icon>drag_indicator</mat-icon>\n }\n </div>\n </mat-card>\n </ng-template>\n }\n </div>\n }\n }\n </div>\n\n <mat-divider class=\"w-full pb-2\"/>\n\n <!-- CHILDREN -->\n @if (selectedItem()) {\n <div class=\"flex-1 overflow-auto min-h-0\" [overflowClass]=\"'pr-4'\">\n @if (!loadingChildren()) {\n @if (filteredChildren(); as items) {\n @if (items.length) {\n <div class=\"flex flex-col w-full overflow-y-auto overflow-x-hidden\">\n @for (item of items; track $index) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultChildTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: item, isSelected: selectedItem()?.id === item.id, isBreadcrumb: false, isDisabled: false, select: selectChild.bind(this, item), isSvgIcon: isSvgIcon.bind(this), isAsyncIcon: isAsyncIcon.bind(this)}\">\n </ng-container>\n\n <!-- DEFAULT CHILD TEMPLATE -->\n <ng-template #defaultChildTemplate>\n <mat-card class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" (click)=\"selectChild(item)\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\"\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag()\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\">\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\n @if (item.icon) {\n <div class=\"shrink-0 h-6\">\n @if (isAsyncIcon(item); as loadedIcon) {\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\n }\n @if (isSvgIcon(item); as svgIcon) {\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\n }\n @if (typeof item.icon === 'string') {\n <mat-icon>{{ item.icon }}</mat-icon>\n }\n </div>\n }\n <span [ngClass]=\"selectedItem()?.id === item.id ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate\">{{ item.name }}</span>\n </div>\n @if (enableDrag()) {\n <mat-icon>drag_indicator</mat-icon>\n }\n </div>\n </mat-card>\n </ng-template>\n }\n </div>\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <ng-content select=\"[app-no-items-message]\"/>\n </div>\n }\n }\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <mat-spinner diameter=\"30\"></mat-spinner>\n </div>\n }\n </div>\n }\n\n <!-- ACTIONS (bottom right of the listing) -->\n <div class=\"absolute bottom-0 right-0 z-10\">\n <ng-content select=\"[app-actions]\"/>\n </div>\n </div>\n </div>\n\n </div>\n\n @if (!hideDetails()) {\n <mat-divider [vertical]=\"true\" class=\"relative top-2\"/>\n\n <!-- DETAILS -->\n <div class=\"details flex shrink grow overflow-hidden pt-2\">\n <ng-content select=\"[app-details]\"/>\n </div>\n }\n</div>\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.regular-item.disabled{color:unset}\n"] }]
|
|
5514
|
-
}], ctorParameters: () => [{ type: i0.DestroyRef }, { type:
|
|
5519
|
+
args: [{ selector: 'app-nested-list-view', imports: [SharedModule, ScrollIntoViewDirective, LoadedIconComponent, OverflowClassDirective, DndDraggableDirective], template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden\">\r\n <div [ngClass]=\"width()\" class=\"master flex shrink-0 grow-0 min-w-0\">\r\n\r\n <!-- LISTING -->\r\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\" [ngClass]=\"hideSearch() ? 'pt-2' : 'pt-1'\">\r\n\r\n <!-- HEADER -->\r\n <div class=\"flex w-full flex-row gap-x-2\">\r\n\r\n <!-- SEARCH -->\r\n @if (!hideSearch()) {\r\n <div class=\"flex shrink grow flex-row pt-1 gap-x-2 overflow-hidden\">\r\n <mat-form-field class=\"flex grow shrink small-input search-control\" (keydown.enter)=\"defaultSearchAction()?.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [ngClass]=\"{'colored-input': isColoredInput()}\">\r\n <mat-label>{{ 'COMMON.SEARCH_IMMEDIATE_CHILDREN' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\r\n <mat-icon matSuffix>search</mat-icon>\r\n </mat-form-field>\r\n @if (defaultSearchAction(); as defaultAction) {\r\n <div [matTooltip]=\"defaultAction.disabledTooltip ? (defaultAction.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"defaultAction.disableCondition ? !defaultAction.disableCondition({control: nameSearchControl}) : true\">\r\n <button mat-mini-fab [disabled]=\"defaultAction.disableCondition ? defaultAction.disableCondition({control: nameSearchControl}) : false\" (click)=\"defaultAction.action({parent: this.selectedItem()?.data, control: this.nameSearchControl})\" [matTooltip]=\"defaultAction.name | translate\">\r\n <mat-icon [svgIcon]=\"defaultAction.icon.id\"/>\r\n </button>\r\n </div>\r\n }\r\n @for (action of otherSearchActions(); track $index) {\r\n @if (action.condition() | async) {\r\n <div [matTooltip]=\"action.disabledTooltip ? (action.disabledTooltip | translate) : ''\" [matTooltipDisabled]=\"action.disableCondition ? !action.disableCondition() : true\">\r\n <button mat-mini-fab [disabled]=\"action.disableCondition ? action.disableCondition() : false\" (click)=\"action.action()\" [matTooltip]=\"action.name | translate\">\r\n <mat-icon [svgIcon]=\"action.icon.id\"/>\r\n </button>\r\n </div>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- LIST -->\r\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\r\n\r\n <!-- BREADCRUMBS -->\r\n <div class=\"max-h-[50%] overflow-auto shrink-0\" [overflowClass]=\"'pr-4'\">\r\n @if (!loadingBreadcrumbs()) {\r\n @if (breadcrumbs(); as items) {\r\n <div class=\"flex flex-col w-full overflow-x-hidden\">\r\n @for (item of items; let i = $index; track i) {\r\n @if (selectedItem() && hasMultipleRoots() && i === 0) {\r\n <mat-card (click)=\"resetNavigation()\" class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\">\r\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\r\n <div class=\"shrink-0 h-6\">\r\n <mat-icon>arrow_upward</mat-icon>\r\n </div>\r\n <span class=\"text-mat-sys-on-surface\">{{ rootButtonText() | translate: {default: rootButtonText()} }}</span>\r\n </div>\r\n </mat-card>\r\n }\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultBreadcrumbTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: item, isSelected: selectedItem()?.id === item.id, isBreadcrumb: true, isDisabled: !!shouldDisableBreadcrumbClick(item), select: selectBreadcrumb.bind(this, item), isSvgIcon: isSvgIcon.bind(this), isAsyncIcon: isAsyncIcon.bind(this)}\">\r\n </ng-container>\r\n\r\n <!-- DEFAULT BREADCRUMB TEMPLATE -->\r\n <ng-template #defaultBreadcrumbTemplate>\r\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectBreadcrumb(item)\"\r\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag() || !!shouldDisableBreadcrumbClick(item)\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\"\r\n [ngClass]=\"[selectedItem()?.id === item.id ? 'selected-item' : 'regular-item hover:bg-hover-color', shouldDisableBreadcrumbClick(item) ? 'bg-disabled-color opacity-50 hover:cursor-auto pointer-events-none disabled' : '']\"\r\n [appScrollIntoView]=\"selectedItem()?.id === item.id\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\">\r\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\r\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\r\n @if (item.icon) {\r\n <div class=\"shrink-0 h-6\">\r\n @if (isAsyncIcon(item); as loadedIcon) {\r\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\r\n }\r\n @if (isSvgIcon(item); as svgIcon) {\r\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\r\n }\r\n @if (typeof item.icon === 'string') {\r\n <mat-icon>{{ item.icon }}</mat-icon>\r\n }\r\n </div>\r\n }\r\n <span [ngClass]=\"[selectedItem()?.id === item.id ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface']\" class=\"truncate\">{{ item.name }}</span>\r\n </div>\r\n @if (enableDrag() && !shouldDisableBreadcrumbClick(item)) {\r\n <mat-icon>drag_indicator</mat-icon>\r\n }\r\n </div>\r\n </mat-card>\r\n </ng-template>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n <mat-divider class=\"w-full pb-2\"/>\r\n\r\n <!-- CHILDREN -->\r\n @if (selectedItem()) {\r\n <div class=\"flex-1 overflow-auto min-h-0\" [overflowClass]=\"'pr-4'\">\r\n @if (!loadingChildren()) {\r\n @if (filteredChildren(); as items) {\r\n @if (items.length) {\r\n <div class=\"flex flex-col w-full overflow-y-auto overflow-x-hidden\">\r\n @for (item of items; track $index) {\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultChildTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: item, isSelected: selectedItem()?.id === item.id, isBreadcrumb: false, isDisabled: false, select: selectChild.bind(this, item), isSvgIcon: isSvgIcon.bind(this), isAsyncIcon: isAsyncIcon.bind(this)}\">\r\n </ng-container>\r\n\r\n <!-- DEFAULT CHILD TEMPLATE -->\r\n <ng-template #defaultChildTemplate>\r\n <mat-card class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" (click)=\"selectChild(item)\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\"\r\n [dndDraggable]=\"item.data\" [dndDisableDragIf]=\"!enableDrag()\" (dndStart)=\"dragStart($event, item.data)\" (dndEnd)=\"isDragging.set(false)\">\r\n <div class=\"px-3 flex flex-row items-center justify-between gap-x-2 item-card\">\r\n <div class=\"flex flex-row grow items-center gap-x-2 overflow-hidden\">\r\n @if (item.icon) {\r\n <div class=\"shrink-0 h-6\">\r\n @if (isAsyncIcon(item); as loadedIcon) {\r\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\r\n }\r\n @if (isSvgIcon(item); as svgIcon) {\r\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\r\n }\r\n @if (typeof item.icon === 'string') {\r\n <mat-icon>{{ item.icon }}</mat-icon>\r\n }\r\n </div>\r\n }\r\n <span [ngClass]=\"selectedItem()?.id === item.id ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate\">{{ item.name }}</span>\r\n </div>\r\n @if (enableDrag()) {\r\n <mat-icon>drag_indicator</mat-icon>\r\n }\r\n </div>\r\n </mat-card>\r\n </ng-template>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <ng-content select=\"[app-no-items-message]\"/>\r\n </div>\r\n }\r\n }\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- ACTIONS (bottom right of the listing) -->\r\n <div class=\"absolute bottom-0 right-0 z-10\">\r\n <ng-content select=\"[app-actions]\"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n @if (!hideDetails()) {\r\n <mat-divider [vertical]=\"true\" class=\"relative top-2\"/>\r\n\r\n <!-- DETAILS -->\r\n <div class=\"details flex shrink grow overflow-hidden pt-2\">\r\n <ng-content select=\"[app-details]\"/>\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}.regular-item.disabled{color:unset}\n"] }]
|
|
5520
|
+
}], ctorParameters: () => [{ type: i0.DestroyRef }, { type: i1$3.MatDialog }], propDecorators: { dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: true }] }], dataControl: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataControl", required: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], disableThresholdId: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableThresholdId", required: false }] }], hideDetails: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideDetails", required: false }] }], isColoredInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "isColoredInput", required: false }] }], searchActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchActions", required: false }] }], selectionConfirmationAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionConfirmationAction", required: false }] }], hideSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSearch", required: false }] }], rootButtonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "rootButtonText", required: false }] }], enableDrag: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableDrag", required: false }] }], dragging: [{ type: i0.Output, args: ["dragging"] }], itemSelected: [{ type: i0.Output, args: ["itemSelected"] }], itemTemplate: [{ type: i0.ContentChild, args: ['nestedListItemTemplate', { isSignal: true }] }] } });
|
|
5515
5521
|
|
|
5516
5522
|
class NestedListDataControl {
|
|
5517
5523
|
_changeSelection$ = new BehaviorSubject(null);
|
|
@@ -5567,19 +5573,20 @@ class PdfViewerComponent {
|
|
|
5567
5573
|
constructor(sanitizer) {
|
|
5568
5574
|
this.sanitizer = sanitizer;
|
|
5569
5575
|
}
|
|
5570
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: PdfViewerComponent, deps: [{ token: i1$
|
|
5571
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: PdfViewerComponent, isStandalone: true, selector: "app-pdf-viewer", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (safeSrc()) {\n <iframe [src]=\"safeSrc()\" frameborder=\"0\" class=\"w-full h-full\"></iframe>\n}", styles: [""] });
|
|
5576
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: PdfViewerComponent, deps: [{ token: i1$4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
5577
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: PdfViewerComponent, isStandalone: true, selector: "app-pdf-viewer", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (safeSrc()) {\r\n <iframe [src]=\"safeSrc()\" frameborder=\"0\" class=\"w-full h-full\"></iframe>\r\n}", styles: [""] });
|
|
5572
5578
|
}
|
|
5573
5579
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: PdfViewerComponent, decorators: [{
|
|
5574
5580
|
type: Component,
|
|
5575
|
-
args: [{ selector: 'app-pdf-viewer', imports: [], template: "@if (safeSrc()) {\n <iframe [src]=\"safeSrc()\" frameborder=\"0\" class=\"w-full h-full\"></iframe>\n}" }]
|
|
5576
|
-
}], ctorParameters: () => [{ type: i1$
|
|
5581
|
+
args: [{ selector: 'app-pdf-viewer', imports: [], template: "@if (safeSrc()) {\r\n <iframe [src]=\"safeSrc()\" frameborder=\"0\" class=\"w-full h-full\"></iframe>\r\n}" }]
|
|
5582
|
+
}], ctorParameters: () => [{ type: i1$4.DomSanitizer }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
|
|
5577
5583
|
|
|
5578
5584
|
class StandardListViewComponent {
|
|
5579
5585
|
dataSource = input.required(...(ngDevMode ? [{ debugName: "dataSource" }] : []));
|
|
5580
5586
|
dataControl = input.required(...(ngDevMode ? [{ debugName: "dataControl" }] : []));
|
|
5581
5587
|
position = input('outer', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
5582
5588
|
isColoredInput = input(false, ...(ngDevMode ? [{ debugName: "isColoredInput" }] : []));
|
|
5589
|
+
styleOverrides = input({}, ...(ngDevMode ? [{ debugName: "styleOverrides" }] : []));
|
|
5583
5590
|
loadingData = signal(true, ...(ngDevMode ? [{ debugName: "loadingData" }] : []));
|
|
5584
5591
|
loadingPage = signal(false, ...(ngDevMode ? [{ debugName: "loadingPage" }] : []));
|
|
5585
5592
|
selectedItem = signal(null, ...(ngDevMode ? [{ debugName: "selectedItem" }] : []));
|
|
@@ -5690,12 +5697,6 @@ class StandardListViewComponent {
|
|
|
5690
5697
|
this.selectedItem.set(null);
|
|
5691
5698
|
this.itemSelected.emit(null);
|
|
5692
5699
|
}
|
|
5693
|
-
isAsyncIcon(item) {
|
|
5694
|
-
return !!item.icon && typeof item.icon !== 'string' && !Object.hasOwn(item.icon, 'id') ? item.icon : null;
|
|
5695
|
-
}
|
|
5696
|
-
isSvgIcon(item) {
|
|
5697
|
-
return !!item.icon && typeof item.icon !== 'string' && Object.hasOwn(item.icon, 'id') ? item.icon : null;
|
|
5698
|
-
}
|
|
5699
5700
|
loadMore() {
|
|
5700
5701
|
this.loadingPage.set(true);
|
|
5701
5702
|
this.dataSource().nextPage().pipe(map((data) => data.map((value) => this.dataSource().prepareItem(value))), catchError(() => {
|
|
@@ -5707,12 +5708,12 @@ class StandardListViewComponent {
|
|
|
5707
5708
|
});
|
|
5708
5709
|
}
|
|
5709
5710
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StandardListViewComponent, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5710
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: StandardListViewComponent, isStandalone: true, selector: "app-standard-list-view", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, dataControl: { classPropertyName: "dataControl", publicName: "dataControl", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, isColoredInput: { classPropertyName: "isColoredInput", publicName: "isColoredInput", isSignal: true, isRequired: false, transformFunction: null }, hideSearch: { classPropertyName: "hideSearch", publicName: "hideSearch", isSignal: true, isRequired: false, transformFunction: null }, hideDetails: { classPropertyName: "hideDetails", publicName: "hideDetails", isSignal: true, isRequired: false, transformFunction: null }, hidePadding: { classPropertyName: "hidePadding", publicName: "hidePadding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelected: "itemSelected" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["standardListItemTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden {{hidePadding() ? 'pt-0' : 'pt-2'}}\">\n <div [ngClass]=\"width()\" class=\"master flex shrink-0 grow-0 min-w-0\">\n\n <!-- LISTING -->\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\">\n\n <!-- SEARCH -->\n @if (!hideSearch()) {\n <mat-form-field class=\"w-full small-input\" [ngClass]=\"{'colored-input': isColoredInput()}\">\n <mat-label>{{ 'COMMON.SEARCH' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\n <mat-icon matSuffix>search</mat-icon>\n </mat-form-field>\n }\n\n <!-- LIST -->\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\n @if (!loadingData()) {\n @if (filteredItems(); as items) {\n @if (items.length) {\n <div class=\"flex flex-col w-full grow shrink overflow-y-auto overflow-x-hidden\" [overflowClass]=\"'pr-4'\">\n @for (item of items; track $index) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: item, selectedItem: selectedItem(), selectItem: selectItem.bind(this), isSvgIcon: isSvgIcon.bind(this), isAsyncIcon: isAsyncIcon.bind(this)}\">\n </ng-container>\n\n <!--DEFAULT TEMPLATE-->\n <ng-template #defaultTemplate>\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectItem(item)\"\n [ngClass]=\"selectedItem()?.id === item.id ? 'selected-item' : 'regular-item hover:bg-hover-color'\"\n [appScrollIntoView]=\"selectedItem()?.id === item.id\" [matTooltip]=\"item.name\" matTooltipPosition=\"right\">\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\n @if (item.icon) {\n <div class=\"shrink-0 h-6\">\n @if (isAsyncIcon(item); as loadedIcon) {\n <app-loaded-icon [iconRequest]=\"loadedIcon.data\" [defaultIcon]=\"loadedIcon.defaultIcon\" [size]=\"24\"/>\n }\n @if (isSvgIcon(item); as svgIcon) {\n <mat-icon [svgIcon]=\"svgIcon.id\"></mat-icon>\n }\n @if (typeof item.icon === 'string') {\n <mat-icon>{{ item.icon }}</mat-icon>\n }\n </div>\n }\n <span [ngClass]=\"selectedItem()?.id === item.id ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate\">{{ item.name }}</span>\n </div>\n </mat-card>\n </ng-template>\n }\n @if (this.dataSource().isPaged && !this.dataSource().isLastPage) {\n <mat-card class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" (click)=\"loadMore()\">\n <div class=\"px-3 flex flex-row justify-center items-center gap-x-2 item-card\">\n @if (loadingPage()) {\n <mat-spinner diameter=\"30\"></mat-spinner>\n } @else {\n <span class=\"text-mat-sys-on-surface\">{{ 'COMMON.LOAD_MORE' | translate }}</span>\n }\n </div>\n </mat-card>\n }\n </div>\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <ng-content select=\"[app-no-items-message]\"></ng-content>\n </div>\n }\n }\n } @else {\n <div class=\"flex flex-col grow justify-center items-center\">\n <mat-spinner diameter=\"30\"></mat-spinner>\n </div>\n }\n\n <!-- ACTIONS (bottom right of the listing) -->\n <div class=\"absolute bottom-0 right-0 z-10\">\n <ng-content select=\"[app-actions]\"/>\n </div>\n </div>\n </div>\n\n </div>\n\n @if (!hideDetails()) {\n <mat-divider [vertical]=\"true\"/>\n\n <!-- DETAILS -->\n <div class=\"details flex shrink grow overflow-hidden\">\n <ng-content select=\"[app-details]\"/>\n </div>\n }\n</div>\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}\n"], dependencies: [{ kind: "ngmodule", type: i2.MatButtonModule }, { kind: "ngmodule", type: i3.MatCheckboxModule }, { kind: "ngmodule", type: i4.MatToolbarModule }, { kind: "ngmodule", type: i5.MatMenuModule }, { kind: "ngmodule", type: i6.MatFormFieldModule }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i7.MatTooltipModule }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: i8.MatSidenavModule }, { kind: "ngmodule", type: i9.MatTabsModule }, { kind: "ngmodule", type: i10.MatTableModule }, { kind: "ngmodule", type: i11.MatIconModule }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: i12.MatCardModule }, { kind: "component", type: i12.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "ngmodule", type: i13.MatSelectModule }, { kind: "ngmodule", type: i14.MatDialogModule }, { kind: "ngmodule", type: i15.MatSortModule }, { kind: "ngmodule", type: i16.MatRadioModule }, { kind: "ngmodule", type: i17.MatRippleModule }, { kind: "ngmodule", type: i18.MatDividerModule }, { kind: "component", type: i18.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: i19.MatInputModule }, { kind: "directive", type: i19.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: i20.MatProgressBarModule }, { kind: "ngmodule", type: i21.MatProgressSpinnerModule }, { kind: "component", type: i21.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: i22.MatTreeModule }, { kind: "ngmodule", type: i23.MatExpansionModule }, { kind: "ngmodule", type: i24.MatDatepickerModule }, { kind: "ngmodule", type: i25.MatAutocompleteModule }, { kind: "ngmodule", type: i26.MatChipsModule }, { kind: "ngmodule", type: i27.MatGridListModule }, { kind: "ngmodule", type: i28.MatPaginatorModule }, { kind: "ngmodule", type: i29.MatSliderModule }, { kind: "ngmodule", type: i1$1.TranslateModule }, { kind: "ngmodule", type: i30.ReactiveFormsModule }, { kind: "directive", type: i30.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i30.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i30.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i31.CommonModule }, { kind: "directive", type: i31.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i31.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: i32.DragDropModule }, { kind: "directive", type: OverflowClassDirective, selector: "[overflowClass]", inputs: ["overflowClass"] }, { kind: "directive", type: ScrollIntoViewDirective, selector: "[appScrollIntoView]", inputs: ["appScrollIntoView"] }, { kind: "component", type: LoadedIconComponent, selector: "app-loaded-icon", inputs: ["iconRequest", "defaultIcon", "size"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
5711
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: StandardListViewComponent, isStandalone: true, selector: "app-standard-list-view", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, dataControl: { classPropertyName: "dataControl", publicName: "dataControl", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, isColoredInput: { classPropertyName: "isColoredInput", publicName: "isColoredInput", isSignal: true, isRequired: false, transformFunction: null }, styleOverrides: { classPropertyName: "styleOverrides", publicName: "styleOverrides", isSignal: true, isRequired: false, transformFunction: null }, hideSearch: { classPropertyName: "hideSearch", publicName: "hideSearch", isSignal: true, isRequired: false, transformFunction: null }, hideDetails: { classPropertyName: "hideDetails", publicName: "hideDetails", isSignal: true, isRequired: false, transformFunction: null }, hidePadding: { classPropertyName: "hidePadding", publicName: "hidePadding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelected: "itemSelected" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["standardListItemTemplate"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden {{hidePadding() ? 'pt-0' : 'pt-2'}}\">\r\n <div [ngClass]=\"width()\" class=\"master flex shrink-0 grow-0 min-w-0\">\r\n\r\n <!-- LISTING -->\r\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\">\r\n\r\n <!-- SEARCH -->\r\n @if (!hideSearch()) {\r\n <mat-form-field class=\"w-full small-input\" [ngClass]=\"{'colored-input': isColoredInput()}\">\r\n <mat-label>{{ 'COMMON.SEARCH' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\r\n <mat-icon matSuffix>search</mat-icon>\r\n </mat-form-field>\r\n }\r\n\r\n <!-- LIST -->\r\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\r\n @if (!loadingData()) {\r\n @if (filteredItems(); as items) {\r\n @if (items.length) {\r\n <div class=\"flex flex-col w-full grow shrink overflow-y-auto overflow-x-hidden\" [overflowClass]=\"'pr-4'\">\r\n @for (item of items; track $index) {\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultTemplate\" [ngTemplateOutletContext]=\"{$implicit: item, selectedItem: selectedItem(), selectItem: selectItem.bind(this)}\"/>\r\n\r\n <!--DEFAULT TEMPLATE-->\r\n <ng-template #defaultTemplate>\r\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectItem(item)\"\r\n [class]=\"selectedItem()?.id === item.id ? 'selected-item' : 'regular-item hover:bg-hover-color'\"\r\n [ngClass]=\"styleOverrides()?.card ?? {}\"\r\n [appScrollIntoView]=\"selectedItem()?.id === item.id\"\r\n [matTooltip]=\"item.name\" matTooltipPosition=\"right\">\r\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\r\n @if (item.icon; as icon) {\r\n <app-icon [icon]=\"icon\" [ngClass]=\"styleOverrides()?.leftIcon ?? {}\"/>\r\n }\r\n <span [ngClass]=\"selectedItem()?.id === item.id ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate flex-1\">{{ item.name }}</span>\r\n @if (item.rightIcon; as icon) {\r\n <app-icon [icon]=\"icon\" [ngClass]=\"styleOverrides()?.rightIcon ?? {}\"/>\r\n }\r\n </div>\r\n </mat-card>\r\n </ng-template>\r\n }\r\n\r\n <!-- Load more -->\r\n @if (this.dataSource().isPaged && !this.dataSource().isLastPage) {\r\n <mat-card class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" (click)=\"loadMore()\">\r\n <div class=\"px-3 flex flex-row justify-center items-center gap-x-2 item-card\">\r\n @if (loadingPage()) {\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n } @else {\r\n <span class=\"text-mat-sys-on-surface\">{{ 'COMMON.LOAD_MORE' | translate }}</span>\r\n }\r\n </div>\r\n </mat-card>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <ng-content select=\"[app-no-items-message]\"></ng-content>\r\n </div>\r\n }\r\n }\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n }\r\n\r\n <!-- ACTIONS (bottom right of the listing) -->\r\n <div class=\"absolute bottom-0 right-0 z-10\">\r\n <ng-content select=\"[app-actions]\"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n @if (!hideDetails()) {\r\n <mat-divider [vertical]=\"true\"/>\r\n\r\n <!-- DETAILS -->\r\n <div class=\"details flex shrink grow overflow-hidden\">\r\n <ng-content select=\"[app-details]\"/>\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i1$5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: OverflowClassDirective, selector: "[overflowClass]", inputs: ["overflowClass"] }, { kind: "directive", type: ScrollIntoViewDirective, selector: "[appScrollIntoView]", inputs: ["appScrollIntoView"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["icon"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
5711
5712
|
}
|
|
5712
5713
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StandardListViewComponent, decorators: [{
|
|
5713
5714
|
type: Component,
|
|
5714
|
-
args: [{ selector: 'app-standard-list-view', imports: [
|
|
5715
|
-
}], ctorParameters: () => [{ type: i0.DestroyRef }], propDecorators: { dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: true }] }], dataControl: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataControl", required: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], isColoredInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "isColoredInput", required: false }] }], hideSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSearch", required: false }] }], hideDetails: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideDetails", required: false }] }], hidePadding: [{ type: i0.Input, args: [{ isSignal: true, alias: "hidePadding", required: false }] }], itemSelected: [{ type: i0.Output, args: ["itemSelected"] }], itemTemplate: [{ type: i0.ContentChild, args: ['standardListItemTemplate', { isSignal: true }] }] } });
|
|
5715
|
+
args: [{ selector: 'app-standard-list-view', imports: [SharedModule, OverflowClassDirective, ScrollIntoViewDirective, IconComponent], template: "<div class=\"container flex h-full w-full min-w-full min-h-full relative overflow-hidden {{hidePadding() ? 'pt-0' : 'pt-2'}}\">\r\n <div [ngClass]=\"width()\" class=\"master flex shrink-0 grow-0 min-w-0\">\r\n\r\n <!-- LISTING -->\r\n <div class=\"w-full h-full flex flex-col gap-y-2 relative\">\r\n\r\n <!-- SEARCH -->\r\n @if (!hideSearch()) {\r\n <mat-form-field class=\"w-full small-input\" [ngClass]=\"{'colored-input': isColoredInput()}\">\r\n <mat-label>{{ 'COMMON.SEARCH' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"nameSearchControl\">\r\n <mat-icon matSuffix>search</mat-icon>\r\n </mat-form-field>\r\n }\r\n\r\n <!-- LIST -->\r\n <div class=\"flex flex-col w-full h-full relative overflow-hidden\">\r\n @if (!loadingData()) {\r\n @if (filteredItems(); as items) {\r\n @if (items.length) {\r\n <div class=\"flex flex-col w-full grow shrink overflow-y-auto overflow-x-hidden\" [overflowClass]=\"'pr-4'\">\r\n @for (item of items; track $index) {\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate() || defaultTemplate\" [ngTemplateOutletContext]=\"{$implicit: item, selectedItem: selectedItem(), selectItem: selectItem.bind(this)}\"/>\r\n\r\n <!--DEFAULT TEMPLATE-->\r\n <ng-template #defaultTemplate>\r\n <mat-card class=\"mb-2 cursor-pointer\" (click)=\"selectItem(item)\"\r\n [class]=\"selectedItem()?.id === item.id ? 'selected-item' : 'regular-item hover:bg-hover-color'\"\r\n [ngClass]=\"styleOverrides()?.card ?? {}\"\r\n [appScrollIntoView]=\"selectedItem()?.id === item.id\"\r\n [matTooltip]=\"item.name\" matTooltipPosition=\"right\">\r\n <div class=\"px-3 flex flex-row items-center gap-x-2 item-card\">\r\n @if (item.icon; as icon) {\r\n <app-icon [icon]=\"icon\" [ngClass]=\"styleOverrides()?.leftIcon ?? {}\"/>\r\n }\r\n <span [ngClass]=\"selectedItem()?.id === item.id ? 'text-mat-sys-surface-container' : 'text-mat-sys-on-surface'\" class=\"truncate flex-1\">{{ item.name }}</span>\r\n @if (item.rightIcon; as icon) {\r\n <app-icon [icon]=\"icon\" [ngClass]=\"styleOverrides()?.rightIcon ?? {}\"/>\r\n }\r\n </div>\r\n </mat-card>\r\n </ng-template>\r\n }\r\n\r\n <!-- Load more -->\r\n @if (this.dataSource().isPaged && !this.dataSource().isLastPage) {\r\n <mat-card class=\"mb-2 cursor-pointer regular-item hover:bg-hover-color\" (click)=\"loadMore()\">\r\n <div class=\"px-3 flex flex-row justify-center items-center gap-x-2 item-card\">\r\n @if (loadingPage()) {\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n } @else {\r\n <span class=\"text-mat-sys-on-surface\">{{ 'COMMON.LOAD_MORE' | translate }}</span>\r\n }\r\n </div>\r\n </mat-card>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <ng-content select=\"[app-no-items-message]\"></ng-content>\r\n </div>\r\n }\r\n }\r\n } @else {\r\n <div class=\"flex flex-col grow justify-center items-center\">\r\n <mat-spinner diameter=\"30\"></mat-spinner>\r\n </div>\r\n }\r\n\r\n <!-- ACTIONS (bottom right of the listing) -->\r\n <div class=\"absolute bottom-0 right-0 z-10\">\r\n <ng-content select=\"[app-actions]\"/>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n @if (!hideDetails()) {\r\n <mat-divider [vertical]=\"true\"/>\r\n\r\n <!-- DETAILS -->\r\n <div class=\"details flex shrink grow overflow-hidden\">\r\n <ng-content select=\"[app-details]\"/>\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}mat-card,.item-card{height:40px!important}.container{background-color:var(--base-color-50)}.container .master{padding-right:16px}.container .details{padding-left:16px}.selected-item{background:var(--mat-sys-primary);fill:var(--mat-sys-on-primary);color:var(--mat-sys-on-primary)}.regular-item{fill:var(--mat-sys-primary);color:var(--mat-sys-primary)}\n"] }]
|
|
5716
|
+
}], ctorParameters: () => [{ type: i0.DestroyRef }], propDecorators: { dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: true }] }], dataControl: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataControl", required: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], isColoredInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "isColoredInput", required: false }] }], styleOverrides: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleOverrides", required: false }] }], hideSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSearch", required: false }] }], hideDetails: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideDetails", required: false }] }], hidePadding: [{ type: i0.Input, args: [{ isSignal: true, alias: "hidePadding", required: false }] }], itemSelected: [{ type: i0.Output, args: ["itemSelected"] }], itemTemplate: [{ type: i0.ContentChild, args: ['standardListItemTemplate', { isSignal: true }] }] } });
|
|
5716
5717
|
|
|
5717
5718
|
class StandardListDataControl {
|
|
5718
5719
|
_changeSelection$ = new BehaviorSubject(null);
|
|
@@ -5796,13 +5797,13 @@ class TabulatedChipViewComponent {
|
|
|
5796
5797
|
this.router.navigate([route], { relativeTo: this.route, queryParamsHandling: this.queryParamHandling() });
|
|
5797
5798
|
}
|
|
5798
5799
|
}
|
|
5799
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TabulatedChipViewComponent, deps: [{ token: i1$
|
|
5800
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: TabulatedChipViewComponent, isStandalone: true, selector: "app-tabulated-chip-view", inputs: { tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: true, transformFunction: null }, queryParamHandling: { classPropertyName: "queryParamHandling", publicName: "queryParamHandling", isSignal: true, isRequired: false, transformFunction: null }, saveLastActiveTab: { classPropertyName: "saveLastActiveTab", publicName: "saveLastActiveTab", isSignal: true, isRequired: false, transformFunction: null }, navBarLayoutClasses: { classPropertyName: "navBarLayoutClasses", publicName: "navBarLayoutClasses", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-auto flex-col overflow-hidden tabulated-view-container\">\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\" [ngClass]=\"navBarLayoutClasses()\">\n @for (tab of tabs(); track $index) {\n @if (!tab.condition || (tab.condition | async)) {\n <div\n mat-tab-link\n [active]=\"isActive(tab.route)\"\n (click)=\"navigate(tab.route)\"\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\n [ngClass]=\"{ 'bg-mat-sys-primary': isActive(tab.route), 'active': isActive(tab.route) }\"\n class=\"rounded mr-2 navigation-tab\"\n [attr.data-test]=\"tab.name + '_tab'\"\n >\n @if (tab.icon) {\n <mat-icon>{{ tab.icon }}</mat-icon>\n }\n <span [ngClass]=\"isActive(tab.route) ?'text-mat-sys-surface-container' : 'text-mat-sys-primary'\">{{ tab.name | translate }}</span>\n </div>\n }\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\n <router-outlet/>\n </mat-tab-nav-panel>\n</div>\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box;--mat-tab-active-indicator-color: transparent;--mat-tab-active-focus-indicator-color: transparent;--mat-tab-active-hover-indicator-color: transparent;--mat-tab-active-ripple-color: transparent;--mat-tab-inactive-ripple-color: transparent;--mat-tab-disabled-ripple-color: transparent;--mat-tab-active-indicator-height: 0;--mat-tab-divider-height: 0px;--mat-tab-container-height: 40px}.navigation{max-width:100%}.navigation-tab{border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:0 1rem;height:2.5rem;box-sizing:border-box}.navigation-tab.active{border:none}.navigation-tab:hover{box-shadow:inset 0 0 0 200px #fff3}.navigation-tab:hover mat-icon,.navigation-tab:hover span{opacity:.8}:host-context(.alt-theme) .navigation-tab:hover{box-shadow:inset 0 0 0 200px #0003}:host-context(.alt-theme) .navigation-tab:hover mat-icon,:host-context(.alt-theme) .navigation-tab:hover span{opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
5800
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TabulatedChipViewComponent, deps: [{ token: i1$6.Router }, { token: i1$6.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
5801
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: TabulatedChipViewComponent, isStandalone: true, selector: "app-tabulated-chip-view", inputs: { tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: true, transformFunction: null }, queryParamHandling: { classPropertyName: "queryParamHandling", publicName: "queryParamHandling", isSignal: true, isRequired: false, transformFunction: null }, saveLastActiveTab: { classPropertyName: "saveLastActiveTab", publicName: "saveLastActiveTab", isSignal: true, isRequired: false, transformFunction: null }, navBarLayoutClasses: { classPropertyName: "navBarLayoutClasses", publicName: "navBarLayoutClasses", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-auto flex-col overflow-hidden tabulated-view-container\">\r\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\" [ngClass]=\"navBarLayoutClasses()\">\r\n @for (tab of tabs(); track $index) {\r\n @if (!tab.condition || (tab.condition | async)) {\r\n <div\r\n mat-tab-link\r\n [active]=\"isActive(tab.route)\"\r\n (click)=\"navigate(tab.route)\"\r\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\r\n [ngClass]=\"{ 'bg-mat-sys-primary': isActive(tab.route), 'active': isActive(tab.route) }\"\r\n class=\"rounded mr-2 navigation-tab\"\r\n [attr.data-test]=\"tab.name + '_tab'\"\r\n >\r\n @if (tab.icon) {\r\n <mat-icon>{{ tab.icon }}</mat-icon>\r\n }\r\n <span [ngClass]=\"isActive(tab.route) ?'text-mat-sys-surface-container' : 'text-mat-sys-primary'\">{{ tab.name | translate }}</span>\r\n </div>\r\n }\r\n }\r\n </nav>\r\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\r\n <router-outlet/>\r\n </mat-tab-nav-panel>\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box;--mat-tab-active-indicator-color: transparent;--mat-tab-active-focus-indicator-color: transparent;--mat-tab-active-hover-indicator-color: transparent;--mat-tab-active-ripple-color: transparent;--mat-tab-inactive-ripple-color: transparent;--mat-tab-disabled-ripple-color: transparent;--mat-tab-active-indicator-height: 0;--mat-tab-divider-height: 0px;--mat-tab-container-height: 40px}.navigation{max-width:100%}.navigation-tab{border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:0 1rem;height:2.5rem;box-sizing:border-box}.navigation-tab.active{border:none}.navigation-tab:hover{box-shadow:inset 0 0 0 200px #fff3}.navigation-tab:hover mat-icon,.navigation-tab:hover span{opacity:.8}:host-context(.alt-theme) .navigation-tab:hover{box-shadow:inset 0 0 0 200px #0003}:host-context(.alt-theme) .navigation-tab:hover mat-icon,:host-context(.alt-theme) .navigation-tab:hover span{opacity:.6}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3$1.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i3$1.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i3$1.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$6.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] });
|
|
5801
5802
|
}
|
|
5802
5803
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TabulatedChipViewComponent, decorators: [{
|
|
5803
5804
|
type: Component,
|
|
5804
|
-
args: [{ selector: 'app-tabulated-chip-view', imports: [
|
|
5805
|
-
}], ctorParameters: () => [{ type: i1$
|
|
5805
|
+
args: [{ selector: 'app-tabulated-chip-view', imports: [SharedModule], template: "<div class=\"flex flex-auto flex-col overflow-hidden tabulated-view-container\">\r\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\" [ngClass]=\"navBarLayoutClasses()\">\r\n @for (tab of tabs(); track $index) {\r\n @if (!tab.condition || (tab.condition | async)) {\r\n <div\r\n mat-tab-link\r\n [active]=\"isActive(tab.route)\"\r\n (click)=\"navigate(tab.route)\"\r\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\r\n [ngClass]=\"{ 'bg-mat-sys-primary': isActive(tab.route), 'active': isActive(tab.route) }\"\r\n class=\"rounded mr-2 navigation-tab\"\r\n [attr.data-test]=\"tab.name + '_tab'\"\r\n >\r\n @if (tab.icon) {\r\n <mat-icon>{{ tab.icon }}</mat-icon>\r\n }\r\n <span [ngClass]=\"isActive(tab.route) ?'text-mat-sys-surface-container' : 'text-mat-sys-primary'\">{{ tab.name | translate }}</span>\r\n </div>\r\n }\r\n }\r\n </nav>\r\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\r\n <router-outlet/>\r\n </mat-tab-nav-panel>\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box;--mat-tab-active-indicator-color: transparent;--mat-tab-active-focus-indicator-color: transparent;--mat-tab-active-hover-indicator-color: transparent;--mat-tab-active-ripple-color: transparent;--mat-tab-inactive-ripple-color: transparent;--mat-tab-disabled-ripple-color: transparent;--mat-tab-active-indicator-height: 0;--mat-tab-divider-height: 0px;--mat-tab-container-height: 40px}.navigation{max-width:100%}.navigation-tab{border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:0 1rem;height:2.5rem;box-sizing:border-box}.navigation-tab.active{border:none}.navigation-tab:hover{box-shadow:inset 0 0 0 200px #fff3}.navigation-tab:hover mat-icon,.navigation-tab:hover span{opacity:.8}:host-context(.alt-theme) .navigation-tab:hover{box-shadow:inset 0 0 0 200px #0003}:host-context(.alt-theme) .navigation-tab:hover mat-icon,:host-context(.alt-theme) .navigation-tab:hover span{opacity:.6}\n"] }]
|
|
5806
|
+
}], ctorParameters: () => [{ type: i1$6.Router }, { type: i1$6.ActivatedRoute }], propDecorators: { tabs: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabs", required: true }] }], queryParamHandling: [{ type: i0.Input, args: [{ isSignal: true, alias: "queryParamHandling", required: false }] }], saveLastActiveTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "saveLastActiveTab", required: false }] }], navBarLayoutClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "navBarLayoutClasses", required: false }] }] } });
|
|
5806
5807
|
|
|
5807
5808
|
class TabulatedViewComponent {
|
|
5808
5809
|
router;
|
|
@@ -5820,13 +5821,13 @@ class TabulatedViewComponent {
|
|
|
5820
5821
|
this.router.navigate([route], { relativeTo: this.route });
|
|
5821
5822
|
}
|
|
5822
5823
|
}
|
|
5823
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TabulatedViewComponent, deps: [{ token: i1$
|
|
5824
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: TabulatedViewComponent, isStandalone: true, selector: "app-tabulated-view", inputs: { tabs: "tabs" }, ngImport: i0, template: "<div class=\"flex flex-auto flex-col overflow-hidden\">\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\">\n <div\n *ngFor=\"let tab of tabs\"\n mat-tab-link\n [active]=\"isActive(tab.route)\"\n (click)=\"navigate(tab.route)\"\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\n [attr.data-test]=\"tab.name + '_tab'\"\n >\n <mat-icon *ngIf=\"tab.icon\">\n {{ tab.icon }}\n </mat-icon>\n {{ tab.name | translate }}\n </div>\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\n <router-outlet></router-outlet>\n </mat-tab-nav-panel>\n</div>\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box}.navigation{border-bottom:1px solid rgba(0,0,0,.12);max-width:100%}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
5824
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TabulatedViewComponent, deps: [{ token: i1$6.Router }, { token: i1$6.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
5825
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: TabulatedViewComponent, isStandalone: true, selector: "app-tabulated-view", inputs: { tabs: "tabs" }, ngImport: i0, template: "<div class=\"flex flex-auto flex-col overflow-hidden\">\r\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\">\r\n <div\r\n *ngFor=\"let tab of tabs\"\r\n mat-tab-link\r\n [active]=\"isActive(tab.route)\"\r\n (click)=\"navigate(tab.route)\"\r\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\r\n [attr.data-test]=\"tab.name + '_tab'\"\r\n >\r\n <mat-icon *ngIf=\"tab.icon\">\r\n {{ tab.icon }}\r\n </mat-icon>\r\n {{ tab.name | translate }}\r\n </div>\r\n </nav>\r\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\r\n <router-outlet></router-outlet>\r\n </mat-tab-nav-panel>\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box}.navigation{border-bottom:1px solid rgba(0,0,0,.12);max-width:100%}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3$1.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i3$1.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i3$1.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$6.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
5825
5826
|
}
|
|
5826
5827
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TabulatedViewComponent, decorators: [{
|
|
5827
5828
|
type: Component,
|
|
5828
|
-
args: [{ selector: 'app-tabulated-view', imports: [
|
|
5829
|
-
}], ctorParameters: () => [{ type: i1$
|
|
5829
|
+
args: [{ selector: 'app-tabulated-view', imports: [SharedModule], template: "<div class=\"flex flex-auto flex-col overflow-hidden\">\r\n <nav mat-tab-nav-bar [mat-stretch-tabs]=\"false\" [tabPanel]=\"tabPanel\" class=\"navigation\">\r\n <div\r\n *ngFor=\"let tab of tabs\"\r\n mat-tab-link\r\n [active]=\"isActive(tab.route)\"\r\n (click)=\"navigate(tab.route)\"\r\n [matTooltip]=\"tab.tooltip ? (tab.tooltip | translate) : null\"\r\n [attr.data-test]=\"tab.name + '_tab'\"\r\n >\r\n <mat-icon *ngIf=\"tab.icon\">\r\n {{ tab.icon }}\r\n </mat-icon>\r\n {{ tab.name | translate }}\r\n </div>\r\n </nav>\r\n <mat-tab-nav-panel #tabPanel class=\"flex flex-auto flex-col overflow-hidden\">\r\n <router-outlet></router-outlet>\r\n </mat-tab-nav-panel>\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;max-height:100%;max-width:100%;box-sizing:border-box}.navigation{border-bottom:1px solid rgba(0,0,0,.12);max-width:100%}\n"] }]
|
|
5830
|
+
}], ctorParameters: () => [{ type: i1$6.Router }, { type: i1$6.ActivatedRoute }], propDecorators: { tabs: [{
|
|
5830
5831
|
type: Input,
|
|
5831
5832
|
args: [{ required: true }]
|
|
5832
5833
|
}] } });
|
|
@@ -5841,11 +5842,11 @@ class TreeNodeComponent {
|
|
|
5841
5842
|
this.nodeSelected.emit(node);
|
|
5842
5843
|
}
|
|
5843
5844
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5844
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: TreeNodeComponent, isStandalone: true, selector: "app-tree-node", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { nodeSelected: "nodeSelected" }, ngImport: i0, template: "<div class=\"w-full flex flex-col\">\n <!-- ROW -->\n <div class=\"w-full h-10 flex flex-row items-center\">\n\n <!-- ARROWS -->\n @if (node().canHaveChildren) {\n @if (node().open) {\n <button mat-icon-button class=\"scale-80\" (click)=\"toggle(node())\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n } @else {\n <button mat-icon-button class=\"scale-80\" [disabled]=\"!node().hasChildren\" (click)=\"toggle(node())\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n }\n } @else {\n <div class=\"w-12 h-12\"> </div>\n }\n\n <!-- ICON AND TEXT -->\n <div class=\"flex flex-row items-center cursor-pointer\" (click)=\"selectNode(node())\">\n <mat-icon [ngClass]=\"node().selected ? 'text-mat-sys-tertiary' : 'text-mat-sys-primary'\">{{ node().icon }}</mat-icon>\n <div class=\"pl-2\" [ngClass]=\"{ 'text-mat-sys-tertiary' : node().selected }\">{{ node().name }}</div>\n </div>\n </div>\n\n <!-- Children -->\n @if (node().open) {\n <div class=\"w-full flex flex-col pl-9\">\n @if (node().children | async; as children) {\n @for (child of children; track $index) {\n <app-tree-node [node]=\"child\" (nodeSelected)=\"selectNode($event)\"/>\n }\n }\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: TreeNodeComponent, selector: "app-tree-node", inputs: ["node"], outputs: ["nodeSelected"] }, { kind: "ngmodule", type:
|
|
5845
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: TreeNodeComponent, isStandalone: true, selector: "app-tree-node", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { nodeSelected: "nodeSelected" }, ngImport: i0, template: "<div class=\"w-full flex flex-col\">\r\n <!-- ROW -->\r\n <div class=\"w-full h-10 flex flex-row items-center\">\r\n\r\n <!-- ARROWS -->\r\n @if (node().canHaveChildren) {\r\n @if (node().open) {\r\n <button mat-icon-button class=\"scale-80\" (click)=\"toggle(node())\">\r\n <mat-icon>keyboard_arrow_down</mat-icon>\r\n </button>\r\n } @else {\r\n <button mat-icon-button class=\"scale-80\" [disabled]=\"!node().hasChildren\" (click)=\"toggle(node())\">\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </button>\r\n }\r\n } @else {\r\n <div class=\"w-12 h-12\"> </div>\r\n }\r\n\r\n <!-- ICON AND TEXT -->\r\n <div class=\"flex flex-row items-center cursor-pointer\" (click)=\"selectNode(node())\">\r\n <mat-icon [ngClass]=\"node().selected ? 'text-mat-sys-tertiary' : 'text-mat-sys-primary'\">{{ node().icon }}</mat-icon>\r\n <div class=\"pl-2\" [ngClass]=\"{ 'text-mat-sys-tertiary' : node().selected }\">{{ node().name }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Children -->\r\n @if (node().open) {\r\n <div class=\"w-full flex flex-col pl-9\">\r\n @if (node().children | async; as children) {\r\n @for (child of children; track $index) {\r\n <app-tree-node [node]=\"child\" (nodeSelected)=\"selectNode($event)\"/>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: TreeNodeComponent, selector: "app-tree-node", inputs: ["node"], outputs: ["nodeSelected"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] });
|
|
5845
5846
|
}
|
|
5846
5847
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TreeNodeComponent, decorators: [{
|
|
5847
5848
|
type: Component,
|
|
5848
|
-
args: [{ selector: 'app-tree-node', imports: [
|
|
5849
|
+
args: [{ selector: 'app-tree-node', imports: [SharedModule], template: "<div class=\"w-full flex flex-col\">\r\n <!-- ROW -->\r\n <div class=\"w-full h-10 flex flex-row items-center\">\r\n\r\n <!-- ARROWS -->\r\n @if (node().canHaveChildren) {\r\n @if (node().open) {\r\n <button mat-icon-button class=\"scale-80\" (click)=\"toggle(node())\">\r\n <mat-icon>keyboard_arrow_down</mat-icon>\r\n </button>\r\n } @else {\r\n <button mat-icon-button class=\"scale-80\" [disabled]=\"!node().hasChildren\" (click)=\"toggle(node())\">\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </button>\r\n }\r\n } @else {\r\n <div class=\"w-12 h-12\"> </div>\r\n }\r\n\r\n <!-- ICON AND TEXT -->\r\n <div class=\"flex flex-row items-center cursor-pointer\" (click)=\"selectNode(node())\">\r\n <mat-icon [ngClass]=\"node().selected ? 'text-mat-sys-tertiary' : 'text-mat-sys-primary'\">{{ node().icon }}</mat-icon>\r\n <div class=\"pl-2\" [ngClass]=\"{ 'text-mat-sys-tertiary' : node().selected }\">{{ node().name }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Children -->\r\n @if (node().open) {\r\n <div class=\"w-full flex flex-col pl-9\">\r\n @if (node().children | async; as children) {\r\n @for (child of children; track $index) {\r\n <app-tree-node [node]=\"child\" (nodeSelected)=\"selectNode($event)\"/>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n" }]
|
|
5849
5850
|
}], propDecorators: { node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: true }] }], nodeSelected: [{ type: i0.Output, args: ["nodeSelected"] }] } });
|
|
5850
5851
|
|
|
5851
5852
|
class TreeComponent {
|
|
@@ -5895,11 +5896,11 @@ class TreeComponent {
|
|
|
5895
5896
|
this.selectedNode.selected = true;
|
|
5896
5897
|
}
|
|
5897
5898
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5898
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: TreeComponent, isStandalone: true, selector: "app-tree", inputs: { roots: { classPropertyName: "roots", publicName: "roots", isSignal: true, isRequired: true, transformFunction: null }, guidPath: { classPropertyName: "guidPath", publicName: "guidPath", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { nodeSelected: "nodeSelected" }, ngImport: i0, template: "<div class=\"h-full w-full flex flex-col\">\n @for (node of roots(); track $index) {\n <app-tree-node [node]=\"node\" (nodeSelected)=\"selectNode($event)\"/>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: TreeNodeComponent, selector: "app-tree-node", inputs: ["node"], outputs: ["nodeSelected"] }] });
|
|
5899
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: TreeComponent, isStandalone: true, selector: "app-tree", inputs: { roots: { classPropertyName: "roots", publicName: "roots", isSignal: true, isRequired: true, transformFunction: null }, guidPath: { classPropertyName: "guidPath", publicName: "guidPath", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { nodeSelected: "nodeSelected" }, ngImport: i0, template: "<div class=\"h-full w-full flex flex-col\">\r\n @for (node of roots(); track $index) {\r\n <app-tree-node [node]=\"node\" (nodeSelected)=\"selectNode($event)\"/>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: TreeNodeComponent, selector: "app-tree-node", inputs: ["node"], outputs: ["nodeSelected"] }] });
|
|
5899
5900
|
}
|
|
5900
5901
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TreeComponent, decorators: [{
|
|
5901
5902
|
type: Component,
|
|
5902
|
-
args: [{ selector: 'app-tree', imports: [TreeNodeComponent], template: "<div class=\"h-full w-full flex flex-col\">\n @for (node of roots(); track $index) {\n <app-tree-node [node]=\"node\" (nodeSelected)=\"selectNode($event)\"/>\n }\n</div>\n" }]
|
|
5903
|
+
args: [{ selector: 'app-tree', imports: [TreeNodeComponent], template: "<div class=\"h-full w-full flex flex-col\">\r\n @for (node of roots(); track $index) {\r\n <app-tree-node [node]=\"node\" (nodeSelected)=\"selectNode($event)\"/>\r\n }\r\n</div>\r\n" }]
|
|
5903
5904
|
}], ctorParameters: () => [], propDecorators: { roots: [{ type: i0.Input, args: [{ isSignal: true, alias: "roots", required: true }] }], guidPath: [{ type: i0.Input, args: [{ isSignal: true, alias: "guidPath", required: true }] }], nodeSelected: [{ type: i0.Output, args: ["nodeSelected"] }] } });
|
|
5904
5905
|
|
|
5905
5906
|
class ValueDisplayComponent {
|
|
@@ -5916,11 +5917,11 @@ class ValueDisplayComponent {
|
|
|
5916
5917
|
return vector.replaceAll(',', ', ');
|
|
5917
5918
|
}
|
|
5918
5919
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5919
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueDisplayComponent, isStandalone: true, selector: "app-value-display", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (value(); as value) {\n @switch (type()) {\n @case (DataType.BOOLEAN) {\n <mat-icon>{{ value === 'true' ? 'check' : 'close' }}</mat-icon>\n }\n @case (DataType.COLOR) {\n <div class=\"color-circle\" [style.background-color]=\"value\"></div>\n }\n @case (DataType.DATE) {\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) | simpleDateTime }}\">{{ getNumber(value) | simpleDateTime }}</div>\n }\n @case (DataType.DURATION) {\n {{ getNumber(value) | duration }}\n }\n @case (DataType.LINK) {\n <div class=\"truncate\" matTooltip=\"{{ value }}\">\n <a href=\"{{value}}\" target=\"_blank\" class=\"underline\">{{ value }}</a>\n </div>\n }\n @case (DataType.VECTOR) {\n <div class=\"truncate\" matTooltip=\"{{ getVectorValue(value) }}\">{{ getVectorValue(value) }}</div>\n }\n @case (DataType.NUMERIC){\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) }} {{ unit() }}\">{{getNumber(value) | localizedNumber}} {{ unit() }}</div>\n }\n @default {\n <div class=\"truncate\" matTooltip=\"{{ value }} {{ unit() }}\">{{ value }} {{ unit() }}</div>\n }\n }\n} @else {\n -\n}\n", styles: [".color-circle{width:1.5rem;height:1.5rem;margin-top:.25rem;border-radius:9999px}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
5920
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: ValueDisplayComponent, isStandalone: true, selector: "app-value-display", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (value(); as value) {\r\n @switch (type()) {\r\n @case (DataType.BOOLEAN) {\r\n <mat-icon>{{ value === 'true' ? 'check' : 'close' }}</mat-icon>\r\n }\r\n @case (DataType.COLOR) {\r\n <div class=\"color-circle\" [style.background-color]=\"value\"></div>\r\n }\r\n @case (DataType.DATE) {\r\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) | simpleDateTime }}\">{{ getNumber(value) | simpleDateTime }}</div>\r\n }\r\n @case (DataType.DURATION) {\r\n {{ getNumber(value) | duration }}\r\n }\r\n @case (DataType.LINK) {\r\n <div class=\"truncate\" matTooltip=\"{{ value }}\">\r\n <a href=\"{{value}}\" target=\"_blank\" class=\"underline\">{{ value }}</a>\r\n </div>\r\n }\r\n @case (DataType.VECTOR) {\r\n <div class=\"truncate\" matTooltip=\"{{ getVectorValue(value) }}\">{{ getVectorValue(value) }}</div>\r\n }\r\n @case (DataType.NUMERIC){\r\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) }} {{ unit() }}\">{{getNumber(value) | localizedNumber}} {{ unit() }}</div>\r\n }\r\n @default {\r\n <div class=\"truncate\" matTooltip=\"{{ value }} {{ unit() }}\">{{ value }} {{ unit() }}</div>\r\n }\r\n }\r\n} @else {\r\n -\r\n}\r\n", styles: [".color-circle{width:1.5rem;height:1.5rem;margin-top:.25rem;border-radius:9999px}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: DurationPipe, name: "duration" }, { kind: "pipe", type: SimpleDateTimePipe, name: "simpleDateTime" }, { kind: "pipe", type: LocalizedNumberPipe, name: "localizedNumber" }] });
|
|
5920
5921
|
}
|
|
5921
5922
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueDisplayComponent, decorators: [{
|
|
5922
5923
|
type: Component,
|
|
5923
|
-
args: [{ selector: 'app-value-display', imports: [
|
|
5924
|
+
args: [{ selector: 'app-value-display', imports: [SharedModule, DurationPipe, SimpleDateTimePipe, LocalizedNumberPipe], template: "@if (value(); as value) {\r\n @switch (type()) {\r\n @case (DataType.BOOLEAN) {\r\n <mat-icon>{{ value === 'true' ? 'check' : 'close' }}</mat-icon>\r\n }\r\n @case (DataType.COLOR) {\r\n <div class=\"color-circle\" [style.background-color]=\"value\"></div>\r\n }\r\n @case (DataType.DATE) {\r\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) | simpleDateTime }}\">{{ getNumber(value) | simpleDateTime }}</div>\r\n }\r\n @case (DataType.DURATION) {\r\n {{ getNumber(value) | duration }}\r\n }\r\n @case (DataType.LINK) {\r\n <div class=\"truncate\" matTooltip=\"{{ value }}\">\r\n <a href=\"{{value}}\" target=\"_blank\" class=\"underline\">{{ value }}</a>\r\n </div>\r\n }\r\n @case (DataType.VECTOR) {\r\n <div class=\"truncate\" matTooltip=\"{{ getVectorValue(value) }}\">{{ getVectorValue(value) }}</div>\r\n }\r\n @case (DataType.NUMERIC){\r\n <div class=\"truncate\" matTooltip=\"{{ getNumber(value) }} {{ unit() }}\">{{getNumber(value) | localizedNumber}} {{ unit() }}</div>\r\n }\r\n @default {\r\n <div class=\"truncate\" matTooltip=\"{{ value }} {{ unit() }}\">{{ value }} {{ unit() }}</div>\r\n }\r\n }\r\n} @else {\r\n -\r\n}\r\n", styles: [".color-circle{width:1.5rem;height:1.5rem;margin-top:.25rem;border-radius:9999px}\n"] }]
|
|
5924
5925
|
}], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: true }] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }] } });
|
|
5925
5926
|
|
|
5926
5927
|
class ValueInputBooleanComponent {
|
|
@@ -5988,11 +5989,11 @@ class ValueInputBooleanComponent {
|
|
|
5988
5989
|
useExisting: forwardRef(() => ValueInputBooleanComponent),
|
|
5989
5990
|
multi: true,
|
|
5990
5991
|
}
|
|
5991
|
-
], ngImport: i0, template: "<mat-slide-toggle [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <div class=\"flex flex-col ml-2\">\n <span class=\"text-xs font-light\"> {{ name() }} </span>\n <span>{{ formControl.value ? ('DATA_BROWSER.ATTRIBUTE_VALUE_ENABLED' | translate) : ('DATA_BROWSER.ATTRIBUTE_VALUE_DISABLED' | translate) }}</span>\n </div>\n</mat-slide-toggle>\n@for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"ml-4 mt-[-8px] text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
5992
|
+
], ngImport: i0, template: "<mat-slide-toggle [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <div class=\"flex flex-col ml-2\">\r\n <span class=\"text-xs font-light\"> {{ name() }} </span>\r\n <span>{{ formControl.value ? ('DATA_BROWSER.ATTRIBUTE_VALUE_ENABLED' | translate) : ('DATA_BROWSER.ATTRIBUTE_VALUE_DISABLED' | translate) }}</span>\r\n </div>\r\n</mat-slide-toggle>\r\n@for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"ml-4 mt-[-8px] text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n}\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
5992
5993
|
}
|
|
5993
5994
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputBooleanComponent, decorators: [{
|
|
5994
5995
|
type: Component,
|
|
5995
|
-
args: [{ selector: 'app-value-input-boolean', imports: [
|
|
5996
|
+
args: [{ selector: 'app-value-input-boolean', imports: [SharedModule, MatSlideToggle], providers: [
|
|
5996
5997
|
{
|
|
5997
5998
|
provide: NG_VALUE_ACCESSOR,
|
|
5998
5999
|
useExisting: forwardRef(() => ValueInputBooleanComponent),
|
|
@@ -6003,7 +6004,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6003
6004
|
useExisting: forwardRef(() => ValueInputBooleanComponent),
|
|
6004
6005
|
multi: true,
|
|
6005
6006
|
}
|
|
6006
|
-
], template: "<mat-slide-toggle [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <div class=\"flex flex-col ml-2\">\n <span class=\"text-xs font-light\"> {{ name() }} </span>\n <span>{{ formControl.value ? ('DATA_BROWSER.ATTRIBUTE_VALUE_ENABLED' | translate) : ('DATA_BROWSER.ATTRIBUTE_VALUE_DISABLED' | translate) }}</span>\n </div>\n</mat-slide-toggle>\n@for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"ml-4 mt-[-8px] text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\n}\n" }]
|
|
6007
|
+
], template: "<mat-slide-toggle [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <div class=\"flex flex-col ml-2\">\r\n <span class=\"text-xs font-light\"> {{ name() }} </span>\r\n <span>{{ formControl.value ? ('DATA_BROWSER.ATTRIBUTE_VALUE_ENABLED' | translate) : ('DATA_BROWSER.ATTRIBUTE_VALUE_DISABLED' | translate) }}</span>\r\n </div>\r\n</mat-slide-toggle>\r\n@for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\" class=\"ml-4 mt-[-8px] text-[12px]\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate }}</mat-error>\r\n}\r\n" }]
|
|
6007
6008
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }] } });
|
|
6008
6009
|
|
|
6009
6010
|
class ValueInputColorComponent {
|
|
@@ -6096,11 +6097,11 @@ class ValueInputColorComponent {
|
|
|
6096
6097
|
useExisting: forwardRef(() => ValueInputColorComponent),
|
|
6097
6098
|
multi: true,
|
|
6098
6099
|
}
|
|
6099
|
-
], viewQueries: [{ propertyName: "colorPicker", first: true, predicate: ["colorPicker"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-form-field class=\"w-full relative\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" (click)=\"openColorPicker()\">\n <input type=\"color\" #colorPicker [value]=\"formControl.value\" (input)=\"onColorPickerChange($event)\" class=\"absolute opacity-0 right-55 top-full mt-1 z-10\" [class.hidden]=\"!showPicker\">\n <div class=\"w-5 h-5 rounded-full mr-4 cursor-pointer\" [style.background-color]=\"formControl.getRawValue()\" matSuffix (click)=\"openColorPicker()\"> </div>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-form-field input[type=color]{width:auto;height:auto}:host{--color-picker-width: 250px}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
6100
|
+
], viewQueries: [{ propertyName: "colorPicker", first: true, predicate: ["colorPicker"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-form-field class=\"w-full relative\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" (click)=\"openColorPicker()\">\r\n <input type=\"color\" #colorPicker [value]=\"formControl.value\" (input)=\"onColorPickerChange($event)\" class=\"absolute opacity-0 right-55 top-full mt-1 z-10\" [class.hidden]=\"!showPicker\">\r\n <div class=\"w-5 h-5 rounded-full mr-4 cursor-pointer\" [style.background-color]=\"formControl.getRawValue()\" matSuffix (click)=\"openColorPicker()\"> </div>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: ["mat-form-field input[type=color]{width:auto;height:auto}:host{--color-picker-width: 250px}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
6100
6101
|
}
|
|
6101
6102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputColorComponent, decorators: [{
|
|
6102
6103
|
type: Component,
|
|
6103
|
-
args: [{ selector: 'app-value-input-color', imports: [
|
|
6104
|
+
args: [{ selector: 'app-value-input-color', imports: [SharedModule], providers: [
|
|
6104
6105
|
{
|
|
6105
6106
|
provide: NG_VALUE_ACCESSOR,
|
|
6106
6107
|
useExisting: forwardRef(() => ValueInputColorComponent),
|
|
@@ -6111,7 +6112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6111
6112
|
useExisting: forwardRef(() => ValueInputColorComponent),
|
|
6112
6113
|
multi: true,
|
|
6113
6114
|
}
|
|
6114
|
-
], template: "<mat-form-field class=\"w-full relative\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" (click)=\"openColorPicker()\">\n <input type=\"color\" #colorPicker [value]=\"formControl.value\" (input)=\"onColorPickerChange($event)\" class=\"absolute opacity-0 right-55 top-full mt-1 z-10\" [class.hidden]=\"!showPicker\">\n <div class=\"w-5 h-5 rounded-full mr-4 cursor-pointer\" [style.background-color]=\"formControl.getRawValue()\" matSuffix (click)=\"openColorPicker()\"> </div>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: ["mat-form-field input[type=color]{width:auto;height:auto}:host{--color-picker-width: 250px}\n"] }]
|
|
6115
|
+
], template: "<mat-form-field class=\"w-full relative\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" (click)=\"openColorPicker()\">\r\n <input type=\"color\" #colorPicker [value]=\"formControl.value\" (input)=\"onColorPickerChange($event)\" class=\"absolute opacity-0 right-55 top-full mt-1 z-10\" [class.hidden]=\"!showPicker\">\r\n <div class=\"w-5 h-5 rounded-full mr-4 cursor-pointer\" [style.background-color]=\"formControl.getRawValue()\" matSuffix (click)=\"openColorPicker()\"> </div>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: ["mat-form-field input[type=color]{width:auto;height:auto}:host{--color-picker-width: 250px}\n"] }]
|
|
6115
6116
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], colorPicker: [{ type: i0.ViewChild, args: ['colorPicker', { isSignal: true }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }] } });
|
|
6116
6117
|
|
|
6117
6118
|
class ValueInputDateComponent {
|
|
@@ -6179,11 +6180,11 @@ class ValueInputDateComponent {
|
|
|
6179
6180
|
useExisting: forwardRef(() => ValueInputDateComponent),
|
|
6180
6181
|
multi: true,
|
|
6181
6182
|
}
|
|
6182
|
-
], ngImport: i0, template: "<app-date-time-form-field [formControl]=\"formControl\" [validators]=\"validators()\" [showErrorInTooltip]=\"showErrorInTooltip()\" class=\"w-full\"></app-date-time-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
6183
|
+
], ngImport: i0, template: "<app-date-time-form-field [formControl]=\"formControl\" [validators]=\"validators()\" [showErrorInTooltip]=\"showErrorInTooltip()\" class=\"w-full\"></app-date-time-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: DateTimeFormFieldComponent, selector: "app-date-time-form-field", inputs: ["dateLabel", "timeLabel", "validators", "showErrorInTooltip"] }] });
|
|
6183
6184
|
}
|
|
6184
6185
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputDateComponent, decorators: [{
|
|
6185
6186
|
type: Component,
|
|
6186
|
-
args: [{ selector: 'app-value-input-date', imports: [
|
|
6187
|
+
args: [{ selector: 'app-value-input-date', imports: [SharedModule, DateTimeFormFieldComponent], providers: [
|
|
6187
6188
|
{
|
|
6188
6189
|
provide: NG_VALUE_ACCESSOR,
|
|
6189
6190
|
useExisting: forwardRef(() => ValueInputDateComponent),
|
|
@@ -6194,7 +6195,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6194
6195
|
useExisting: forwardRef(() => ValueInputDateComponent),
|
|
6195
6196
|
multi: true,
|
|
6196
6197
|
}
|
|
6197
|
-
], template: "<app-date-time-form-field [formControl]=\"formControl\" [validators]=\"validators()\" [showErrorInTooltip]=\"showErrorInTooltip()\" class=\"w-full\"></app-date-time-form-field>\n" }]
|
|
6198
|
+
], template: "<app-date-time-form-field [formControl]=\"formControl\" [validators]=\"validators()\" [showErrorInTooltip]=\"showErrorInTooltip()\" class=\"w-full\"></app-date-time-form-field>\r\n" }]
|
|
6198
6199
|
}], ctorParameters: () => [], propDecorators: { validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }] } });
|
|
6199
6200
|
|
|
6200
6201
|
class ValueInputEnumComponent {
|
|
@@ -6269,11 +6270,11 @@ class ValueInputEnumComponent {
|
|
|
6269
6270
|
useExisting: forwardRef(() => ValueInputEnumComponent),
|
|
6270
6271
|
multi: true,
|
|
6271
6272
|
}
|
|
6272
|
-
], ngImport: i0, template: "<div class=\"w-full flex flex-col gap-y-2\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>{{ name() }}</mat-label>\n <mat-select [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\">\n @for (value of options(); track value) {\n <mat-option [value]=\"value\">{{ value }}</mat-option>\n }\n </mat-select>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n </mat-form-field>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
6273
|
+
], ngImport: i0, template: "<div class=\"w-full flex flex-col gap-y-2\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-form-field appearance=\"outline\" class=\"w-full\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <mat-select [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\">\r\n @for (value of options(); track value) {\r\n <mat-option [value]=\"value\">{{ value }}</mat-option>\r\n }\r\n </mat-select>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
6273
6274
|
}
|
|
6274
6275
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputEnumComponent, decorators: [{
|
|
6275
6276
|
type: Component,
|
|
6276
|
-
args: [{ selector: 'app-value-input-enum', imports: [
|
|
6277
|
+
args: [{ selector: 'app-value-input-enum', imports: [SharedModule], providers: [
|
|
6277
6278
|
{
|
|
6278
6279
|
provide: NG_VALUE_ACCESSOR,
|
|
6279
6280
|
useExisting: forwardRef(() => ValueInputEnumComponent),
|
|
@@ -6284,7 +6285,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6284
6285
|
useExisting: forwardRef(() => ValueInputEnumComponent),
|
|
6285
6286
|
multi: true,
|
|
6286
6287
|
}
|
|
6287
|
-
], template: "<div class=\"w-full flex flex-col gap-y-2\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>{{ name() }}</mat-label>\n <mat-select [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\">\n @for (value of options(); track value) {\n <mat-option [value]=\"value\">{{ value }}</mat-option>\n }\n </mat-select>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n </mat-form-field>\n</div>\n" }]
|
|
6288
|
+
], template: "<div class=\"w-full flex flex-col gap-y-2\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-form-field appearance=\"outline\" class=\"w-full\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <mat-select [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\">\r\n @for (value of options(); track value) {\r\n <mat-option [value]=\"value\">{{ value }}</mat-option>\r\n }\r\n </mat-select>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n" }]
|
|
6288
6289
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }] } });
|
|
6289
6290
|
|
|
6290
6291
|
class ValueInputHexadecimalComponent {
|
|
@@ -6362,11 +6363,11 @@ class ValueInputHexadecimalComponent {
|
|
|
6362
6363
|
useExisting: forwardRef(() => ValueInputHexadecimalComponent),
|
|
6363
6364
|
multi: true,
|
|
6364
6365
|
}
|
|
6365
|
-
], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
6366
|
+
], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
6366
6367
|
}
|
|
6367
6368
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputHexadecimalComponent, decorators: [{
|
|
6368
6369
|
type: Component,
|
|
6369
|
-
args: [{ selector: 'app-value-input-hexadecimal', imports: [
|
|
6370
|
+
args: [{ selector: 'app-value-input-hexadecimal', imports: [SharedModule], providers: [
|
|
6370
6371
|
{
|
|
6371
6372
|
provide: NG_VALUE_ACCESSOR,
|
|
6372
6373
|
useExisting: forwardRef(() => ValueInputHexadecimalComponent),
|
|
@@ -6377,7 +6378,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6377
6378
|
useExisting: forwardRef(() => ValueInputHexadecimalComponent),
|
|
6378
6379
|
multi: true,
|
|
6379
6380
|
}
|
|
6380
|
-
], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n" }]
|
|
6381
|
+
], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n" }]
|
|
6381
6382
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }] } });
|
|
6382
6383
|
|
|
6383
6384
|
class ValueInputLinkComponent {
|
|
@@ -6456,11 +6457,11 @@ class ValueInputLinkComponent {
|
|
|
6456
6457
|
useExisting: forwardRef(() => ValueInputLinkComponent),
|
|
6457
6458
|
multi: true,
|
|
6458
6459
|
}
|
|
6459
|
-
], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
6460
|
+
], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
6460
6461
|
}
|
|
6461
6462
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputLinkComponent, decorators: [{
|
|
6462
6463
|
type: Component,
|
|
6463
|
-
args: [{ selector: 'app-value-input-link', imports: [
|
|
6464
|
+
args: [{ selector: 'app-value-input-link', imports: [SharedModule], providers: [
|
|
6464
6465
|
{
|
|
6465
6466
|
provide: NG_VALUE_ACCESSOR,
|
|
6466
6467
|
useExisting: forwardRef(() => ValueInputLinkComponent),
|
|
@@ -6471,7 +6472,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6471
6472
|
useExisting: forwardRef(() => ValueInputLinkComponent),
|
|
6472
6473
|
multi: true,
|
|
6473
6474
|
}
|
|
6474
|
-
], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n" }]
|
|
6475
|
+
], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_VALUE' | translate }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n" }]
|
|
6475
6476
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }] } });
|
|
6476
6477
|
|
|
6477
6478
|
class ValueInputLocationComponent {
|
|
@@ -6566,11 +6567,11 @@ class ValueInputLocationComponent {
|
|
|
6566
6567
|
useExisting: forwardRef(() => ValueInputLocationComponent),
|
|
6567
6568
|
multi: true,
|
|
6568
6569
|
}
|
|
6569
|
-
], ngImport: i0, template: "<form [formGroup]=\"formGroup\">\n <div class=\"flex flex-col gap-y-1\">\n <div class=\"flex gap-4 w-full justify-between items-start\">\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('latitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LATITUDE' | translate }}</mat-label>\n <input matInput (paste)=\"handleLocationPaste($event, 'latitude')\" (blur)=\"this.formGroup.get('latitude')?.updateValueAndValidity()\" formControlName=\"latitude\" type=\"number\" autocomplete=\"off\">\n\n @for (error of getErrors('latitude'); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 90, min: -90} }}</mat-error>\n }\n </mat-form-field>\n\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('longitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LONGITUDE' | translate }}</mat-label>\n <input matInput (paste)=\"handleLocationPaste($event, 'longitude')\" (blur)=\"this.formGroup.get('longitude')?.updateValueAndValidity()\" formControlName=\"longitude\" type=\"number\" autocomplete=\"off\">\n\n @for (error of getErrors('longitude'); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 180, min: -180} }}</mat-error>\n }\n </mat-form-field>\n </div>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
6570
|
+
], ngImport: i0, template: "<form [formGroup]=\"formGroup\">\r\n <div class=\"flex flex-col gap-y-1\">\r\n <div class=\"flex gap-4 w-full justify-between items-start\">\r\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('latitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LATITUDE' | translate }}</mat-label>\r\n <input matInput (paste)=\"handleLocationPaste($event, 'latitude')\" (blur)=\"this.formGroup.get('latitude')?.updateValueAndValidity()\" formControlName=\"latitude\" type=\"number\" autocomplete=\"off\">\r\n\r\n @for (error of getErrors('latitude'); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 90, min: -90} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('longitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LONGITUDE' | translate }}</mat-label>\r\n <input matInput (paste)=\"handleLocationPaste($event, 'longitude')\" (blur)=\"this.formGroup.get('longitude')?.updateValueAndValidity()\" formControlName=\"longitude\" type=\"number\" autocomplete=\"off\">\r\n\r\n @for (error of getErrors('longitude'); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 180, min: -180} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
6570
6571
|
}
|
|
6571
6572
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputLocationComponent, decorators: [{
|
|
6572
6573
|
type: Component,
|
|
6573
|
-
args: [{ selector: 'app-value-input-location', imports: [
|
|
6574
|
+
args: [{ selector: 'app-value-input-location', imports: [SharedModule], providers: [
|
|
6574
6575
|
{
|
|
6575
6576
|
provide: NG_VALUE_ACCESSOR,
|
|
6576
6577
|
useExisting: forwardRef(() => ValueInputLocationComponent),
|
|
@@ -6581,7 +6582,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6581
6582
|
useExisting: forwardRef(() => ValueInputLocationComponent),
|
|
6582
6583
|
multi: true,
|
|
6583
6584
|
}
|
|
6584
|
-
], template: "<form [formGroup]=\"formGroup\">\n <div class=\"flex flex-col gap-y-1\">\n <div class=\"flex gap-4 w-full justify-between items-start\">\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('latitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LATITUDE' | translate }}</mat-label>\n <input matInput (paste)=\"handleLocationPaste($event, 'latitude')\" (blur)=\"this.formGroup.get('latitude')?.updateValueAndValidity()\" formControlName=\"latitude\" type=\"number\" autocomplete=\"off\">\n\n @for (error of getErrors('latitude'); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 90, min: -90} }}</mat-error>\n }\n </mat-form-field>\n\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('longitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LONGITUDE' | translate }}</mat-label>\n <input matInput (paste)=\"handleLocationPaste($event, 'longitude')\" (blur)=\"this.formGroup.get('longitude')?.updateValueAndValidity()\" formControlName=\"longitude\" type=\"number\" autocomplete=\"off\">\n\n @for (error of getErrors('longitude'); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 180, min: -180} }}</mat-error>\n }\n </mat-form-field>\n </div>\n </div>\n</form>\n" }]
|
|
6585
|
+
], template: "<form [formGroup]=\"formGroup\">\r\n <div class=\"flex flex-col gap-y-1\">\r\n <div class=\"flex gap-4 w-full justify-between items-start\">\r\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('latitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LATITUDE' | translate }}</mat-label>\r\n <input matInput (paste)=\"handleLocationPaste($event, 'latitude')\" (blur)=\"this.formGroup.get('latitude')?.updateValueAndValidity()\" formControlName=\"latitude\" type=\"number\" autocomplete=\"off\">\r\n\r\n @for (error of getErrors('latitude'); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 90, min: -90} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-1\" [matTooltip]=\"getErrorTooltip('longitude')\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ 'DATA_BROWSER.ATTRIBUTE_LONGITUDE' | translate }}</mat-label>\r\n <input matInput (paste)=\"handleLocationPaste($event, 'longitude')\" (blur)=\"this.formGroup.get('longitude')?.updateValueAndValidity()\" formControlName=\"longitude\" type=\"number\" autocomplete=\"off\">\r\n\r\n @for (error of getErrors('longitude'); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate: {max: 180, min: -180} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</form>\r\n" }]
|
|
6585
6586
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }] } });
|
|
6586
6587
|
|
|
6587
6588
|
class ValueInputNumericComponent {
|
|
@@ -6663,11 +6664,11 @@ class ValueInputNumericComponent {
|
|
|
6663
6664
|
useExisting: forwardRef(() => ValueInputNumericComponent),
|
|
6664
6665
|
multi: true,
|
|
6665
6666
|
}
|
|
6666
|
-
], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\" wolkaboutLocalizedNumericInput/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
6667
|
+
], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\" wolkaboutLocalizedNumericInput/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LocalizedNumericInputDirective, selector: "input[wolkaboutLocalizedNumericInput]" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
6667
6668
|
}
|
|
6668
6669
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputNumericComponent, decorators: [{
|
|
6669
6670
|
type: Component,
|
|
6670
|
-
args: [{ selector: 'app-value-input-numeric', imports: [
|
|
6671
|
+
args: [{ selector: 'app-value-input-numeric', imports: [SharedModule, LocalizedNumericInputDirective], providers: [
|
|
6671
6672
|
{
|
|
6672
6673
|
provide: NG_VALUE_ACCESSOR,
|
|
6673
6674
|
useExisting: forwardRef(() => ValueInputNumericComponent),
|
|
@@ -6678,7 +6679,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6678
6679
|
useExisting: forwardRef(() => ValueInputNumericComponent),
|
|
6679
6680
|
multi: true,
|
|
6680
6681
|
}
|
|
6681
|
-
], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\" wolkaboutLocalizedNumericInput/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n" }]
|
|
6682
|
+
], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput type=\"text\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\" wolkaboutLocalizedNumericInput/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n" }]
|
|
6682
6683
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }] } });
|
|
6683
6684
|
|
|
6684
6685
|
class ValueInputStringComponent {
|
|
@@ -6752,11 +6753,11 @@ class ValueInputStringComponent {
|
|
|
6752
6753
|
useExisting: forwardRef(() => ValueInputStringComponent),
|
|
6753
6754
|
multi: true,
|
|
6754
6755
|
}
|
|
6755
|
-
], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate : {max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
6756
|
+
], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate : {max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
6756
6757
|
}
|
|
6757
6758
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputStringComponent, decorators: [{
|
|
6758
6759
|
type: Component,
|
|
6759
|
-
args: [{ selector: 'app-value-input-string', imports: [
|
|
6760
|
+
args: [{ selector: 'app-value-input-string', imports: [SharedModule], providers: [
|
|
6760
6761
|
{
|
|
6761
6762
|
provide: NG_VALUE_ACCESSOR,
|
|
6762
6763
|
useExisting: forwardRef(() => ValueInputStringComponent),
|
|
@@ -6767,7 +6768,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6767
6768
|
useExisting: forwardRef(() => ValueInputStringComponent),
|
|
6768
6769
|
multi: true,
|
|
6769
6770
|
}
|
|
6770
|
-
], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate : {max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n" }]
|
|
6771
|
+
], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate : {max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n" }]
|
|
6771
6772
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }] } });
|
|
6772
6773
|
|
|
6773
6774
|
class ValueInputVectorComponent {
|
|
@@ -6861,11 +6862,11 @@ class ValueInputVectorComponent {
|
|
|
6861
6862
|
useExisting: forwardRef(() => ValueInputVectorComponent),
|
|
6862
6863
|
multi: true,
|
|
6863
6864
|
}
|
|
6864
|
-
], ngImport: i0, template: "<div class=\"w-full flex flex-col gap-y-2\">\n <mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }} ({{ options()?.join(',') }})</mat-label>\n <input matInput [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" class=\"w-full\">\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n </mat-form-field>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
6865
|
+
], ngImport: i0, template: "<div class=\"w-full flex flex-col gap-y-2\">\r\n <mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }} ({{ options()?.join(',') }})</mat-label>\r\n <input matInput [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" class=\"w-full\">\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
6865
6866
|
}
|
|
6866
6867
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputVectorComponent, decorators: [{
|
|
6867
6868
|
type: Component,
|
|
6868
|
-
args: [{ selector: 'app-value-input-vector', imports: [
|
|
6869
|
+
args: [{ selector: 'app-value-input-vector', imports: [SharedModule], providers: [
|
|
6869
6870
|
{
|
|
6870
6871
|
provide: NG_VALUE_ACCESSOR,
|
|
6871
6872
|
useExisting: forwardRef(() => ValueInputVectorComponent),
|
|
@@ -6876,7 +6877,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6876
6877
|
useExisting: forwardRef(() => ValueInputVectorComponent),
|
|
6877
6878
|
multi: true,
|
|
6878
6879
|
}
|
|
6879
|
-
], template: "<div class=\"w-full flex flex-col gap-y-2\">\n <mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }} ({{ options()?.join(',') }})</mat-label>\n <input matInput [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" class=\"w-full\">\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n </mat-form-field>\n</div>\n" }]
|
|
6880
|
+
], template: "<div class=\"w-full flex flex-col gap-y-2\">\r\n <mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }} ({{ options()?.join(',') }})</mat-label>\r\n <input matInput [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" class=\"w-full\">\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n </mat-form-field>\r\n</div>\r\n" }]
|
|
6880
6881
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }] } });
|
|
6881
6882
|
|
|
6882
6883
|
class ValueInputDurationComponent {
|
|
@@ -6977,11 +6978,11 @@ class ValueInputDurationComponent {
|
|
|
6977
6978
|
useExisting: forwardRef(() => ValueInputDurationComponent),
|
|
6978
6979
|
multi: true,
|
|
6979
6980
|
}
|
|
6980
|
-
], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
6981
|
+
], ngImport: i0, template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
6981
6982
|
}
|
|
6982
6983
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputDurationComponent, decorators: [{
|
|
6983
6984
|
type: Component,
|
|
6984
|
-
args: [{ selector: 'app-value-input-duration', imports: [
|
|
6985
|
+
args: [{ selector: 'app-value-input-duration', imports: [SharedModule], providers: [
|
|
6985
6986
|
{
|
|
6986
6987
|
provide: NG_VALUE_ACCESSOR,
|
|
6987
6988
|
useExisting: forwardRef(() => ValueInputDurationComponent),
|
|
@@ -6992,7 +6993,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6992
6993
|
useExisting: forwardRef(() => ValueInputDurationComponent),
|
|
6993
6994
|
multi: true,
|
|
6994
6995
|
}
|
|
6995
|
-
], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\n <mat-label>{{ name() }}</mat-label>\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\n\n @for (error of getErrors(); track error) {\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\n }\n</mat-form-field>\n" }]
|
|
6996
|
+
], template: "<mat-form-field class=\"w-full\" [matTooltip]=\"getErrorTooltip()\" [matTooltipDisabled]=\"!showErrorInTooltip()\">\r\n <mat-label>{{ name() }}</mat-label>\r\n <input matInput [type]=\"'text'\" [formControl]=\"formControl\" (blur)=\"formControl.updateValueAndValidity()\" autocomplete=\"off\"/>\r\n\r\n @for (error of getErrors(); track error) {\r\n <mat-error *ngIf=\"!showErrorInTooltip()\">{{ 'COMMON.ERROR_VALIDATION_' + error | translate :{max: formControl.getError('maxlength')?.requiredLength} }}</mat-error>\r\n }\r\n</mat-form-field>\r\n" }]
|
|
6996
6997
|
}], ctorParameters: () => [{ type: i0.DestroyRef }, { type: i1$1.TranslateService }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], validators: [{ type: i0.Input, args: [{ isSignal: true, alias: "validators", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }] } });
|
|
6997
6998
|
|
|
6998
6999
|
class ValueInputComponent {
|
|
@@ -7072,11 +7073,11 @@ class ValueInputComponent {
|
|
|
7072
7073
|
useExisting: forwardRef(() => ValueInputComponent),
|
|
7073
7074
|
multi: true,
|
|
7074
7075
|
}
|
|
7075
|
-
], ngImport: i0, template: "@switch (dataType()) {\n @case (DataType.STRING) {\n <app-value-input-string [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.NUMERIC) {\n <app-value-input-numeric [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.BOOLEAN) {\n <app-value-input-boolean [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.HEXADECIMAL) {\n <app-value-input-hexadecimal [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.COLOR) {\n <app-value-input-color [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.LINK) {\n <app-value-input-link [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.DATE) {\n <app-value-input-date [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.DURATION) {\n <app-value-input-duration [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.LOCATION) {\n <app-value-input-location [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.VECTOR) {\n <app-value-input-vector [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\"/>\n }\n @case (DataType.ENUM) {\n <app-value-input-enum [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\"/>\n }\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type:
|
|
7076
|
+
], ngImport: i0, template: "@switch (dataType()) {\r\n @case (DataType.STRING) {\r\n <app-value-input-string [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.NUMERIC) {\r\n <app-value-input-numeric [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.BOOLEAN) {\r\n <app-value-input-boolean [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.HEXADECIMAL) {\r\n <app-value-input-hexadecimal [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.COLOR) {\r\n <app-value-input-color [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.LINK) {\r\n <app-value-input-link [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.DATE) {\r\n <app-value-input-date [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.DURATION) {\r\n <app-value-input-duration [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.LOCATION) {\r\n <app-value-input-location [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.VECTOR) {\r\n <app-value-input-vector [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\"/>\r\n }\r\n @case (DataType.ENUM) {\r\n <app-value-input-enum [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\"/>\r\n }\r\n}\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ValueInputBooleanComponent, selector: "app-value-input-boolean", inputs: ["name", "validators", "showErrorInTooltip"] }, { kind: "component", type: ValueInputColorComponent, selector: "app-value-input-color", inputs: ["name", "validators", "showErrorInTooltip"] }, { kind: "component", type: ValueInputDateComponent, selector: "app-value-input-date", inputs: ["validators", "showErrorInTooltip"] }, { kind: "component", type: ValueInputEnumComponent, selector: "app-value-input-enum", inputs: ["options", "name", "validators", "showErrorInTooltip"] }, { kind: "component", type: ValueInputHexadecimalComponent, selector: "app-value-input-hexadecimal", inputs: ["validators", "showErrorInTooltip"] }, { kind: "component", type: ValueInputLinkComponent, selector: "app-value-input-link", inputs: ["validators", "showErrorInTooltip"] }, { kind: "component", type: ValueInputLocationComponent, selector: "app-value-input-location", inputs: ["validators", "showErrorInTooltip"] }, { kind: "component", type: ValueInputNumericComponent, selector: "app-value-input-numeric", inputs: ["name", "validators", "showErrorInTooltip"] }, { kind: "component", type: ValueInputStringComponent, selector: "app-value-input-string", inputs: ["name", "validators", "showErrorInTooltip"] }, { kind: "component", type: ValueInputVectorComponent, selector: "app-value-input-vector", inputs: ["options", "name", "showErrorInTooltip", "validators"] }, { kind: "component", type: ValueInputDurationComponent, selector: "app-value-input-duration", inputs: ["name", "validators", "showErrorInTooltip"] }] });
|
|
7076
7077
|
}
|
|
7077
7078
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: ValueInputComponent, decorators: [{
|
|
7078
7079
|
type: Component,
|
|
7079
|
-
args: [{ selector: 'app-value-input', imports: [
|
|
7080
|
+
args: [{ selector: 'app-value-input', imports: [SharedModule, ValueInputBooleanComponent, ValueInputColorComponent, ValueInputDateComponent, ValueInputEnumComponent, ValueInputHexadecimalComponent, ValueInputLinkComponent, ValueInputLocationComponent, ValueInputNumericComponent, ValueInputStringComponent, ValueInputVectorComponent, ValueInputDurationComponent], providers: [
|
|
7080
7081
|
{
|
|
7081
7082
|
provide: NG_VALUE_ACCESSOR,
|
|
7082
7083
|
useExisting: forwardRef(() => ValueInputComponent),
|
|
@@ -7087,7 +7088,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
7087
7088
|
useExisting: forwardRef(() => ValueInputComponent),
|
|
7088
7089
|
multi: true,
|
|
7089
7090
|
}
|
|
7090
|
-
], template: "@switch (dataType()) {\n @case (DataType.STRING) {\n <app-value-input-string [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.NUMERIC) {\n <app-value-input-numeric [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.BOOLEAN) {\n <app-value-input-boolean [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.HEXADECIMAL) {\n <app-value-input-hexadecimal [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.COLOR) {\n <app-value-input-color [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.LINK) {\n <app-value-input-link [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.DATE) {\n <app-value-input-date [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.DURATION) {\n <app-value-input-duration [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.LOCATION) {\n <app-value-input-location [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\n }\n @case (DataType.VECTOR) {\n <app-value-input-vector [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\"/>\n }\n @case (DataType.ENUM) {\n <app-value-input-enum [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\"/>\n }\n}\n" }]
|
|
7091
|
+
], template: "@switch (dataType()) {\r\n @case (DataType.STRING) {\r\n <app-value-input-string [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.NUMERIC) {\r\n <app-value-input-numeric [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.BOOLEAN) {\r\n <app-value-input-boolean [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.HEXADECIMAL) {\r\n <app-value-input-hexadecimal [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.COLOR) {\r\n <app-value-input-color [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.LINK) {\r\n <app-value-input-link [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.DATE) {\r\n <app-value-input-date [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.DURATION) {\r\n <app-value-input-duration [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.LOCATION) {\r\n <app-value-input-location [showErrorInTooltip]=\"showErrorInTooltip()\" [validators]=\"validators()\" [formControl]=\"formControl\"/>\r\n }\r\n @case (DataType.VECTOR) {\r\n <app-value-input-vector [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\"/>\r\n }\r\n @case (DataType.ENUM) {\r\n <app-value-input-enum [showErrorInTooltip]=\"showErrorInTooltip()\" [name]=\"name()\" [validators]=\"validators()\" [formControl]=\"formControl\" [options]=\"options()\"/>\r\n }\r\n}\r\n" }]
|
|
7091
7092
|
}], ctorParameters: () => [], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], dataType: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataType", required: true }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], validationConditions: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationConditions", required: false }] }], showErrorInTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrorInTooltip", required: false }] }] } });
|
|
7092
7093
|
|
|
7093
7094
|
// Config
|
|
@@ -7096,5 +7097,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
7096
7097
|
* Generated bundle index. Do not edit.
|
|
7097
7098
|
*/
|
|
7098
7099
|
|
|
7099
|
-
export { AUTHENTICATION_CLIENT, AssetManager, AuthenticationService, AutocompleteChipsComponent, AutocompleteComponent, BasicTimeSeriesGraphComponent, COLORS, CUSTOM_PERIOD, CardLabeledValueComponent, ConfirmationDialogComponent, DEFAULT_LOCALE, DEFAULT_TIMEZONES, DEFAULT_TIME_ZONE, DataType, DateRangeInputComponent, DateTimeFormFieldComponent, DragDropFileUploadComponent, DurationPipe, FeatureRegistry, GoogleMapComponent, ImageDisplayComponent, ImagePreviewComponent, LAST_ACTIVE_TAB_KEY, LOCALES, LabeledValueComponent, LoadedIconComponent, LoadingIndicatorDirective, LocalSortTableComponent, Locale, LocalizedNumberPipe, LocalizedNumericInputDirective, MILLISECONDS_IN_DAY, MapsLoaderService, MasterDetailsViewComponent, MessageTooltipDirective, MissingTranslationHelper, NestedListDataControl, NestedListDataSource, NestedListViewComponent, NotificationService, OverflowClassDirective, PdfViewerComponent, PeriodErrorStateMatcher, PermissionsService, RELATIVE_TIME_PERIODS, RelativeTimePeriod, RequiresAllGlobalOrAssetPermissionsDirective, RequiresAllPermissionDirective, RequiresGlobalOrAsserPermissionDirective, RequiresPermissionDirective, ScrollIntoViewDirective, SharedModule, SimpleDatePipe, SimpleDateTimePipe, SimpleTimePipe, SortPipe, StandardListDataControl, StandardListDataSource, StandardListViewComponent, TIMEZONES, TabulatedChipViewComponent, TabulatedViewComponent, TenantPropertiesService, ThemeService, TreeComponent, TreeNodeComponent, USERS_TIME_ZONE, ValueDisplayComponent, ValueInputBooleanComponent, ValueInputColorComponent, ValueInputComponent, ValueInputDateComponent, ValueInputDurationComponent, ValueInputEnumComponent, ValueInputHexadecimalComponent, ValueInputLinkComponent, ValueInputLocationComponent, ValueInputNumericComponent, ValueInputStringComponent, ValueInputVectorComponent,
|
|
7100
|
+
export { AUTHENTICATION_CLIENT, AssetManager, AuthenticationService, AutocompleteChipsComponent, AutocompleteComponent, BasicTimeSeriesGraphComponent, COLORS, CUSTOM_PERIOD, CardLabeledValueComponent, ConfirmationDialogComponent, DEFAULT_LOCALE, DEFAULT_TIMEZONES, DEFAULT_TIME_ZONE, DataType, DateRangeInputComponent, DateTimeFormFieldComponent, DragDropFileUploadComponent, DurationPipe, FeatureRegistry, GoogleMapComponent, IconComponent, IconRegistryService, ImageDisplayComponent, ImagePreviewComponent, LAST_ACTIVE_TAB_KEY, LOCALES, LabeledValueComponent, LoadedIconComponent, LoadingIndicatorDirective, LocalSortTableComponent, Locale, LocalizedNumberPipe, LocalizedNumericInputDirective, MILLISECONDS_IN_DAY, MapsLoaderService, MasterDetailsViewComponent, MessageTooltipDirective, MissingTranslationHelper, NestedListDataControl, NestedListDataSource, NestedListViewComponent, NotificationService, OverflowClassDirective, PdfViewerComponent, PeriodErrorStateMatcher, PermissionsService, RELATIVE_TIME_PERIODS, RelativeTimePeriod, RequiresAllGlobalOrAssetPermissionsDirective, RequiresAllPermissionDirective, RequiresGlobalOrAsserPermissionDirective, RequiresPermissionDirective, ScrollIntoViewDirective, SharedModule, SimpleDatePipe, SimpleDateTimePipe, SimpleTimePipe, SortPipe, StandardListDataControl, StandardListDataSource, StandardListViewComponent, TIMEZONES, TabulatedChipViewComponent, TabulatedViewComponent, TenantPropertiesService, ThemeService, TreeComponent, TreeNodeComponent, USERS_TIME_ZONE, ValueDisplayComponent, ValueInputBooleanComponent, ValueInputColorComponent, ValueInputComponent, ValueInputDateComponent, ValueInputDurationComponent, ValueInputEnumComponent, ValueInputHexadecimalComponent, ValueInputLinkComponent, ValueInputLocationComponent, ValueInputNumericComponent, ValueInputStringComponent, ValueInputVectorComponent, arrayToObject, chartThemeDark, chartThemeLight, daysAway, determineMagnitude, determineMinMaxValues, endOfPeriod, equalsByValue, fileSizeValidator, flatMap, flatten, format, formatDuration, generateRandomString, globalPermissionGuard, groupBy, hoursAway, isContextAccessible, lookUpPathPart, lookUpQueryParam, parseDateRangeInputPeriod, parseTimeInput, saveFile, scale, startOfMonth, startOfPeriod, startOfTheDay, startOfWeek, startOfYear, toDate, toEndOfMonth, toEndOfYear, toJsDate, toOffset, toStartOfMonth, toStartOfTheDay, toStartOfWeek, toStartOfYear, toTime, uniqueBy, uniqueFrom, validateAssetName, validateTypeAssetName };
|
|
7100
7101
|
//# sourceMappingURL=wolkabout-commons.mjs.map
|