@elderbyte/ngx-starter 21.8.0-beta.0 → 21.8.0-beta.1
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i2 from '@angular/common';
|
|
2
2
|
import { formatDate, CommonModule, formatCurrency, getCurrencySymbol, AsyncPipe, NgTemplateOutlet, NgClass, NgStyle, formatNumber, DecimalPipe, DatePipe, registerLocaleData, DOCUMENT, CurrencyPipe } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Pipe, LOCALE_ID, Inject, NgModule, Injectable, inject, Optional, SkipSelf, Input, Output, Directive, forwardRef, ViewChild, ElementRef, DestroyRef, model, signal, computed, untracked, HostBinding, ViewChildren, ContentChild, makeEnvironmentProviders, provideEnvironmentInitializer, ChangeDetectionStrategy, Component, Host, APP_INITIALIZER, TemplateRef, HostListener, EventEmitter, input, ViewEncapsulation,
|
|
4
|
+
import { Pipe, LOCALE_ID, Inject, NgModule, Injectable, inject, Optional, SkipSelf, Input, Output, Directive, forwardRef, ViewChild, ElementRef, DestroyRef, model, signal, computed, untracked, HostBinding, ViewChildren, ContentChild, InjectionToken, effect, makeEnvironmentProviders, provideEnvironmentInitializer, ChangeDetectionStrategy, Component, Host, APP_INITIALIZER, TemplateRef, HostListener, EventEmitter, input, ViewEncapsulation, output, ContentChildren, contentChildren, viewChild, contentChild, viewChildren, linkedSignal, booleanAttribute, Injector, NgZone, Renderer2 } from '@angular/core';
|
|
5
5
|
import * as i1 from '@angular/platform-browser';
|
|
6
6
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
7
7
|
import { Duration, Period, TemporalQueries, LocalTime, Instant, LocalDate, nativeJs, ZoneId, DateTimeFormatter, convert, ZonedDateTime, Temporal as Temporal$1 } from '@js-joda/core';
|
|
@@ -12,42 +12,42 @@ import { Temporal } from '@js-temporal/polyfill';
|
|
|
12
12
|
import * as i1$1 from '@angular/common/http';
|
|
13
13
|
import { HttpParams, HttpEventType, HttpRequest, HttpClient, HttpErrorResponse, HTTP_INTERCEPTORS, HttpBackend } from '@angular/common/http';
|
|
14
14
|
import { DataSource } from '@angular/cdk/collections';
|
|
15
|
-
import { outputToObservable, takeUntilDestroyed,
|
|
16
|
-
import * as i1$
|
|
15
|
+
import { outputToObservable, takeUntilDestroyed, toObservable, toSignal, outputFromObservable } from '@angular/core/rxjs-interop';
|
|
16
|
+
import * as i1$3 from '@angular/forms';
|
|
17
17
|
import { ControlContainer, NG_VALUE_ACCESSOR, NG_VALIDATORS, NgControl, NgModel, FormsModule, UntypedFormControl, ReactiveFormsModule, NgForm, Validators } from '@angular/forms';
|
|
18
18
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
19
19
|
import { FocusMonitor, CdkTrapFocus, A11yModule } from '@angular/cdk/a11y';
|
|
20
20
|
import * as i1$a from '@angular/material/form-field';
|
|
21
21
|
import { MatFormField, MatFormFieldControl, MAT_FORM_FIELD_DEFAULT_OPTIONS, MatLabel, MatFormFieldModule, MatPrefix, MatHint, MatError, MatSuffix } from '@angular/material/form-field';
|
|
22
|
-
import * as i1$
|
|
23
|
-
import {
|
|
24
|
-
import * as i1$
|
|
22
|
+
import * as i1$9 from '@ngx-translate/core';
|
|
23
|
+
import { TranslateService, TranslatePipe, TranslateModule, provideTranslateService, TranslateLoader } from '@ngx-translate/core';
|
|
24
|
+
import * as i1$2 from '@angular/router';
|
|
25
25
|
import { RouterModule, NavigationEnd, RouterLinkActive, RouterLink, RouterOutlet, convertToParamMap, EventType } from '@angular/router';
|
|
26
26
|
import * as i1$f from '@angular/material/icon';
|
|
27
27
|
import { MatIconRegistry, MatIcon, MatIconModule } from '@angular/material/icon';
|
|
28
28
|
import { MatSlideToggle, MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
29
|
-
import * as i1$
|
|
29
|
+
import * as i1$4 from '@angular/material/toolbar';
|
|
30
30
|
import { MatToolbar, MatToolbarRow, MatToolbarModule } from '@angular/material/toolbar';
|
|
31
31
|
import { MatCard, MatCardModule } from '@angular/material/card';
|
|
32
32
|
import * as i1$d from '@angular/material/core';
|
|
33
33
|
import { MatRipple, MatRippleModule, MatOption, NativeDateAdapter, MAT_DATE_LOCALE, DateAdapter, MatNativeDateModule } from '@angular/material/core';
|
|
34
34
|
import * as i5 from '@angular/material/button';
|
|
35
35
|
import { MatButtonModule, MatIconButton, MatButton, MatIconAnchor, MatAnchor } from '@angular/material/button';
|
|
36
|
-
import * as i1$
|
|
36
|
+
import * as i1$8 from '@angular/material/autocomplete';
|
|
37
37
|
import { MatAutocompleteTrigger, MatAutocomplete, MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
38
38
|
import { MatChipGrid, MatChipRow, MatChipRemove, MatChipInput, MatChipsModule, MatChipSet, MatChipAvatar, MatChipTrailingIcon, MatChipListbox, MatChipOption, MatChip } from '@angular/material/chips';
|
|
39
39
|
import * as i2$3 from '@angular/material/input';
|
|
40
40
|
import { MatInput, MatInputModule } from '@angular/material/input';
|
|
41
41
|
import { MatList, MatListSubheaderCssMatStyler, MatListItem, MatListModule } from '@angular/material/list';
|
|
42
42
|
import { MatProgressBar, MatProgressBarModule } from '@angular/material/progress-bar';
|
|
43
|
-
import * as i1$
|
|
43
|
+
import * as i1$5 from '@angular/material/snack-bar';
|
|
44
44
|
import { MAT_SNACK_BAR_DATA, MatSnackBarLabel, MatSnackBarActions, MatSnackBarAction, MatSnackBarModule } from '@angular/material/snack-bar';
|
|
45
45
|
import * as i2$1 from '@angular/cdk/drag-drop';
|
|
46
46
|
import { transferArrayItem, moveItemInArray, CdkDropList, CdkDrag, DragDropModule, CdkDropListGroup } from '@angular/cdk/drag-drop';
|
|
47
47
|
import { MatDivider, MatDividerModule } from '@angular/material/divider';
|
|
48
48
|
import * as i6 from '@angular/material/menu';
|
|
49
49
|
import { MatMenu, MatMenuItem, MatMenuTrigger, MatMenuModule } from '@angular/material/menu';
|
|
50
|
-
import * as i1$
|
|
50
|
+
import * as i1$6 from '@angular/material/dialog';
|
|
51
51
|
import { MatDialogClose, MAT_DIALOG_DATA, MatDialogConfig, MatDialogModule, MatDialog } from '@angular/material/dialog';
|
|
52
52
|
import { MatBadge, MatBadgeModule } from '@angular/material/badge';
|
|
53
53
|
import * as i1$b from '@angular/material/checkbox';
|
|
@@ -55,7 +55,7 @@ import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';
|
|
|
55
55
|
import { MatTooltipModule, MatTooltip } from '@angular/material/tooltip';
|
|
56
56
|
import { MatSelect, MatOption as MatOption$1, MatSelectModule } from '@angular/material/select';
|
|
57
57
|
import { MatColumnDef, MatRowDef, MatTable, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell, MatFooterCellDef, MatFooterCell, MatHeaderRowDef, MatHeaderRow, MatRow, MatFooterRowDef, MatFooterRow, MatTableModule } from '@angular/material/table';
|
|
58
|
-
import * as i1$
|
|
58
|
+
import * as i1$7 from '@angular/cdk/table';
|
|
59
59
|
import { CdkTableModule } from '@angular/cdk/table';
|
|
60
60
|
import { MatPaginator, MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';
|
|
61
61
|
import * as i2$2 from '@angular/material/sort';
|
|
@@ -9485,6 +9485,307 @@ function createElderDefaultTranslateLoader(_httpBackend) {
|
|
|
9485
9485
|
]);
|
|
9486
9486
|
}
|
|
9487
9487
|
|
|
9488
|
+
class MemoryStorage {
|
|
9489
|
+
constructor() {
|
|
9490
|
+
this.data = new Map();
|
|
9491
|
+
}
|
|
9492
|
+
getItem(key) {
|
|
9493
|
+
return this.data.get(key);
|
|
9494
|
+
}
|
|
9495
|
+
setItem(key, value) {
|
|
9496
|
+
this.data.set(key, value);
|
|
9497
|
+
}
|
|
9498
|
+
removeItem(key) {
|
|
9499
|
+
this.data.delete(key);
|
|
9500
|
+
}
|
|
9501
|
+
clear() {
|
|
9502
|
+
this.data.clear();
|
|
9503
|
+
}
|
|
9504
|
+
get length() {
|
|
9505
|
+
return this.data.size;
|
|
9506
|
+
}
|
|
9507
|
+
key(index) {
|
|
9508
|
+
throw new Error('Method not supported in Memory Storage.');
|
|
9509
|
+
}
|
|
9510
|
+
}
|
|
9511
|
+
class WebStorageService {
|
|
9512
|
+
constructor(storage) {
|
|
9513
|
+
this.storage = storage;
|
|
9514
|
+
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
9515
|
+
if (!this.isStorageAvailable()) {
|
|
9516
|
+
this.logger.warn('No web storage available. Using in-memory storage fallback.');
|
|
9517
|
+
this.storage = new MemoryStorage();
|
|
9518
|
+
}
|
|
9519
|
+
}
|
|
9520
|
+
getItem(key) {
|
|
9521
|
+
return this.storage.getItem(key);
|
|
9522
|
+
}
|
|
9523
|
+
setItem(key, value) {
|
|
9524
|
+
this.storage.setItem(key, value);
|
|
9525
|
+
}
|
|
9526
|
+
removeItem(key) {
|
|
9527
|
+
this.storage.removeItem(key);
|
|
9528
|
+
}
|
|
9529
|
+
clear() {
|
|
9530
|
+
this.storage.clear();
|
|
9531
|
+
}
|
|
9532
|
+
isStorageAvailable() {
|
|
9533
|
+
try {
|
|
9534
|
+
// The best way to test if functionality is available
|
|
9535
|
+
// is just to try and check if it worked or not.
|
|
9536
|
+
this.setItem('testKey', 'hi');
|
|
9537
|
+
this.getItem('testKey');
|
|
9538
|
+
this.removeItem('testKey');
|
|
9539
|
+
return true;
|
|
9540
|
+
}
|
|
9541
|
+
catch (error) {
|
|
9542
|
+
return false;
|
|
9543
|
+
}
|
|
9544
|
+
}
|
|
9545
|
+
}
|
|
9546
|
+
class WebLocalStorage extends WebStorageService {
|
|
9547
|
+
constructor() {
|
|
9548
|
+
super(localStorage);
|
|
9549
|
+
}
|
|
9550
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebLocalStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9551
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebLocalStorage, providedIn: 'root' }); }
|
|
9552
|
+
}
|
|
9553
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebLocalStorage, decorators: [{
|
|
9554
|
+
type: Injectable,
|
|
9555
|
+
args: [{
|
|
9556
|
+
providedIn: 'root',
|
|
9557
|
+
}]
|
|
9558
|
+
}], ctorParameters: () => [] });
|
|
9559
|
+
class WebSessionStorage extends WebStorageService {
|
|
9560
|
+
constructor() {
|
|
9561
|
+
super(sessionStorage);
|
|
9562
|
+
}
|
|
9563
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebSessionStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9564
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebSessionStorage, providedIn: 'root' }); }
|
|
9565
|
+
}
|
|
9566
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebSessionStorage, decorators: [{
|
|
9567
|
+
type: Injectable,
|
|
9568
|
+
args: [{
|
|
9569
|
+
providedIn: 'root',
|
|
9570
|
+
}]
|
|
9571
|
+
}], ctorParameters: () => [] });
|
|
9572
|
+
|
|
9573
|
+
const ELDER_LANGUAGE_OPTIONS = new InjectionToken('ELDER_LANGUAGE_OPTIONS');
|
|
9574
|
+
|
|
9575
|
+
const LANGUAGE_STORAGE_KEY = 'language';
|
|
9576
|
+
const DEFAULT_LANGS = ['de', 'en'];
|
|
9577
|
+
const DEFAULT_FALLBACK_LANG = 'de';
|
|
9578
|
+
class ElderLanguageService {
|
|
9579
|
+
/***************************************************************************
|
|
9580
|
+
* *
|
|
9581
|
+
* Legacy Compatiblity *
|
|
9582
|
+
* *
|
|
9583
|
+
**************************************************************************/
|
|
9584
|
+
get currentLanguage$() {
|
|
9585
|
+
return toObservable(this.currentLang);
|
|
9586
|
+
}
|
|
9587
|
+
/***************************************************************************
|
|
9588
|
+
* *
|
|
9589
|
+
* Constructor *
|
|
9590
|
+
* *
|
|
9591
|
+
**************************************************************************/
|
|
9592
|
+
constructor() {
|
|
9593
|
+
this.webStorage = inject(WebLocalStorage);
|
|
9594
|
+
this.config = inject(ELDER_LANGUAGE_OPTIONS);
|
|
9595
|
+
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
9596
|
+
/***************************************************************************
|
|
9597
|
+
* *
|
|
9598
|
+
* State *
|
|
9599
|
+
* *
|
|
9600
|
+
**************************************************************************/
|
|
9601
|
+
this._langs = signal(null, ...(ngDevMode ? [{ debugName: "_langs" }] : /* istanbul ignore next */ []));
|
|
9602
|
+
this._defaultLang = signal(null, ...(ngDevMode ? [{ debugName: "_defaultLang" }] : /* istanbul ignore next */ []));
|
|
9603
|
+
this._currentLang = signal(null, ...(ngDevMode ? [{ debugName: "_currentLang" }] : /* istanbul ignore next */ []));
|
|
9604
|
+
this._browserLang = getBrowserPreferredLang();
|
|
9605
|
+
this._storedPreferredLang = this.getStoredPreferredLang();
|
|
9606
|
+
/***************************************************************************
|
|
9607
|
+
* *
|
|
9608
|
+
* Computed *
|
|
9609
|
+
* *
|
|
9610
|
+
**************************************************************************/
|
|
9611
|
+
this.currentLang = this._currentLang.asReadonly();
|
|
9612
|
+
this.defaultLang = this._defaultLang.asReadonly();
|
|
9613
|
+
this.langs = this._langs.asReadonly();
|
|
9614
|
+
}
|
|
9615
|
+
/***************************************************************************
|
|
9616
|
+
* *
|
|
9617
|
+
* Public API *
|
|
9618
|
+
* *
|
|
9619
|
+
**************************************************************************/
|
|
9620
|
+
setCurrentLang(lang) {
|
|
9621
|
+
if (!this.isSupported(lang)) {
|
|
9622
|
+
this.logger.warn('cannot set lang', lang, 'since it is not in supported langs', this._langs());
|
|
9623
|
+
return;
|
|
9624
|
+
}
|
|
9625
|
+
this.logger.warn('setting lang', lang);
|
|
9626
|
+
this.webStorage.setItem(LANGUAGE_STORAGE_KEY, lang);
|
|
9627
|
+
this._currentLang.set(lang);
|
|
9628
|
+
}
|
|
9629
|
+
init() {
|
|
9630
|
+
this.logger.warn('initializing elder language service...');
|
|
9631
|
+
if (this._currentLang()) {
|
|
9632
|
+
this.logger.warn('elder language service already initialized, skipping...');
|
|
9633
|
+
return;
|
|
9634
|
+
}
|
|
9635
|
+
this.setLangs(this.config?.langs);
|
|
9636
|
+
this.setDefaultLang(this.config?.defaultLang);
|
|
9637
|
+
this.setInitialLang();
|
|
9638
|
+
}
|
|
9639
|
+
/***************************************************************************
|
|
9640
|
+
* *
|
|
9641
|
+
* Private Methods *
|
|
9642
|
+
* *
|
|
9643
|
+
**************************************************************************/
|
|
9644
|
+
setLangs(langs) {
|
|
9645
|
+
if (!langs?.length) {
|
|
9646
|
+
throw new Error('Cannot set langs since it is not an array or empty');
|
|
9647
|
+
}
|
|
9648
|
+
this._langs.set(langs);
|
|
9649
|
+
}
|
|
9650
|
+
setDefaultLang(lang) {
|
|
9651
|
+
if (!this._langs().includes(lang)) {
|
|
9652
|
+
throw new Error(`Cannot set default lang ${lang} since it is not in supported langs ${this._langs()}`);
|
|
9653
|
+
}
|
|
9654
|
+
this._defaultLang.set(lang);
|
|
9655
|
+
}
|
|
9656
|
+
setInitialLang() {
|
|
9657
|
+
if (this._storedPreferredLang && this.isSupported(this._storedPreferredLang)) {
|
|
9658
|
+
this._currentLang.set(this._storedPreferredLang);
|
|
9659
|
+
return;
|
|
9660
|
+
}
|
|
9661
|
+
if (this._browserLang && this.isSupported(this._browserLang)) {
|
|
9662
|
+
this._currentLang.set(this._browserLang);
|
|
9663
|
+
return;
|
|
9664
|
+
}
|
|
9665
|
+
this._currentLang.set(this._defaultLang());
|
|
9666
|
+
}
|
|
9667
|
+
isSupported(lang) {
|
|
9668
|
+
return this._langs().includes(lang);
|
|
9669
|
+
}
|
|
9670
|
+
getStoredPreferredLang() {
|
|
9671
|
+
return this.webStorage.getItem(LANGUAGE_STORAGE_KEY);
|
|
9672
|
+
}
|
|
9673
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9674
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageService, providedIn: 'root' }); }
|
|
9675
|
+
}
|
|
9676
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageService, decorators: [{
|
|
9677
|
+
type: Injectable,
|
|
9678
|
+
args: [{
|
|
9679
|
+
providedIn: 'root',
|
|
9680
|
+
}]
|
|
9681
|
+
}], ctorParameters: () => [] });
|
|
9682
|
+
/***************************************************************************
|
|
9683
|
+
* *
|
|
9684
|
+
* Helper Functions *
|
|
9685
|
+
* *
|
|
9686
|
+
**************************************************************************/
|
|
9687
|
+
/**
|
|
9688
|
+
* Browser Language code: "de", "fr", "en", etc.
|
|
9689
|
+
*/
|
|
9690
|
+
function getBrowserPreferredLang() {
|
|
9691
|
+
if (typeof window === 'undefined' || !window.navigator) {
|
|
9692
|
+
return undefined;
|
|
9693
|
+
}
|
|
9694
|
+
const cultureLang = getBrowserCultureLang();
|
|
9695
|
+
if (!cultureLang || typeof cultureLang !== 'string') {
|
|
9696
|
+
return undefined;
|
|
9697
|
+
}
|
|
9698
|
+
return cultureLang.split(/[-_]/)[0];
|
|
9699
|
+
}
|
|
9700
|
+
/**
|
|
9701
|
+
* Browser Culture language code: "ch-DE", "fr-FR", "en-US", etc.
|
|
9702
|
+
*/
|
|
9703
|
+
function getBrowserCultureLang() {
|
|
9704
|
+
if (typeof window === 'undefined' || !window.navigator) {
|
|
9705
|
+
return undefined;
|
|
9706
|
+
}
|
|
9707
|
+
return window.navigator.languages ? window.navigator.languages[0] : window.navigator.language;
|
|
9708
|
+
}
|
|
9709
|
+
|
|
9710
|
+
class ElderTranslateService {
|
|
9711
|
+
/***************************************************************************
|
|
9712
|
+
* *
|
|
9713
|
+
* Constructor *
|
|
9714
|
+
* *
|
|
9715
|
+
**************************************************************************/
|
|
9716
|
+
constructor() {
|
|
9717
|
+
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
9718
|
+
this.languageService = inject(ElderLanguageService);
|
|
9719
|
+
this.ngxTranslate = inject(TranslateService);
|
|
9720
|
+
effect(() => {
|
|
9721
|
+
const langs = this.languageService.langs();
|
|
9722
|
+
untracked(() => {
|
|
9723
|
+
this.setLangs(langs);
|
|
9724
|
+
});
|
|
9725
|
+
});
|
|
9726
|
+
effect(() => {
|
|
9727
|
+
const defaultLang = this.languageService.defaultLang();
|
|
9728
|
+
untracked(() => {
|
|
9729
|
+
this.setDefaultLang(defaultLang);
|
|
9730
|
+
});
|
|
9731
|
+
});
|
|
9732
|
+
effect(() => {
|
|
9733
|
+
const currentLang = this.languageService.currentLang();
|
|
9734
|
+
untracked(() => {
|
|
9735
|
+
this.setCurrentLang(currentLang);
|
|
9736
|
+
});
|
|
9737
|
+
});
|
|
9738
|
+
}
|
|
9739
|
+
/***************************************************************************
|
|
9740
|
+
* *
|
|
9741
|
+
* Private Methods *
|
|
9742
|
+
* *
|
|
9743
|
+
**************************************************************************/
|
|
9744
|
+
setLangs(langs) {
|
|
9745
|
+
if (langs?.length) {
|
|
9746
|
+
this.logger.warn('setting translate langs', langs);
|
|
9747
|
+
this.ngxTranslate.addLangs(langs);
|
|
9748
|
+
}
|
|
9749
|
+
}
|
|
9750
|
+
setDefaultLang(defaultLang) {
|
|
9751
|
+
if (defaultLang) {
|
|
9752
|
+
this.logger.warn('setting translate default lang', defaultLang);
|
|
9753
|
+
this.ngxTranslate.setFallbackLang(defaultLang);
|
|
9754
|
+
}
|
|
9755
|
+
}
|
|
9756
|
+
setCurrentLang(currentLang) {
|
|
9757
|
+
if (currentLang) {
|
|
9758
|
+
this.logger.warn('setting translate current lang', currentLang);
|
|
9759
|
+
this.ngxTranslate.use(currentLang);
|
|
9760
|
+
}
|
|
9761
|
+
}
|
|
9762
|
+
/***************************************************************************
|
|
9763
|
+
* *
|
|
9764
|
+
* Public API *
|
|
9765
|
+
* *
|
|
9766
|
+
**************************************************************************/
|
|
9767
|
+
get(key, interpolateParams) {
|
|
9768
|
+
return this.ngxTranslate.get(key, interpolateParams);
|
|
9769
|
+
}
|
|
9770
|
+
instant(key, interpolateParams) {
|
|
9771
|
+
return this.ngxTranslate.instant(key, interpolateParams);
|
|
9772
|
+
}
|
|
9773
|
+
stream(key, interpolateParams) {
|
|
9774
|
+
return this.ngxTranslate.stream(key, interpolateParams);
|
|
9775
|
+
}
|
|
9776
|
+
get onLangChange() {
|
|
9777
|
+
return this.ngxTranslate.onLangChange;
|
|
9778
|
+
}
|
|
9779
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9780
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslateService, providedIn: 'root' }); }
|
|
9781
|
+
}
|
|
9782
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslateService, decorators: [{
|
|
9783
|
+
type: Injectable,
|
|
9784
|
+
args: [{
|
|
9785
|
+
providedIn: 'root',
|
|
9786
|
+
}]
|
|
9787
|
+
}], ctorParameters: () => [] });
|
|
9788
|
+
|
|
9488
9789
|
class TranslatedEnumValue {
|
|
9489
9790
|
constructor(value, displayValue) {
|
|
9490
9791
|
this.value = value;
|
|
@@ -9585,7 +9886,7 @@ class ElderEnumTranslationService {
|
|
|
9585
9886
|
stringArrayDataSource(values, translationPrefix, sort = true, asc = true) {
|
|
9586
9887
|
return DelegateListDataSource.listFetcher(() => this.translateStrings(values, translationPrefix, sort, asc), 'value', (id) => this.translateOne(translationPrefix, id));
|
|
9587
9888
|
}
|
|
9588
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderEnumTranslationService, deps: [{ token:
|
|
9889
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderEnumTranslationService, deps: [{ token: ElderTranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9589
9890
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderEnumTranslationService, providedIn: 'root' }); }
|
|
9590
9891
|
}
|
|
9591
9892
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderEnumTranslationService, decorators: [{
|
|
@@ -9593,7 +9894,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
9593
9894
|
args: [{
|
|
9594
9895
|
providedIn: 'root',
|
|
9595
9896
|
}]
|
|
9596
|
-
}], ctorParameters: () => [{ type:
|
|
9897
|
+
}], ctorParameters: () => [{ type: ElderTranslateService }] });
|
|
9597
9898
|
|
|
9598
9899
|
class CsvSerializer {
|
|
9599
9900
|
constructor(csvSpec, translateService) {
|
|
@@ -9933,7 +10234,7 @@ class ElderUrlFragmentParamsService {
|
|
|
9933
10234
|
return new UrlQueryParams();
|
|
9934
10235
|
}
|
|
9935
10236
|
}
|
|
9936
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderUrlFragmentParamsService, deps: [{ token: i1$
|
|
10237
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderUrlFragmentParamsService, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9937
10238
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderUrlFragmentParamsService, providedIn: 'root' }); }
|
|
9938
10239
|
}
|
|
9939
10240
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderUrlFragmentParamsService, decorators: [{
|
|
@@ -9941,7 +10242,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
9941
10242
|
args: [{
|
|
9942
10243
|
providedIn: 'root',
|
|
9943
10244
|
}]
|
|
9944
|
-
}], ctorParameters: () => [{ type: i1$
|
|
10245
|
+
}], ctorParameters: () => [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }] });
|
|
9945
10246
|
|
|
9946
10247
|
/**
|
|
9947
10248
|
* Provides advanced router navigation support for Angular.
|
|
@@ -9983,7 +10284,7 @@ class ElderRouterService {
|
|
|
9983
10284
|
const url = this.router.serializeUrl(urlTree);
|
|
9984
10285
|
return this.location.prepareExternalUrl(url);
|
|
9985
10286
|
}
|
|
9986
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderRouterService, deps: [{ token: i1$
|
|
10287
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderRouterService, deps: [{ token: i1$2.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9987
10288
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderRouterService, providedIn: 'root' }); }
|
|
9988
10289
|
}
|
|
9989
10290
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderRouterService, decorators: [{
|
|
@@ -9991,7 +10292,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
9991
10292
|
args: [{
|
|
9992
10293
|
providedIn: 'root',
|
|
9993
10294
|
}]
|
|
9994
|
-
}], ctorParameters: () => [{ type: i1$
|
|
10295
|
+
}], ctorParameters: () => [{ type: i1$2.Router }, { type: i2.Location }] });
|
|
9995
10296
|
|
|
9996
10297
|
class DomUtil {
|
|
9997
10298
|
/**
|
|
@@ -10068,91 +10369,6 @@ class DomUtil {
|
|
|
10068
10369
|
}
|
|
10069
10370
|
}
|
|
10070
10371
|
|
|
10071
|
-
class MemoryStorage {
|
|
10072
|
-
constructor() {
|
|
10073
|
-
this.data = new Map();
|
|
10074
|
-
}
|
|
10075
|
-
getItem(key) {
|
|
10076
|
-
return this.data.get(key);
|
|
10077
|
-
}
|
|
10078
|
-
setItem(key, value) {
|
|
10079
|
-
this.data.set(key, value);
|
|
10080
|
-
}
|
|
10081
|
-
removeItem(key) {
|
|
10082
|
-
this.data.delete(key);
|
|
10083
|
-
}
|
|
10084
|
-
clear() {
|
|
10085
|
-
this.data.clear();
|
|
10086
|
-
}
|
|
10087
|
-
get length() {
|
|
10088
|
-
return this.data.size;
|
|
10089
|
-
}
|
|
10090
|
-
key(index) {
|
|
10091
|
-
throw new Error('Method not supported in Memory Storage.');
|
|
10092
|
-
}
|
|
10093
|
-
}
|
|
10094
|
-
class WebStorageService {
|
|
10095
|
-
constructor(storage) {
|
|
10096
|
-
this.storage = storage;
|
|
10097
|
-
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
10098
|
-
if (!this.isStorageAvailable()) {
|
|
10099
|
-
this.logger.warn('No web storage available. Using in-memory storage fallback.');
|
|
10100
|
-
this.storage = new MemoryStorage();
|
|
10101
|
-
}
|
|
10102
|
-
}
|
|
10103
|
-
getItem(key) {
|
|
10104
|
-
return this.storage.getItem(key);
|
|
10105
|
-
}
|
|
10106
|
-
setItem(key, value) {
|
|
10107
|
-
this.storage.setItem(key, value);
|
|
10108
|
-
}
|
|
10109
|
-
removeItem(key) {
|
|
10110
|
-
this.storage.removeItem(key);
|
|
10111
|
-
}
|
|
10112
|
-
clear() {
|
|
10113
|
-
this.storage.clear();
|
|
10114
|
-
}
|
|
10115
|
-
isStorageAvailable() {
|
|
10116
|
-
try {
|
|
10117
|
-
// The best way to test if functionality is available
|
|
10118
|
-
// is just to try and check if it worked or not.
|
|
10119
|
-
this.setItem('testKey', 'hi');
|
|
10120
|
-
this.getItem('testKey');
|
|
10121
|
-
this.removeItem('testKey');
|
|
10122
|
-
return true;
|
|
10123
|
-
}
|
|
10124
|
-
catch (error) {
|
|
10125
|
-
return false;
|
|
10126
|
-
}
|
|
10127
|
-
}
|
|
10128
|
-
}
|
|
10129
|
-
class WebLocalStorage extends WebStorageService {
|
|
10130
|
-
constructor() {
|
|
10131
|
-
super(localStorage);
|
|
10132
|
-
}
|
|
10133
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebLocalStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10134
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebLocalStorage, providedIn: 'root' }); }
|
|
10135
|
-
}
|
|
10136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebLocalStorage, decorators: [{
|
|
10137
|
-
type: Injectable,
|
|
10138
|
-
args: [{
|
|
10139
|
-
providedIn: 'root',
|
|
10140
|
-
}]
|
|
10141
|
-
}], ctorParameters: () => [] });
|
|
10142
|
-
class WebSessionStorage extends WebStorageService {
|
|
10143
|
-
constructor() {
|
|
10144
|
-
super(sessionStorage);
|
|
10145
|
-
}
|
|
10146
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebSessionStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10147
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebSessionStorage, providedIn: 'root' }); }
|
|
10148
|
-
}
|
|
10149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: WebSessionStorage, decorators: [{
|
|
10150
|
-
type: Injectable,
|
|
10151
|
-
args: [{
|
|
10152
|
-
providedIn: 'root',
|
|
10153
|
-
}]
|
|
10154
|
-
}], ctorParameters: () => [] });
|
|
10155
|
-
|
|
10156
10372
|
const defaultIconSets = [
|
|
10157
10373
|
{ url: 'assets/brand/dist/svg-bundle/elder-svg-icon-set.svg' },
|
|
10158
10374
|
{ url: 'assets/brand/dist/svg-bundle/country-flags.svg', namespace: 'country-flags' },
|
|
@@ -10576,7 +10792,7 @@ class ElderThemeToggleComponent {
|
|
|
10576
10792
|
}
|
|
10577
10793
|
}
|
|
10578
10794
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderThemeToggleComponent, deps: [{ token: ElderThemeService }, { token: ElderThemePreferenceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10579
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderThemeToggleComponent, isStandalone: true, selector: "elder-theme-toggle", inputs: { color: "color" }, ngImport: i0, template: "@if (activeToggleTheme$ | async; as activeToggleTheme) {\n <div class=\"layout-row place-start-center\">\n <mat-slide-toggle\n [ngModel]=\"activeToggleTheme !== 'default'\"\n (ngModelChange)=\"onToggle($event)\"\n [color]=\"color\"\n aria-label=\"Toggle theme\"\n >\n </mat-slide-toggle>\n <mat-icon [color]=\"color\">\n {{ activeToggleTheme === 'default' ? 'light_mode' : 'brightness_2' }}\n </mat-icon>\n </div>\n}\n", styles: [""], dependencies: [{ 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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$
|
|
10795
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderThemeToggleComponent, isStandalone: true, selector: "elder-theme-toggle", inputs: { color: "color" }, ngImport: i0, template: "@if (activeToggleTheme$ | async; as activeToggleTheme) {\n <div class=\"layout-row place-start-center\">\n <mat-slide-toggle\n [ngModel]=\"activeToggleTheme !== 'default'\"\n (ngModelChange)=\"onToggle($event)\"\n [color]=\"color\"\n aria-label=\"Toggle theme\"\n >\n </mat-slide-toggle>\n <mat-icon [color]=\"color\">\n {{ activeToggleTheme === 'default' ? 'light_mode' : 'brightness_2' }}\n </mat-icon>\n </div>\n}\n", styles: [""], dependencies: [{ 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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10580
10796
|
}
|
|
10581
10797
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderThemeToggleComponent, decorators: [{
|
|
10582
10798
|
type: Component,
|
|
@@ -10628,7 +10844,7 @@ class ElderThemeDirective {
|
|
|
10628
10844
|
this.matToolbar.color = theme.heroBackground;
|
|
10629
10845
|
}
|
|
10630
10846
|
}
|
|
10631
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderThemeDirective, deps: [{ token: i1$
|
|
10847
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderThemeDirective, deps: [{ token: i1$4.MatToolbar, host: true, optional: true }, { token: ElderThemeService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10632
10848
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderThemeDirective, isStandalone: true, selector: "[elderTheme]", ngImport: i0 }); }
|
|
10633
10849
|
}
|
|
10634
10850
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderThemeDirective, decorators: [{
|
|
@@ -10636,7 +10852,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
10636
10852
|
args: [{
|
|
10637
10853
|
selector: '[elderTheme]',
|
|
10638
10854
|
}]
|
|
10639
|
-
}], ctorParameters: () => [{ type: i1$
|
|
10855
|
+
}], ctorParameters: () => [{ type: i1$4.MatToolbar, decorators: [{
|
|
10640
10856
|
type: Optional
|
|
10641
10857
|
}, {
|
|
10642
10858
|
type: Host
|
|
@@ -10793,6 +11009,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
10793
11009
|
}]
|
|
10794
11010
|
}] });
|
|
10795
11011
|
|
|
11012
|
+
class ElderTranslatePipe extends TranslatePipe {
|
|
11013
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
11014
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslatePipe, isStandalone: true, name: "translate", pure: false }); }
|
|
11015
|
+
}
|
|
11016
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslatePipe, decorators: [{
|
|
11017
|
+
type: Pipe,
|
|
11018
|
+
args: [{
|
|
11019
|
+
name: 'translate',
|
|
11020
|
+
pure: false,
|
|
11021
|
+
}]
|
|
11022
|
+
}] });
|
|
11023
|
+
|
|
10796
11024
|
class ElderLabelInputComponent extends FormFieldBaseComponent {
|
|
10797
11025
|
/***************************************************************************
|
|
10798
11026
|
* *
|
|
@@ -10969,7 +11197,7 @@ class ElderLabelInputComponent extends FormFieldBaseComponent {
|
|
|
10969
11197
|
return this._compareWith ? this._compareWith(a, b) : a === b;
|
|
10970
11198
|
}
|
|
10971
11199
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLabelInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10972
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLabelInputComponent, isStandalone: true, selector: "elder-label-input", inputs: { labels: "labels", suggestionLoader: "suggestionLoader", allowNew: "allowNew", compareWith: "compareWith", colorResolver: "colorResolver", nameResolver: "nameResolver", labelBuilder: "labelBuilder" }, outputs: { labelsChanged: "labelsChanged" }, providers: buildFormIntegrationProviders(ElderLabelInputComponent), viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["labelInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n\n <mat-chip-grid #chips>\n @for (label of currentLabels$ | async; track label) {\n <mat-chip-row\n class=\"noselect\"\n [color]=\"labelColor(label)\"\n [disabled]=\"disabled\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{ labelName(label) }}\n @if (!readonly && removable) {\n <mat-icon matChipRemove>cancel</mat-icon>\n }\n </mat-chip-row>\n }\n\n <input\n matInput\n type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput\n />\n </mat-chip-grid>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n panelWidth=\"auto\"\n (optionSelected)=\"labelSelected($event)\"\n >\n @for (suggestion of availableSuggestions$ | async; track suggestion) {\n <mat-option [value]=\"suggestion\">\n {{ labelName(suggestion) }}\n </mat-option>\n }\n </mat-autocomplete>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "component", type: MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatChipRemove, selector: "[matChipRemove]" }, { kind: "directive", type: 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: MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$
|
|
11200
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLabelInputComponent, isStandalone: true, selector: "elder-label-input", inputs: { labels: "labels", suggestionLoader: "suggestionLoader", allowNew: "allowNew", compareWith: "compareWith", colorResolver: "colorResolver", nameResolver: "nameResolver", labelBuilder: "labelBuilder" }, outputs: { labelsChanged: "labelsChanged" }, providers: buildFormIntegrationProviders(ElderLabelInputComponent), viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["labelInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n\n <mat-chip-grid #chips>\n @for (label of currentLabels$ | async; track label) {\n <mat-chip-row\n class=\"noselect\"\n [color]=\"labelColor(label)\"\n [disabled]=\"disabled\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{ labelName(label) }}\n @if (!readonly && removable) {\n <mat-icon matChipRemove>cancel</mat-icon>\n }\n </mat-chip-row>\n }\n\n <input\n matInput\n type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput\n />\n </mat-chip-grid>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n panelWidth=\"auto\"\n (optionSelected)=\"labelSelected($event)\"\n >\n @for (suggestion of availableSuggestions$ | async; track suggestion) {\n <mat-option [value]=\"suggestion\">\n {{ labelName(suggestion) }}\n </mat-option>\n }\n </mat-autocomplete>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "component", type: MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatChipRemove, selector: "[matChipRemove]" }, { kind: "directive", type: 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: MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: 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: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10973
11201
|
}
|
|
10974
11202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLabelInputComponent, decorators: [{
|
|
10975
11203
|
type: Component,
|
|
@@ -10988,7 +11216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
10988
11216
|
MatAutocomplete,
|
|
10989
11217
|
MatOption,
|
|
10990
11218
|
AsyncPipe,
|
|
10991
|
-
|
|
11219
|
+
ElderTranslatePipe,
|
|
10992
11220
|
], template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n\n <mat-chip-grid #chips>\n @for (label of currentLabels$ | async; track label) {\n <mat-chip-row\n class=\"noselect\"\n [color]=\"labelColor(label)\"\n [disabled]=\"disabled\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{ labelName(label) }}\n @if (!readonly && removable) {\n <mat-icon matChipRemove>cancel</mat-icon>\n }\n </mat-chip-row>\n }\n\n <input\n matInput\n type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput\n />\n </mat-chip-grid>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n panelWidth=\"auto\"\n (optionSelected)=\"labelSelected($event)\"\n >\n @for (suggestion of availableSuggestions$ | async; track suggestion) {\n <mat-option [value]=\"suggestion\">\n {{ labelName(suggestion) }}\n </mat-option>\n }\n </mat-autocomplete>\n</mat-form-field>\n" }]
|
|
10993
11221
|
}], ctorParameters: () => [], propDecorators: { inputControl: [{
|
|
10994
11222
|
type: ViewChild,
|
|
@@ -11020,7 +11248,6 @@ class ElderLabelsModule {
|
|
|
11020
11248
|
MatInputModule,
|
|
11021
11249
|
MatChipsModule,
|
|
11022
11250
|
MatAutocompleteModule,
|
|
11023
|
-
TranslateModule,
|
|
11024
11251
|
ElderLabelInputComponent], exports: [ElderLabelInputComponent] }); }
|
|
11025
11252
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLabelsModule, imports: [CommonModule,
|
|
11026
11253
|
FormsModule,
|
|
@@ -11029,7 +11256,6 @@ class ElderLabelsModule {
|
|
|
11029
11256
|
MatInputModule,
|
|
11030
11257
|
MatChipsModule,
|
|
11031
11258
|
MatAutocompleteModule,
|
|
11032
|
-
TranslateModule,
|
|
11033
11259
|
ElderLabelInputComponent] }); }
|
|
11034
11260
|
}
|
|
11035
11261
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLabelsModule, decorators: [{
|
|
@@ -11043,7 +11269,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
11043
11269
|
MatInputModule,
|
|
11044
11270
|
MatChipsModule,
|
|
11045
11271
|
MatAutocompleteModule,
|
|
11046
|
-
TranslateModule,
|
|
11047
11272
|
ElderLabelInputComponent,
|
|
11048
11273
|
],
|
|
11049
11274
|
exports: [ElderLabelInputComponent],
|
|
@@ -12219,13 +12444,13 @@ class StandardToastComponent {
|
|
|
12219
12444
|
return text;
|
|
12220
12445
|
}
|
|
12221
12446
|
}
|
|
12222
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: StandardToastComponent, deps: [{ token: i1$
|
|
12447
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: StandardToastComponent, deps: [{ token: i1$5.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12223
12448
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: StandardToastComponent, isStandalone: true, selector: "elder-standard-toast", ngImport: i0, template: "<div\n class=\"layout-col place-start-stretch gap-xs mat-mdc-snack-bar-container elder-toast\"\n [class.elder-toast-type-default]=\"!toast.type\"\n [class.elder-toast-type-primary]=\"toast.type === ToastType.Success\"\n [class.elder-toast-type-warn]=\"toast.type === ToastType.Warning\"\n [class.elder-toast-type-error]=\"toast.type === ToastType.Error\"\n>\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\">{{ icon(toast.type) }}</mat-icon>\n <span class=\"toast-title mat-subtitle-2 noselect\">{{ toast.status }}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n @if (toast.message) {\n <span class=\"mat-body noselect\" matSnackBarLabel>{{ toast.message }}</span>\n }\n\n <span></span>\n\n <!-- Toast Detail -->\n @if (toast.detail) {\n <span class=\"mat-small noselect\" matSnackBarLabel>{{ trimDetailText(toast.detail, 200) }}</span>\n }\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button\n mat-flat-button\n matSnackBarAction\n type=\"button\"\n [color]=\"iconColor(toast.type)\"\n (click)=\"close()\"\n >\n Ok\n </button>\n </div>\n</div>\n", styles: [".elder-toast{--elder-toast-message-color-title: var(--elder-toast-message-color-title-default);--mat-button-filled-container-color: var(--md-sys-color-secondary)}.elder-toast.elder-toast-type-warn{--elder-toast-message-color-title: var(--elder-toast-message-color-title-warn);--mat-button-filled-container-color: var(--md-sys-color-tertiary)}.elder-toast.elder-toast-type-error{--elder-toast-message-color-title: var(--elder-toast-message-color-title-error);--mat-button-filled-container-color: var(--md-sys-color-error)}.elder-toast button{color:var(--elder-toast-message-color-title)!important}.elder-toast .toast-title,.elder-toast .mat-icon{color:var(--elder-toast-message-color-title)}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "component", type: 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: MatSnackBarAction, selector: "[matSnackBarAction]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12224
12449
|
}
|
|
12225
12450
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: StandardToastComponent, decorators: [{
|
|
12226
12451
|
type: Component,
|
|
12227
12452
|
args: [{ selector: 'elder-standard-toast', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatIcon, MatSnackBarLabel, MatSnackBarActions, MatButton, MatSnackBarAction], template: "<div\n class=\"layout-col place-start-stretch gap-xs mat-mdc-snack-bar-container elder-toast\"\n [class.elder-toast-type-default]=\"!toast.type\"\n [class.elder-toast-type-primary]=\"toast.type === ToastType.Success\"\n [class.elder-toast-type-warn]=\"toast.type === ToastType.Warning\"\n [class.elder-toast-type-error]=\"toast.type === ToastType.Error\"\n>\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\">{{ icon(toast.type) }}</mat-icon>\n <span class=\"toast-title mat-subtitle-2 noselect\">{{ toast.status }}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n @if (toast.message) {\n <span class=\"mat-body noselect\" matSnackBarLabel>{{ toast.message }}</span>\n }\n\n <span></span>\n\n <!-- Toast Detail -->\n @if (toast.detail) {\n <span class=\"mat-small noselect\" matSnackBarLabel>{{ trimDetailText(toast.detail, 200) }}</span>\n }\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button\n mat-flat-button\n matSnackBarAction\n type=\"button\"\n [color]=\"iconColor(toast.type)\"\n (click)=\"close()\"\n >\n Ok\n </button>\n </div>\n</div>\n", styles: [".elder-toast{--elder-toast-message-color-title: var(--elder-toast-message-color-title-default);--mat-button-filled-container-color: var(--md-sys-color-secondary)}.elder-toast.elder-toast-type-warn{--elder-toast-message-color-title: var(--elder-toast-message-color-title-warn);--mat-button-filled-container-color: var(--md-sys-color-tertiary)}.elder-toast.elder-toast-type-error{--elder-toast-message-color-title: var(--elder-toast-message-color-title-error);--mat-button-filled-container-color: var(--md-sys-color-error)}.elder-toast button{color:var(--elder-toast-message-color-title)!important}.elder-toast .toast-title,.elder-toast .mat-icon{color:var(--elder-toast-message-color-title)}\n"] }]
|
|
12228
|
-
}], ctorParameters: () => [{ type: i1$
|
|
12453
|
+
}], ctorParameters: () => [{ type: i1$5.MatSnackBarRef }, { type: undefined, decorators: [{
|
|
12229
12454
|
type: Inject,
|
|
12230
12455
|
args: [MAT_SNACK_BAR_DATA]
|
|
12231
12456
|
}] }] });
|
|
@@ -12441,7 +12666,7 @@ class ElderToastService {
|
|
|
12441
12666
|
return this.translate.get(options.msg, options.interpolateParams).pipe(catchError((err) => options.msg) // // no translation found, we use the translation key
|
|
12442
12667
|
);
|
|
12443
12668
|
}
|
|
12444
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToastService, deps: [{ token:
|
|
12669
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToastService, deps: [{ token: ElderTranslateService }, { token: i1$5.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12445
12670
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToastService, providedIn: 'root' }); }
|
|
12446
12671
|
}
|
|
12447
12672
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToastService, decorators: [{
|
|
@@ -12449,7 +12674,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
12449
12674
|
args: [{
|
|
12450
12675
|
providedIn: 'root',
|
|
12451
12676
|
}]
|
|
12452
|
-
}], ctorParameters: () => [{ type:
|
|
12677
|
+
}], ctorParameters: () => [{ type: ElderTranslateService }, { type: i1$5.MatSnackBar }] });
|
|
12453
12678
|
|
|
12454
12679
|
class BlobContext {
|
|
12455
12680
|
static textBlob(text, mimeType) {
|
|
@@ -12682,11 +12907,11 @@ class ElderDropZoneComponent {
|
|
|
12682
12907
|
this.prompt = 'Drop Files here.';
|
|
12683
12908
|
}
|
|
12684
12909
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDropZoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12685
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderDropZoneComponent, isStandalone: true, selector: "elder-drop-zone", inputs: { icon: "icon", prompt: "prompt" }, outputs: { filesDropped: "filesDropped", dragOver: "dragOver", dragEnd: "dragEnd" }, ngImport: i0, template: "<div\n class=\"layout-col full elder-drop-zone\"\n elderFileDropZone\n (dropFiles)=\"filesDropped.emit($event)\"\n (dragOver)=\"dragOver.emit($event)\"\n (dragEnd)=\"dragEnd.emit($event)\"\n>\n <div class=\"layout-col flex\">\n <ng-content></ng-content>\n <!-- Default content -->\n <div class=\"layout-col flex place-center-center gap-sm elder-default-content\">\n <mat-icon class=\"elder-drop-zone-icon\">{{ icon }}</mat-icon>\n <span class=\"elder-drop-zone-prompt\">{{ prompt | translate }}</span>\n </div>\n </div>\n</div>\n", styles: [".elder-drop-zone{border:4px dashed rgba(0,0,0,.4);-webkit-border-radius:8px;border-radius:8px;background-color:#00000040;cursor:pointer}.elder-drop-zone-icon{color:var(--md-sys-color-primary);font-size:28px;width:28px;height:28px}.elder-drop-zone-prompt{color:var(--md-sys-color-primary)}.elder-drop-zone.is-dragover{border:4px solid var(--md-sys-color-tertiary);background-color:var(--md-sys-color-tertiary-container)}.elder-drop-zone.is-dragover .elder-drop-zone-icon,.elder-drop-zone.is-dragover .elder-drop-zone-prompt{color:var(--md-sys-color-tertiary)}\n"], dependencies: [{ kind: "directive", type: ElderFileDropZoneDirective, selector: "[elderFileDropZone]", inputs: ["dragOverClass"], outputs: ["dragEnter", "dragOver", "dragEnd", "dragEnterFiles", "dropFiles", "elderFileDropZoneChange"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "
|
|
12910
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderDropZoneComponent, isStandalone: true, selector: "elder-drop-zone", inputs: { icon: "icon", prompt: "prompt" }, outputs: { filesDropped: "filesDropped", dragOver: "dragOver", dragEnd: "dragEnd" }, ngImport: i0, template: "<div\n class=\"layout-col full elder-drop-zone\"\n elderFileDropZone\n (dropFiles)=\"filesDropped.emit($event)\"\n (dragOver)=\"dragOver.emit($event)\"\n (dragEnd)=\"dragEnd.emit($event)\"\n>\n <div class=\"layout-col flex\">\n <ng-content></ng-content>\n <!-- Default content -->\n <div class=\"layout-col flex place-center-center gap-sm elder-default-content\">\n <mat-icon class=\"elder-drop-zone-icon\">{{ icon }}</mat-icon>\n <span class=\"elder-drop-zone-prompt\">{{ prompt | translate }}</span>\n </div>\n </div>\n</div>\n", styles: [".elder-drop-zone{border:4px dashed rgba(0,0,0,.4);-webkit-border-radius:8px;border-radius:8px;background-color:#00000040;cursor:pointer}.elder-drop-zone-icon{color:var(--md-sys-color-primary);font-size:28px;width:28px;height:28px}.elder-drop-zone-prompt{color:var(--md-sys-color-primary)}.elder-drop-zone.is-dragover{border:4px solid var(--md-sys-color-tertiary);background-color:var(--md-sys-color-tertiary-container)}.elder-drop-zone.is-dragover .elder-drop-zone-icon,.elder-drop-zone.is-dragover .elder-drop-zone-prompt{color:var(--md-sys-color-tertiary)}\n"], dependencies: [{ kind: "directive", type: ElderFileDropZoneDirective, selector: "[elderFileDropZone]", inputs: ["dragOverClass"], outputs: ["dragEnter", "dragOver", "dragEnd", "dragEnterFiles", "dropFiles", "elderFileDropZoneChange"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12686
12911
|
}
|
|
12687
12912
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDropZoneComponent, decorators: [{
|
|
12688
12913
|
type: Component,
|
|
12689
|
-
args: [{ selector: 'elder-drop-zone', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ElderFileDropZoneDirective, MatIcon,
|
|
12914
|
+
args: [{ selector: 'elder-drop-zone', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ElderFileDropZoneDirective, MatIcon, ElderTranslatePipe], template: "<div\n class=\"layout-col full elder-drop-zone\"\n elderFileDropZone\n (dropFiles)=\"filesDropped.emit($event)\"\n (dragOver)=\"dragOver.emit($event)\"\n (dragEnd)=\"dragEnd.emit($event)\"\n>\n <div class=\"layout-col flex\">\n <ng-content></ng-content>\n <!-- Default content -->\n <div class=\"layout-col flex place-center-center gap-sm elder-default-content\">\n <mat-icon class=\"elder-drop-zone-icon\">{{ icon }}</mat-icon>\n <span class=\"elder-drop-zone-prompt\">{{ prompt | translate }}</span>\n </div>\n </div>\n</div>\n", styles: [".elder-drop-zone{border:4px dashed rgba(0,0,0,.4);-webkit-border-radius:8px;border-radius:8px;background-color:#00000040;cursor:pointer}.elder-drop-zone-icon{color:var(--md-sys-color-primary);font-size:28px;width:28px;height:28px}.elder-drop-zone-prompt{color:var(--md-sys-color-primary)}.elder-drop-zone.is-dragover{border:4px solid var(--md-sys-color-tertiary);background-color:var(--md-sys-color-tertiary-container)}.elder-drop-zone.is-dragover .elder-drop-zone-icon,.elder-drop-zone.is-dragover .elder-drop-zone-prompt{color:var(--md-sys-color-tertiary)}\n"] }]
|
|
12690
12915
|
}], ctorParameters: () => [], propDecorators: { filesDropped: [{
|
|
12691
12916
|
type: Output
|
|
12692
12917
|
}], dragOver: [{
|
|
@@ -12787,7 +13012,6 @@ class ElderFileModule {
|
|
|
12787
13012
|
MatIconModule,
|
|
12788
13013
|
MatProgressBarModule,
|
|
12789
13014
|
ElderPipesModule,
|
|
12790
|
-
TranslateModule,
|
|
12791
13015
|
ElderFileSelectComponent,
|
|
12792
13016
|
ElderFileUploadComponent,
|
|
12793
13017
|
ElderFileSelectDirective,
|
|
@@ -12805,7 +13029,6 @@ class ElderFileModule {
|
|
|
12805
13029
|
MatIconModule,
|
|
12806
13030
|
MatProgressBarModule,
|
|
12807
13031
|
ElderPipesModule,
|
|
12808
|
-
TranslateModule,
|
|
12809
13032
|
ElderFileSelectComponent,
|
|
12810
13033
|
ElderFileUploadComponent,
|
|
12811
13034
|
ElderDropZoneComponent] }); }
|
|
@@ -12820,7 +13043,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
12820
13043
|
MatIconModule,
|
|
12821
13044
|
MatProgressBarModule,
|
|
12822
13045
|
ElderPipesModule,
|
|
12823
|
-
TranslateModule,
|
|
12824
13046
|
ElderFileSelectComponent,
|
|
12825
13047
|
ElderFileUploadComponent,
|
|
12826
13048
|
ElderFileSelectDirective,
|
|
@@ -13339,7 +13561,7 @@ class ElderCardStackComponent {
|
|
|
13339
13561
|
}
|
|
13340
13562
|
}
|
|
13341
13563
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderCardStackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13342
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderCardStackComponent, isStandalone: true, selector: "elder-card-stack", inputs: { stackId: "stackId", headerEnabled: "headerEnabled", headerTitle: "headerTitle", canRemove: "canRemove", canAdd: "canAdd", canDrag: "canDrag", removeConfirmation: "removeConfirmation", canEnterPredicate: "canEnterPredicate", connectedTo: "connectedTo", autoMoveCards: "autoMoveCards", canCollapse: "canCollapse", copyOnDrag: "copyOnDrag", cardTemplate: "cardTemplate", stack: "stack" }, outputs: { requestNewCard: "requestNewCard", requestRemoveCard: "requestRemoveCard", cardClick: "cardClick", cardDropped: "cardDropped" }, queries: [{ propertyName: "cardTemplateQuery", first: true, predicate: ElderStackCardDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"layout-col full card-stack hoverme\">\n <!-- Header -->\n @if (headerEnabled) {\n <header class=\"layout-row place-start-center flex-none gap-md stack-header p-md\">\n <h3 class=\"mat-subtitle-2 noselect\">{{ headerTitle | translate }}</h3>\n <small class=\"mat-caption noselect\">({{ (cards$ | async)?.length }})</small>\n <span class=\"flex\"></span>\n @if (canAdd) {\n <button mat-icon-button type=\"button\" (click)=\"onRequestNewCard($event)\">\n <mat-icon>add</mat-icon>\n </button>\n }\n </header>\n }\n @if (headerEnabled) {\n <mat-divider></mat-divider>\n }\n\n <!-- card list -->\n <div class=\"layout-col flex card-container\">\n <div\n class=\"layout-col gap-sm scrollable p-sm card-list\"\n [id]=\"stackId\"\n cdkDropList\n [cdkDropListDisabled]=\"!canDrag\"\n [cdkDropListData]=\"stack\"\n [cdkDropListConnectedTo]=\"connectedTo\"\n [cdkDropListEnterPredicate]=\"enterPredicate\"\n (cdkDropListEntered)=\"cardEntered($event)\"\n (cdkDropListExited)=\"cardExited($event)\"\n (cdkDropListDropped)=\"cardDrop($event)\"\n >\n <!-- card -->\n @for (card of cards$ | async; track card; let i = $index) {\n <elder-card\n class=\"card flex-none\"\n [ngClass]=\"cardClick.observed ? 'clickable' : 'unclickable'\"\n cdkDrag\n [cdkDragData]=\"card\"\n (click)=\"onCardSelected($event, card)\"\n >\n <div class=\"layout-row place-between-center flex\">\n <ng-container\n *ngTemplateOutlet=\"\n cardTemplate || simpleCardTemplate;\n context: { $implicit: card, index: i }\n \"\n ></ng-container>\n @if (canRemove) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"hide\"\n (click)=\"onRequestRemoveCard($event, card)\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </div>\n </elder-card>\n }\n </div>\n </div>\n\n <ng-template #simpleCardTemplate let-card>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">{{ card }}</p>\n </div>\n </ng-template>\n</div>\n", styles: [".card-stack{border-radius:var(--elder-border-radius-sm);border:var(--elder-border-light)}.card-list.cdk-drop-list-dragging{border:2px dashed var(--md-sys-color-outline-variant)}.stack-header{height:62px}.card-container{min-width:120px;min-height:0}.card-list{min-height:100%}.card{border-radius:var(--elder-border-radius-sm);box-shadow:var(--mat-app-elevation-shadow-level-1);cursor:move;overflow:hidden}.card.cdk-drag-disabled.clickable{cursor:pointer}.card.cdk-drag-disabled.unclickable{cursor:default}.hoverme .hide{visibility:hidden}.hoverme:hover .hide{visibility:visible}.rotate{transform:rotate(-90deg)}.noselect{-webkit-user-select:none;user-select:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.card-list.cdk-drop-list-dragging .card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: ElderCardComponent, selector: "elder-card", inputs: ["appearance", "float", "flat"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "
|
|
13564
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderCardStackComponent, isStandalone: true, selector: "elder-card-stack", inputs: { stackId: "stackId", headerEnabled: "headerEnabled", headerTitle: "headerTitle", canRemove: "canRemove", canAdd: "canAdd", canDrag: "canDrag", removeConfirmation: "removeConfirmation", canEnterPredicate: "canEnterPredicate", connectedTo: "connectedTo", autoMoveCards: "autoMoveCards", canCollapse: "canCollapse", copyOnDrag: "copyOnDrag", cardTemplate: "cardTemplate", stack: "stack" }, outputs: { requestNewCard: "requestNewCard", requestRemoveCard: "requestRemoveCard", cardClick: "cardClick", cardDropped: "cardDropped" }, queries: [{ propertyName: "cardTemplateQuery", first: true, predicate: ElderStackCardDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"layout-col full card-stack hoverme\">\n <!-- Header -->\n @if (headerEnabled) {\n <header class=\"layout-row place-start-center flex-none gap-md stack-header p-md\">\n <h3 class=\"mat-subtitle-2 noselect\">{{ headerTitle | translate }}</h3>\n <small class=\"mat-caption noselect\">({{ (cards$ | async)?.length }})</small>\n <span class=\"flex\"></span>\n @if (canAdd) {\n <button mat-icon-button type=\"button\" (click)=\"onRequestNewCard($event)\">\n <mat-icon>add</mat-icon>\n </button>\n }\n </header>\n }\n @if (headerEnabled) {\n <mat-divider></mat-divider>\n }\n\n <!-- card list -->\n <div class=\"layout-col flex card-container\">\n <div\n class=\"layout-col gap-sm scrollable p-sm card-list\"\n [id]=\"stackId\"\n cdkDropList\n [cdkDropListDisabled]=\"!canDrag\"\n [cdkDropListData]=\"stack\"\n [cdkDropListConnectedTo]=\"connectedTo\"\n [cdkDropListEnterPredicate]=\"enterPredicate\"\n (cdkDropListEntered)=\"cardEntered($event)\"\n (cdkDropListExited)=\"cardExited($event)\"\n (cdkDropListDropped)=\"cardDrop($event)\"\n >\n <!-- card -->\n @for (card of cards$ | async; track card; let i = $index) {\n <elder-card\n class=\"card flex-none\"\n [ngClass]=\"cardClick.observed ? 'clickable' : 'unclickable'\"\n cdkDrag\n [cdkDragData]=\"card\"\n (click)=\"onCardSelected($event, card)\"\n >\n <div class=\"layout-row place-between-center flex\">\n <ng-container\n *ngTemplateOutlet=\"\n cardTemplate || simpleCardTemplate;\n context: { $implicit: card, index: i }\n \"\n ></ng-container>\n @if (canRemove) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"hide\"\n (click)=\"onRequestRemoveCard($event, card)\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </div>\n </elder-card>\n }\n </div>\n </div>\n\n <ng-template #simpleCardTemplate let-card>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">{{ card }}</p>\n </div>\n </ng-template>\n</div>\n", styles: [".card-stack{border-radius:var(--elder-border-radius-sm);border:var(--elder-border-light)}.card-list.cdk-drop-list-dragging{border:2px dashed var(--md-sys-color-outline-variant)}.stack-header{height:62px}.card-container{min-width:120px;min-height:0}.card-list{min-height:100%}.card{border-radius:var(--elder-border-radius-sm);box-shadow:var(--mat-app-elevation-shadow-level-1);cursor:move;overflow:hidden}.card.cdk-drag-disabled.clickable{cursor:pointer}.card.cdk-drag-disabled.unclickable{cursor:default}.hoverme .hide{visibility:hidden}.hoverme:hover .hide{visibility:visible}.rotate{transform:rotate(-90deg)}.noselect{-webkit-user-select:none;user-select:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.card-list.cdk-drop-list-dragging .card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: ElderCardComponent, selector: "elder-card", inputs: ["appearance", "float", "flat"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13343
13565
|
}
|
|
13344
13566
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderCardStackComponent, decorators: [{
|
|
13345
13567
|
type: Component,
|
|
@@ -13353,7 +13575,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
13353
13575
|
NgClass,
|
|
13354
13576
|
NgTemplateOutlet,
|
|
13355
13577
|
AsyncPipe,
|
|
13356
|
-
|
|
13578
|
+
ElderTranslatePipe,
|
|
13357
13579
|
], template: "<div class=\"layout-col full card-stack hoverme\">\n <!-- Header -->\n @if (headerEnabled) {\n <header class=\"layout-row place-start-center flex-none gap-md stack-header p-md\">\n <h3 class=\"mat-subtitle-2 noselect\">{{ headerTitle | translate }}</h3>\n <small class=\"mat-caption noselect\">({{ (cards$ | async)?.length }})</small>\n <span class=\"flex\"></span>\n @if (canAdd) {\n <button mat-icon-button type=\"button\" (click)=\"onRequestNewCard($event)\">\n <mat-icon>add</mat-icon>\n </button>\n }\n </header>\n }\n @if (headerEnabled) {\n <mat-divider></mat-divider>\n }\n\n <!-- card list -->\n <div class=\"layout-col flex card-container\">\n <div\n class=\"layout-col gap-sm scrollable p-sm card-list\"\n [id]=\"stackId\"\n cdkDropList\n [cdkDropListDisabled]=\"!canDrag\"\n [cdkDropListData]=\"stack\"\n [cdkDropListConnectedTo]=\"connectedTo\"\n [cdkDropListEnterPredicate]=\"enterPredicate\"\n (cdkDropListEntered)=\"cardEntered($event)\"\n (cdkDropListExited)=\"cardExited($event)\"\n (cdkDropListDropped)=\"cardDrop($event)\"\n >\n <!-- card -->\n @for (card of cards$ | async; track card; let i = $index) {\n <elder-card\n class=\"card flex-none\"\n [ngClass]=\"cardClick.observed ? 'clickable' : 'unclickable'\"\n cdkDrag\n [cdkDragData]=\"card\"\n (click)=\"onCardSelected($event, card)\"\n >\n <div class=\"layout-row place-between-center flex\">\n <ng-container\n *ngTemplateOutlet=\"\n cardTemplate || simpleCardTemplate;\n context: { $implicit: card, index: i }\n \"\n ></ng-container>\n @if (canRemove) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"hide\"\n (click)=\"onRequestRemoveCard($event, card)\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </div>\n </elder-card>\n }\n </div>\n </div>\n\n <ng-template #simpleCardTemplate let-card>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">{{ card }}</p>\n </div>\n </ng-template>\n</div>\n", styles: [".card-stack{border-radius:var(--elder-border-radius-sm);border:var(--elder-border-light)}.card-list.cdk-drop-list-dragging{border:2px dashed var(--md-sys-color-outline-variant)}.stack-header{height:62px}.card-container{min-width:120px;min-height:0}.card-list{min-height:100%}.card{border-radius:var(--elder-border-radius-sm);box-shadow:var(--mat-app-elevation-shadow-level-1);cursor:move;overflow:hidden}.card.cdk-drag-disabled.clickable{cursor:pointer}.card.cdk-drag-disabled.unclickable{cursor:default}.hoverme .hide{visibility:hidden}.hoverme:hover .hide{visibility:visible}.rotate{transform:rotate(-90deg)}.noselect{-webkit-user-select:none;user-select:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.card-list.cdk-drop-list-dragging .card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
13358
13580
|
}], ctorParameters: () => [], propDecorators: { stackId: [{
|
|
13359
13581
|
type: Input
|
|
@@ -13528,8 +13750,6 @@ class ElderCardModule {
|
|
|
13528
13750
|
// Angular
|
|
13529
13751
|
CommonModule,
|
|
13530
13752
|
RouterModule,
|
|
13531
|
-
// Third Party
|
|
13532
|
-
TranslateModule,
|
|
13533
13753
|
MatCardModule,
|
|
13534
13754
|
ElderCardComponent,
|
|
13535
13755
|
ElderCardTitleDirective,
|
|
@@ -13548,8 +13768,6 @@ class ElderCardModule {
|
|
|
13548
13768
|
// Angular
|
|
13549
13769
|
CommonModule,
|
|
13550
13770
|
RouterModule,
|
|
13551
|
-
// Third Party
|
|
13552
|
-
TranslateModule,
|
|
13553
13771
|
MatCardModule,
|
|
13554
13772
|
ElderCardComponent] }); }
|
|
13555
13773
|
}
|
|
@@ -13560,8 +13778,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
13560
13778
|
// Angular
|
|
13561
13779
|
CommonModule,
|
|
13562
13780
|
RouterModule,
|
|
13563
|
-
// Third Party
|
|
13564
|
-
TranslateModule,
|
|
13565
13781
|
MatCardModule,
|
|
13566
13782
|
ElderCardComponent,
|
|
13567
13783
|
ElderCardTitleDirective,
|
|
@@ -13681,7 +13897,6 @@ class ElderCardOrganizerModule {
|
|
|
13681
13897
|
MatDividerModule,
|
|
13682
13898
|
MatRippleModule,
|
|
13683
13899
|
DragDropModule,
|
|
13684
|
-
TranslateModule,
|
|
13685
13900
|
ElderCardModule,
|
|
13686
13901
|
ElderCardOrganizerComponent,
|
|
13687
13902
|
ElderCardStackComponent,
|
|
@@ -13692,7 +13907,6 @@ class ElderCardOrganizerModule {
|
|
|
13692
13907
|
MatDividerModule,
|
|
13693
13908
|
MatRippleModule,
|
|
13694
13909
|
DragDropModule,
|
|
13695
|
-
TranslateModule,
|
|
13696
13910
|
ElderCardModule,
|
|
13697
13911
|
ElderCardOrganizerComponent,
|
|
13698
13912
|
ElderCardStackComponent] }); }
|
|
@@ -13707,7 +13921,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
13707
13921
|
MatDividerModule,
|
|
13708
13922
|
MatRippleModule,
|
|
13709
13923
|
DragDropModule,
|
|
13710
|
-
TranslateModule,
|
|
13711
13924
|
ElderCardModule,
|
|
13712
13925
|
ElderCardOrganizerComponent,
|
|
13713
13926
|
ElderCardStackComponent,
|
|
@@ -14707,7 +14920,7 @@ class ElderCompositeSortComponent {
|
|
|
14707
14920
|
}
|
|
14708
14921
|
}
|
|
14709
14922
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderCompositeSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14710
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderCompositeSortComponent, isStandalone: true, selector: "elder-composite-sort", inputs: { availableSorts: { classPropertyName: "availableSorts", publicName: "availableSorts", isSignal: true, isRequired: true, transformFunction: null }, sorts: { classPropertyName: "sorts", publicName: "sorts", isSignal: true, isRequired: false, transformFunction: null }, translationPrefix: { classPropertyName: "translationPrefix", publicName: "translationPrefix", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sorts: "sortsChange", sortsChange: "sortsChange" }, ngImport: i0, template: "<div class=\"layout-row place-start-center flex-none\">\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n {{ translationPrefix() + selectedSort().id | translate }}\n\n <mat-icon style=\"font-size: 22px; height: 22px\">sort</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n @for (namedSort of availableSorts(); track namedSort.id) {\n <button mat-menu-item type=\"button\" (click)=\"selectSort(namedSort)\">\n <mat-icon>sort</mat-icon>\n <span [class.mat-body-strong]=\"selectedSort()?.id === namedSort.id\">{{\n translationPrefix() + namedSort.id | translate\n }}</span>\n </button>\n }\n </mat-menu>\n </button>\n\n <button mat-icon-button type=\"button\" (click)=\"toggleSortDirection($event)\">\n <mat-icon style=\"font-size: 22px\">{{\n selectedSortDirection() === 'asc' ? 'arrow_downward' : 'arrow_upward'\n }}</mat-icon>\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: 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: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "
|
|
14923
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderCompositeSortComponent, isStandalone: true, selector: "elder-composite-sort", inputs: { availableSorts: { classPropertyName: "availableSorts", publicName: "availableSorts", isSignal: true, isRequired: true, transformFunction: null }, sorts: { classPropertyName: "sorts", publicName: "sorts", isSignal: true, isRequired: false, transformFunction: null }, translationPrefix: { classPropertyName: "translationPrefix", publicName: "translationPrefix", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sorts: "sortsChange", sortsChange: "sortsChange" }, ngImport: i0, template: "<div class=\"layout-row place-start-center flex-none\">\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n {{ translationPrefix() + selectedSort().id | translate }}\n\n <mat-icon style=\"font-size: 22px; height: 22px\">sort</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n @for (namedSort of availableSorts(); track namedSort.id) {\n <button mat-menu-item type=\"button\" (click)=\"selectSort(namedSort)\">\n <mat-icon>sort</mat-icon>\n <span [class.mat-body-strong]=\"selectedSort()?.id === namedSort.id\">{{\n translationPrefix() + namedSort.id | translate\n }}</span>\n </button>\n }\n </mat-menu>\n </button>\n\n <button mat-icon-button type=\"button\" (click)=\"toggleSortDirection($event)\">\n <mat-icon style=\"font-size: 22px\">{{\n selectedSortDirection() === 'asc' ? 'arrow_downward' : 'arrow_upward'\n }}</mat-icon>\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: 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: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14711
14924
|
}
|
|
14712
14925
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderCompositeSortComponent, decorators: [{
|
|
14713
14926
|
type: Component,
|
|
@@ -14717,7 +14930,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
14717
14930
|
MatIconButton,
|
|
14718
14931
|
MatMenu,
|
|
14719
14932
|
MatMenuItem,
|
|
14720
|
-
|
|
14933
|
+
ElderTranslatePipe,
|
|
14721
14934
|
MatMenuTrigger,
|
|
14722
14935
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-row place-start-center flex-none\">\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n {{ translationPrefix() + selectedSort().id | translate }}\n\n <mat-icon style=\"font-size: 22px; height: 22px\">sort</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n @for (namedSort of availableSorts(); track namedSort.id) {\n <button mat-menu-item type=\"button\" (click)=\"selectSort(namedSort)\">\n <mat-icon>sort</mat-icon>\n <span [class.mat-body-strong]=\"selectedSort()?.id === namedSort.id\">{{\n translationPrefix() + namedSort.id | translate\n }}</span>\n </button>\n }\n </mat-menu>\n </button>\n\n <button mat-icon-button type=\"button\" (click)=\"toggleSortDirection($event)\">\n <mat-icon style=\"font-size: 22px\">{{\n selectedSortDirection() === 'asc' ? 'arrow_downward' : 'arrow_upward'\n }}</mat-icon>\n </button>\n</div>\n" }]
|
|
14723
14936
|
}], ctorParameters: () => [], propDecorators: { availableSorts: [{ type: i0.Input, args: [{ isSignal: true, alias: "availableSorts", required: true }] }], sorts: [{ type: i0.Input, args: [{ isSignal: true, alias: "sorts", required: false }] }, { type: i0.Output, args: ["sortsChange"] }], sortsChange: [{ type: i0.Output, args: ["sortsChange"] }], translationPrefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationPrefix", required: false }] }] } });
|
|
@@ -14779,8 +14992,8 @@ class ElderConfirmDialogComponent {
|
|
|
14779
14992
|
this.dialogRef = dialogRef;
|
|
14780
14993
|
this.yesNo = false;
|
|
14781
14994
|
}
|
|
14782
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderConfirmDialogComponent, deps: [{ token: i1$
|
|
14783
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderConfirmDialogComponent, isStandalone: true, selector: "elder-confirm-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button type=\"button\" [matDialogClose]=\"false\">\n <mat-icon>close</mat-icon>\n </button>\n <h3>{{ title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-md gap-md\">\n <div class=\"flex\">\n <p
|
|
14995
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderConfirmDialogComponent, deps: [{ token: i1$6.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14996
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderConfirmDialogComponent, isStandalone: true, selector: "elder-confirm-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button type=\"button\" [matDialogClose]=\"false\">\n <mat-icon>close</mat-icon>\n </button>\n <h3>{{ title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-md gap-md\">\n <div class=\"flex\">\n <p>{{ message | translate }}</p>\n </div>\n\n <div class=\"layout-row place-end-center gap-md flex-none\" cdkTrapFocus>\n <button type=\"button\" mat-button (click)=\"dialogRef.close(false)\">\n {{ (yesNo ? 'actions.no' : 'actions.cancel') | translate }}\n </button>\n\n <button type=\"submit\" mat-flat-button cdkFocusInitial (click)=\"dialogRef.close(true)\">\n {{ (yesNo ? 'actions.yes' : 'actions.ok') | translate }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: ElderThemeDirective, selector: "[elderTheme]" }, { kind: "directive", type: MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: 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: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14784
14997
|
}
|
|
14785
14998
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderConfirmDialogComponent, decorators: [{
|
|
14786
14999
|
type: Component,
|
|
@@ -14791,11 +15004,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
14791
15004
|
MatIconButton,
|
|
14792
15005
|
MatDialogClose,
|
|
14793
15006
|
MatIcon,
|
|
14794
|
-
|
|
15007
|
+
ElderTranslatePipe,
|
|
14795
15008
|
CdkTrapFocus,
|
|
14796
15009
|
MatButton,
|
|
14797
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button type=\"button\" [matDialogClose]=\"false\">\n <mat-icon>close</mat-icon>\n </button>\n <h3>{{ title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-md gap-md\">\n <div class=\"flex\">\n <p
|
|
14798
|
-
}], ctorParameters: () => [{ type: i1$
|
|
15010
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button type=\"button\" [matDialogClose]=\"false\">\n <mat-icon>close</mat-icon>\n </button>\n <h3>{{ title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-md gap-md\">\n <div class=\"flex\">\n <p>{{ message | translate }}</p>\n </div>\n\n <div class=\"layout-row place-end-center gap-md flex-none\" cdkTrapFocus>\n <button type=\"button\" mat-button (click)=\"dialogRef.close(false)\">\n {{ (yesNo ? 'actions.no' : 'actions.cancel') | translate }}\n </button>\n\n <button type=\"submit\" mat-flat-button cdkFocusInitial (click)=\"dialogRef.close(true)\">\n {{ (yesNo ? 'actions.yes' : 'actions.ok') | translate }}\n </button>\n </div>\n </div>\n</div>\n" }]
|
|
15011
|
+
}], ctorParameters: () => [{ type: i1$6.MatDialogRef }] });
|
|
14799
15012
|
|
|
14800
15013
|
class QuestionDialogConfig extends ElderDialogConfig {
|
|
14801
15014
|
}
|
|
@@ -14814,8 +15027,8 @@ class ElderQuestionDialogComponent {
|
|
|
14814
15027
|
get isValid() {
|
|
14815
15028
|
return !!this.answer;
|
|
14816
15029
|
}
|
|
14817
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderQuestionDialogComponent, deps: [{ token: i1$
|
|
14818
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderQuestionDialogComponent, isStandalone: true, selector: "elder-question-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button type=\"button\" [matDialogClose]=\"false\">\n <mat-icon>close</mat-icon>\n </button>\n <h3>{{ data.title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <form #f=\"ngForm\" class=\"layout-col flex p-md\" (ngSubmit)=\"confirm($event)\" cdkTrapFocus>\n <div class=\"layout-col flex\">\n <p>{{ data.question }}</p>\n\n <mat-form-field class=\"full-width\">\n <input\n matInput\n type=\"text\"\n name=\"name\"\n [(ngModel)]=\"answer\"\n cdkFocusInitial\n placeholder=\"{{ 'context.name' | translate }}\"\n required\n />\n </mat-form-field>\n </div>\n\n <div class=\"layout-row place-end-center gap-md flex-none\">\n <button mat-button type=\"button\" (click)=\"cancel($event)\">\n {{ 'actions.cancel' | translate }}\n </button>\n\n <button mat-flat-button type=\"submit\" color=\"primary\" [disabled]=\"!isValid\">\n {{ 'actions.ok' | translate }}\n </button>\n </div>\n </form>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: ElderThemeDirective, selector: "[elderTheme]" }, { kind: "directive", type: MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$
|
|
15030
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderQuestionDialogComponent, deps: [{ token: i1$6.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15031
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderQuestionDialogComponent, isStandalone: true, selector: "elder-question-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button type=\"button\" [matDialogClose]=\"false\">\n <mat-icon>close</mat-icon>\n </button>\n <h3>{{ data.title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <form #f=\"ngForm\" class=\"layout-col flex p-md\" (ngSubmit)=\"confirm($event)\" cdkTrapFocus>\n <div class=\"layout-col flex\">\n <p>{{ data.question }}</p>\n\n <mat-form-field class=\"full-width\">\n <input\n matInput\n type=\"text\"\n name=\"name\"\n [(ngModel)]=\"answer\"\n cdkFocusInitial\n placeholder=\"{{ 'context.name' | translate }}\"\n required\n />\n </mat-form-field>\n </div>\n\n <div class=\"layout-row place-end-center gap-md flex-none\">\n <button mat-button type=\"button\" (click)=\"cancel($event)\">\n {{ 'actions.cancel' | translate }}\n </button>\n\n <button mat-flat-button type=\"submit\" color=\"primary\" [disabled]=\"!isValid\">\n {{ 'actions.ok' | translate }}\n </button>\n </div>\n </form>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: ElderThemeDirective, selector: "[elderTheme]" }, { kind: "directive", type: MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: 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: 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: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14819
15032
|
}
|
|
14820
15033
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderQuestionDialogComponent, decorators: [{
|
|
14821
15034
|
type: Component,
|
|
@@ -14831,9 +15044,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
14831
15044
|
MatFormField,
|
|
14832
15045
|
MatInput,
|
|
14833
15046
|
MatButton,
|
|
14834
|
-
|
|
15047
|
+
ElderTranslatePipe,
|
|
14835
15048
|
], template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button type=\"button\" [matDialogClose]=\"false\">\n <mat-icon>close</mat-icon>\n </button>\n <h3>{{ data.title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <form #f=\"ngForm\" class=\"layout-col flex p-md\" (ngSubmit)=\"confirm($event)\" cdkTrapFocus>\n <div class=\"layout-col flex\">\n <p>{{ data.question }}</p>\n\n <mat-form-field class=\"full-width\">\n <input\n matInput\n type=\"text\"\n name=\"name\"\n [(ngModel)]=\"answer\"\n cdkFocusInitial\n placeholder=\"{{ 'context.name' | translate }}\"\n required\n />\n </mat-form-field>\n </div>\n\n <div class=\"layout-row place-end-center gap-md flex-none\">\n <button mat-button type=\"button\" (click)=\"cancel($event)\">\n {{ 'actions.cancel' | translate }}\n </button>\n\n <button mat-flat-button type=\"submit\" color=\"primary\" [disabled]=\"!isValid\">\n {{ 'actions.ok' | translate }}\n </button>\n </div>\n </form>\n</div>\n" }]
|
|
14836
|
-
}], ctorParameters: () => [{ type: i1$
|
|
15049
|
+
}], ctorParameters: () => [{ type: i1$6.MatDialogRef }, { type: undefined, decorators: [{
|
|
14837
15050
|
type: Inject,
|
|
14838
15051
|
args: [MAT_DIALOG_DATA]
|
|
14839
15052
|
}] }] });
|
|
@@ -14856,13 +15069,13 @@ class ElderSelectionDialogComponent {
|
|
|
14856
15069
|
confirmSelection() {
|
|
14857
15070
|
this.dialogRef.close();
|
|
14858
15071
|
}
|
|
14859
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSelectionDialogComponent, deps: [{ token: i1$
|
|
14860
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderSelectionDialogComponent, isStandalone: true, selector: "elder-selection-dialog", inputs: { title: "title" }, ngImport: i0, template: "<div class=\"layout-col full\">\n <div class=\"layout-col flex-none\">\n @if (title) {\n <h2>{{ title | translate }}</h2>\n }\n </div>\n\n <div class=\"layout-col flex\">\n <ng-template [ngTemplateOutlet]=\"data.template\"></ng-template>\n </div>\n\n <div class=\"layout-row place-end-center gap-md\">\n <button mat-button type=\"button\" mat-dialog-close>\n {{ 'actions.cancel' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"data.selectionModel.isEmpty()\"\n (click)=\"confirmSelection()\"\n >\n {{ 'actions.select' | translate }}\n </button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: 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: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "
|
|
15072
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSelectionDialogComponent, deps: [{ token: i1$6.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15073
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderSelectionDialogComponent, isStandalone: true, selector: "elder-selection-dialog", inputs: { title: "title" }, ngImport: i0, template: "<div class=\"layout-col full\">\n <div class=\"layout-col flex-none\">\n @if (title) {\n <h2>{{ title | translate }}</h2>\n }\n </div>\n\n <div class=\"layout-col flex\">\n <ng-template [ngTemplateOutlet]=\"data.template\"></ng-template>\n </div>\n\n <div class=\"layout-row place-end-center gap-md\">\n <button mat-button type=\"button\" mat-dialog-close>\n {{ 'actions.cancel' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"data.selectionModel.isEmpty()\"\n (click)=\"confirmSelection()\"\n >\n {{ 'actions.select' | translate }}\n </button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: 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: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14861
15074
|
}
|
|
14862
15075
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSelectionDialogComponent, decorators: [{
|
|
14863
15076
|
type: Component,
|
|
14864
|
-
args: [{ selector: 'elder-selection-dialog', imports: [NgTemplateOutlet, MatButton, MatDialogClose,
|
|
14865
|
-
}], ctorParameters: () => [{ type: i1$
|
|
15077
|
+
args: [{ selector: 'elder-selection-dialog', imports: [NgTemplateOutlet, MatButton, MatDialogClose, ElderTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col full\">\n <div class=\"layout-col flex-none\">\n @if (title) {\n <h2>{{ title | translate }}</h2>\n }\n </div>\n\n <div class=\"layout-col flex\">\n <ng-template [ngTemplateOutlet]=\"data.template\"></ng-template>\n </div>\n\n <div class=\"layout-row place-end-center gap-md\">\n <button mat-button type=\"button\" mat-dialog-close>\n {{ 'actions.cancel' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"data.selectionModel.isEmpty()\"\n (click)=\"confirmSelection()\"\n >\n {{ 'actions.select' | translate }}\n </button>\n </div>\n</div>\n" }]
|
|
15078
|
+
}], ctorParameters: () => [{ type: i1$6.MatDialogRef }, { type: undefined, decorators: [{
|
|
14866
15079
|
type: Inject,
|
|
14867
15080
|
args: [MAT_DIALOG_DATA]
|
|
14868
15081
|
}] }], propDecorators: { title: [{
|
|
@@ -14896,7 +15109,7 @@ class ElderSelectionDialogDirective {
|
|
|
14896
15109
|
});
|
|
14897
15110
|
dialogRef.afterClosed().subscribe((result) => this.close.emit(result));
|
|
14898
15111
|
}
|
|
14899
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSelectionDialogDirective, deps: [{ token: i0.TemplateRef }, { token: i1$
|
|
15112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSelectionDialogDirective, deps: [{ token: i0.TemplateRef }, { token: i1$6.MatDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
14900
15113
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderSelectionDialogDirective, isStandalone: true, selector: "[elderDialog]", inputs: { selectionModel: "selectionModel" }, outputs: { close: "close" }, exportAs: ["elderSelection"], ngImport: i0 }); }
|
|
14901
15114
|
}
|
|
14902
15115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSelectionDialogDirective, decorators: [{
|
|
@@ -14905,7 +15118,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
14905
15118
|
selector: '[elderDialog]',
|
|
14906
15119
|
exportAs: 'elderSelection',
|
|
14907
15120
|
}]
|
|
14908
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i1$
|
|
15121
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i1$6.MatDialog }], propDecorators: { selectionModel: [{
|
|
14909
15122
|
type: Input
|
|
14910
15123
|
}], close: [{
|
|
14911
15124
|
type: Output
|
|
@@ -14934,11 +15147,11 @@ class ElderHeaderComponent {
|
|
|
14934
15147
|
**************************************************************************/
|
|
14935
15148
|
ngOnInit() { }
|
|
14936
15149
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14937
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.6", type: ElderHeaderComponent, isStandalone: true, selector: "elder-header", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: true, transformFunction: null }, subheader: { classPropertyName: "subheader", publicName: "subheader", isSignal: true, isRequired: false, transformFunction: null }, truncateHeader: { classPropertyName: "truncateHeader", publicName: "truncateHeader", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"layout-col\">\n <h2 [class]=\"[truncateHeader() ? 'truncate-line' : undefined]\">\n {{ header() ? (header() | translate) : '-' }}\n </h2>\n <span [class]=\"['mat-caption', truncateHeader() ? 'truncate-line' : undefined]\">{{\n subheader() ? (subheader() | translate) : ' '\n }}</span>\n</div>\n", styles: ["h2{margin:0;font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking)}\n"], dependencies: [{ kind: "
|
|
15150
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.6", type: ElderHeaderComponent, isStandalone: true, selector: "elder-header", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: true, transformFunction: null }, subheader: { classPropertyName: "subheader", publicName: "subheader", isSignal: true, isRequired: false, transformFunction: null }, truncateHeader: { classPropertyName: "truncateHeader", publicName: "truncateHeader", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"layout-col\">\n <h2 [class]=\"[truncateHeader() ? 'truncate-line' : undefined]\">\n {{ header() ? (header() | translate) : '-' }}\n </h2>\n <span [class]=\"['mat-caption', truncateHeader() ? 'truncate-line' : undefined]\">{{\n subheader() ? (subheader() | translate) : ' '\n }}</span>\n</div>\n", styles: ["h2{margin:0;font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking)}\n"], dependencies: [{ kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14938
15151
|
}
|
|
14939
15152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderHeaderComponent, decorators: [{
|
|
14940
15153
|
type: Component,
|
|
14941
|
-
args: [{ selector: 'elder-header', imports: [
|
|
15154
|
+
args: [{ selector: 'elder-header', imports: [ElderTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col\">\n <h2 [class]=\"[truncateHeader() ? 'truncate-line' : undefined]\">\n {{ header() ? (header() | translate) : '-' }}\n </h2>\n <span [class]=\"['mat-caption', truncateHeader() ? 'truncate-line' : undefined]\">{{\n subheader() ? (subheader() | translate) : ' '\n }}</span>\n</div>\n", styles: ["h2{margin:0;font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking)}\n"] }]
|
|
14942
15155
|
}], ctorParameters: () => [], propDecorators: { header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: true }] }], subheader: [{ type: i0.Input, args: [{ isSignal: true, alias: "subheader", required: false }] }], truncateHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "truncateHeader", required: false }] }] } });
|
|
14943
15156
|
|
|
14944
15157
|
class ElderHeaderModule {
|
|
@@ -14947,18 +15160,12 @@ class ElderHeaderModule {
|
|
|
14947
15160
|
// Angular
|
|
14948
15161
|
CommonModule,
|
|
14949
15162
|
RouterModule,
|
|
14950
|
-
// Third Party
|
|
14951
|
-
TranslateModule,
|
|
14952
15163
|
// Angular Material
|
|
14953
15164
|
ElderHeaderComponent], exports: [ElderHeaderComponent] }); }
|
|
14954
15165
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderHeaderModule, imports: [
|
|
14955
15166
|
// Angular
|
|
14956
15167
|
CommonModule,
|
|
14957
|
-
RouterModule
|
|
14958
|
-
// Third Party
|
|
14959
|
-
TranslateModule,
|
|
14960
|
-
// Angular Material
|
|
14961
|
-
ElderHeaderComponent] }); }
|
|
15168
|
+
RouterModule] }); }
|
|
14962
15169
|
}
|
|
14963
15170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderHeaderModule, decorators: [{
|
|
14964
15171
|
type: NgModule,
|
|
@@ -14967,8 +15174,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
14967
15174
|
// Angular
|
|
14968
15175
|
CommonModule,
|
|
14969
15176
|
RouterModule,
|
|
14970
|
-
// Third Party
|
|
14971
|
-
TranslateModule,
|
|
14972
15177
|
// Angular Material
|
|
14973
15178
|
ElderHeaderComponent,
|
|
14974
15179
|
],
|
|
@@ -15120,7 +15325,7 @@ class ElderDialogService {
|
|
|
15120
15325
|
matConfig.height = '40vh';
|
|
15121
15326
|
return matConfig;
|
|
15122
15327
|
}
|
|
15123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDialogService, deps: [{ token: i1$
|
|
15328
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDialogService, deps: [{ token: i1$6.MatDialog }, { token: ElderTranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15124
15329
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDialogService, providedIn: 'root' }); }
|
|
15125
15330
|
}
|
|
15126
15331
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDialogService, decorators: [{
|
|
@@ -15128,7 +15333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
15128
15333
|
args: [{
|
|
15129
15334
|
providedIn: 'root',
|
|
15130
15335
|
}]
|
|
15131
|
-
}], ctorParameters: () => [{ type: i1$
|
|
15336
|
+
}], ctorParameters: () => [{ type: i1$6.MatDialog }, { type: ElderTranslateService }] });
|
|
15132
15337
|
|
|
15133
15338
|
class ElderDialogModule {
|
|
15134
15339
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -15140,7 +15345,6 @@ class ElderDialogModule {
|
|
|
15140
15345
|
MatToolbarModule,
|
|
15141
15346
|
MatInputModule,
|
|
15142
15347
|
A11yModule,
|
|
15143
|
-
TranslateModule,
|
|
15144
15348
|
ElderThemeModule,
|
|
15145
15349
|
ElderHeaderModule,
|
|
15146
15350
|
ElderConfirmDialogComponent,
|
|
@@ -15158,7 +15362,6 @@ class ElderDialogModule {
|
|
|
15158
15362
|
MatToolbarModule,
|
|
15159
15363
|
MatInputModule,
|
|
15160
15364
|
A11yModule,
|
|
15161
|
-
TranslateModule,
|
|
15162
15365
|
ElderThemeModule,
|
|
15163
15366
|
ElderHeaderModule,
|
|
15164
15367
|
ElderConfirmDialogComponent,
|
|
@@ -15177,7 +15380,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
15177
15380
|
MatToolbarModule,
|
|
15178
15381
|
MatInputModule,
|
|
15179
15382
|
A11yModule,
|
|
15180
|
-
TranslateModule,
|
|
15181
15383
|
ElderThemeModule,
|
|
15182
15384
|
ElderHeaderModule,
|
|
15183
15385
|
ElderConfirmDialogComponent,
|
|
@@ -15577,11 +15779,11 @@ class DataContextStateIndicatorComponent {
|
|
|
15577
15779
|
this.dataContext$.next(dataContext);
|
|
15578
15780
|
}
|
|
15579
15781
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: DataContextStateIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15580
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: DataContextStateIndicatorComponent, isStandalone: true, selector: "elder-data-context-state-indicator", inputs: { dataContext: "dataContext" }, ngImport: i0, template: "@if (dataContext$ | async; as dataContext) {\n @if (dataContext) {\n @if (dataContext.isStarted$ | async) {\n @if (!(dataContext?.status | async)?.hasError) {\n @if ((dataContext?.data | async)?.length === 0) {\n <ng-template [ngTemplateOutlet]=\"dataContextNoData\"></ng-template>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"\n indicator;\n context: { icon: 'warning', iconColor: 'warn', text: 'Error while loading data' }\n \"\n >\n </ng-container>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"\n indicator;\n context: { icon: 'warning', text: 'Data context not started' }\n \"\n >\n </ng-container>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"indicator; context: { icon: 'warning', text: 'No data context' }\"\n >\n </ng-container>\n }\n}\n\n<ng-template #dataContextNoData>\n <ng-container *ngTemplateOutlet=\"indicator; context: { icon: 'info', text: 'No data available' }\">\n </ng-container>\n</ng-template>\n\n<ng-template #indicator let-icon=\"icon\" let-iconColor=\"iconColor\" let-text=\"text\">\n <div class=\"layout-col place-center-center full elder-dc-indicator-container mat-body-2\">\n <div class=\"layout-row place-center-center gap-lg\">\n <mat-icon [color]=\"iconColor\">{{ icon }}</mat-icon>\n <span class=\"hint mat-body-2\">{{ text | translate }}</span>\n </div>\n </div>\n</ng-template>\n", styles: [".elder-dc-indicator-container{color:var(--md-sys-color-outline);flex-grow:1}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "
|
|
15782
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: DataContextStateIndicatorComponent, isStandalone: true, selector: "elder-data-context-state-indicator", inputs: { dataContext: "dataContext" }, ngImport: i0, template: "@if (dataContext$ | async; as dataContext) {\n @if (dataContext) {\n @if (dataContext.isStarted$ | async) {\n @if (!(dataContext?.status | async)?.hasError) {\n @if ((dataContext?.data | async)?.length === 0) {\n <ng-template [ngTemplateOutlet]=\"dataContextNoData\"></ng-template>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"\n indicator;\n context: { icon: 'warning', iconColor: 'warn', text: 'Error while loading data' }\n \"\n >\n </ng-container>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"\n indicator;\n context: { icon: 'warning', text: 'Data context not started' }\n \"\n >\n </ng-container>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"indicator; context: { icon: 'warning', text: 'No data context' }\"\n >\n </ng-container>\n }\n}\n\n<ng-template #dataContextNoData>\n <ng-container *ngTemplateOutlet=\"indicator; context: { icon: 'info', text: 'No data available' }\">\n </ng-container>\n</ng-template>\n\n<ng-template #indicator let-icon=\"icon\" let-iconColor=\"iconColor\" let-text=\"text\">\n <div class=\"layout-col place-center-center full elder-dc-indicator-container mat-body-2\">\n <div class=\"layout-row place-center-center gap-lg\">\n <mat-icon [color]=\"iconColor\">{{ icon }}</mat-icon>\n <span class=\"hint mat-body-2\">{{ text | translate }}</span>\n </div>\n </div>\n</ng-template>\n", styles: [".elder-dc-indicator-container{color:var(--md-sys-color-outline);flex-grow:1}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15581
15783
|
}
|
|
15582
15784
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: DataContextStateIndicatorComponent, decorators: [{
|
|
15583
15785
|
type: Component,
|
|
15584
|
-
args: [{ selector: 'elder-data-context-state-indicator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, MatIcon, AsyncPipe,
|
|
15786
|
+
args: [{ selector: 'elder-data-context-state-indicator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, MatIcon, AsyncPipe, ElderTranslatePipe], template: "@if (dataContext$ | async; as dataContext) {\n @if (dataContext) {\n @if (dataContext.isStarted$ | async) {\n @if (!(dataContext?.status | async)?.hasError) {\n @if ((dataContext?.data | async)?.length === 0) {\n <ng-template [ngTemplateOutlet]=\"dataContextNoData\"></ng-template>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"\n indicator;\n context: { icon: 'warning', iconColor: 'warn', text: 'Error while loading data' }\n \"\n >\n </ng-container>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"\n indicator;\n context: { icon: 'warning', text: 'Data context not started' }\n \"\n >\n </ng-container>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"indicator; context: { icon: 'warning', text: 'No data context' }\"\n >\n </ng-container>\n }\n}\n\n<ng-template #dataContextNoData>\n <ng-container *ngTemplateOutlet=\"indicator; context: { icon: 'info', text: 'No data available' }\">\n </ng-container>\n</ng-template>\n\n<ng-template #indicator let-icon=\"icon\" let-iconColor=\"iconColor\" let-text=\"text\">\n <div class=\"layout-col place-center-center full elder-dc-indicator-container mat-body-2\">\n <div class=\"layout-row place-center-center gap-lg\">\n <mat-icon [color]=\"iconColor\">{{ icon }}</mat-icon>\n <span class=\"hint mat-body-2\">{{ text | translate }}</span>\n </div>\n </div>\n</ng-template>\n", styles: [".elder-dc-indicator-container{color:var(--md-sys-color-outline);flex-grow:1}\n"] }]
|
|
15585
15787
|
}], ctorParameters: () => [], propDecorators: { dataContext: [{
|
|
15586
15788
|
type: Input
|
|
15587
15789
|
}] } });
|
|
@@ -16632,8 +16834,6 @@ class ElderDataCommonModule {
|
|
|
16632
16834
|
MatProgressBarModule,
|
|
16633
16835
|
MatDialogModule,
|
|
16634
16836
|
MatTooltipModule,
|
|
16635
|
-
// translations
|
|
16636
|
-
TranslateModule,
|
|
16637
16837
|
DragDropModule,
|
|
16638
16838
|
ElderDataToolbarComponent,
|
|
16639
16839
|
ElderToolbarContentDirective,
|
|
@@ -16668,8 +16868,6 @@ class ElderDataCommonModule {
|
|
|
16668
16868
|
MatProgressBarModule,
|
|
16669
16869
|
MatDialogModule,
|
|
16670
16870
|
MatTooltipModule,
|
|
16671
|
-
// translations
|
|
16672
|
-
TranslateModule,
|
|
16673
16871
|
DragDropModule,
|
|
16674
16872
|
ElderDataToolbarComponent,
|
|
16675
16873
|
ElderCompositeSortComponent,
|
|
@@ -16692,8 +16890,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
16692
16890
|
MatProgressBarModule,
|
|
16693
16891
|
MatDialogModule,
|
|
16694
16892
|
MatTooltipModule,
|
|
16695
|
-
// translations
|
|
16696
|
-
TranslateModule,
|
|
16697
16893
|
DragDropModule,
|
|
16698
16894
|
ElderDataToolbarComponent,
|
|
16699
16895
|
ElderToolbarContentDirective,
|
|
@@ -17338,7 +17534,7 @@ class ElderTableColumnDirective {
|
|
|
17338
17534
|
constructor(cdkColumn) {
|
|
17339
17535
|
this.cdkColumn = cdkColumn;
|
|
17340
17536
|
}
|
|
17341
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTableColumnDirective, deps: [{ token: i1$
|
|
17537
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTableColumnDirective, deps: [{ token: i1$7.CdkColumnDef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
17342
17538
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderTableColumnDirective, isStandalone: true, selector: "th[elderColumnDef]", ngImport: i0 }); }
|
|
17343
17539
|
}
|
|
17344
17540
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTableColumnDirective, decorators: [{
|
|
@@ -17346,7 +17542,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
17346
17542
|
args: [{
|
|
17347
17543
|
selector: 'th[elderColumnDef]',
|
|
17348
17544
|
}]
|
|
17349
|
-
}], ctorParameters: () => [{ type: i1$
|
|
17545
|
+
}], ctorParameters: () => [{ type: i1$7.CdkColumnDef }] });
|
|
17350
17546
|
|
|
17351
17547
|
class ElderTableModelQueryGroup {
|
|
17352
17548
|
/***************************************************************************
|
|
@@ -18212,7 +18408,7 @@ class ElderInfiniteAutocompleteDirective {
|
|
|
18212
18408
|
this.unsubscribe$.next();
|
|
18213
18409
|
this.unsubscribe$.complete();
|
|
18214
18410
|
}
|
|
18215
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderInfiniteAutocompleteDirective, deps: [{ token: i1$
|
|
18411
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderInfiniteAutocompleteDirective, deps: [{ token: i1$8.MatAutocomplete, host: true }, { token: ElderInfiniteScrollDirective, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18216
18412
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderInfiniteAutocompleteDirective, isStandalone: true, selector: "mat-autocomplete[elderElderInfiniteAutocomplete]", ngImport: i0 }); }
|
|
18217
18413
|
}
|
|
18218
18414
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderInfiniteAutocompleteDirective, decorators: [{
|
|
@@ -18220,7 +18416,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
18220
18416
|
args: [{
|
|
18221
18417
|
selector: 'mat-autocomplete[elderElderInfiniteAutocomplete]',
|
|
18222
18418
|
}]
|
|
18223
|
-
}], ctorParameters: () => [{ type: i1$
|
|
18419
|
+
}], ctorParameters: () => [{ type: i1$8.MatAutocomplete, decorators: [{
|
|
18224
18420
|
type: Host
|
|
18225
18421
|
}] }, { type: ElderInfiniteScrollDirective, decorators: [{
|
|
18226
18422
|
type: Host
|
|
@@ -18300,12 +18496,12 @@ class ElderPaginatorIntl extends MatPaginatorIntl {
|
|
|
18300
18496
|
previousPageLabel !== this._previousPageKey ? previousPageLabel : 'Previous page';
|
|
18301
18497
|
this.changes.next();
|
|
18302
18498
|
}
|
|
18303
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderPaginatorIntl, deps: [{ token: i1$
|
|
18499
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderPaginatorIntl, deps: [{ token: i1$9.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18304
18500
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderPaginatorIntl }); }
|
|
18305
18501
|
}
|
|
18306
18502
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderPaginatorIntl, decorators: [{
|
|
18307
18503
|
type: Injectable
|
|
18308
|
-
}], ctorParameters: () => [{ type: i1$
|
|
18504
|
+
}], ctorParameters: () => [{ type: i1$9.TranslateService }] });
|
|
18309
18505
|
|
|
18310
18506
|
class ElderDelayedFocusDirective {
|
|
18311
18507
|
constructor(el) {
|
|
@@ -18361,7 +18557,7 @@ class ElderTouchedDirective {
|
|
|
18361
18557
|
control.markAsTouched();
|
|
18362
18558
|
}
|
|
18363
18559
|
}
|
|
18364
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTouchedDirective, deps: [{ token: i1$
|
|
18560
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTouchedDirective, deps: [{ token: i1$3.NgControl }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18365
18561
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderTouchedDirective, isStandalone: true, selector: "[elderTouched]", ngImport: i0 }); }
|
|
18366
18562
|
}
|
|
18367
18563
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTouchedDirective, decorators: [{
|
|
@@ -18369,7 +18565,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
18369
18565
|
args: [{
|
|
18370
18566
|
selector: '[elderTouched]',
|
|
18371
18567
|
}]
|
|
18372
|
-
}], ctorParameters: () => [{ type: i1$
|
|
18568
|
+
}], ctorParameters: () => [{ type: i1$3.NgControl }] });
|
|
18373
18569
|
|
|
18374
18570
|
/**
|
|
18375
18571
|
* This directive provides a parent form to any kind of nested control
|
|
@@ -19334,7 +19530,7 @@ class ElderTripleStateCheckboxDirective {
|
|
|
19334
19530
|
toggleNextState() {
|
|
19335
19531
|
this.controller.toggleNextState();
|
|
19336
19532
|
}
|
|
19337
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTripleStateCheckboxDirective, deps: [{ token: i1$b.MatCheckbox }, { token: i1$
|
|
19533
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTripleStateCheckboxDirective, deps: [{ token: i1$b.MatCheckbox }, { token: i1$3.NgModel, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19338
19534
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderTripleStateCheckboxDirective, isStandalone: true, selector: "mat-checkbox[elderTripleStateCheckbox]", outputs: { valueChange: "valueChange" }, ngImport: i0 }); }
|
|
19339
19535
|
}
|
|
19340
19536
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTripleStateCheckboxDirective, decorators: [{
|
|
@@ -19342,7 +19538,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
19342
19538
|
args: [{
|
|
19343
19539
|
selector: 'mat-checkbox[elderTripleStateCheckbox]',
|
|
19344
19540
|
}]
|
|
19345
|
-
}], ctorParameters: () => [{ type: i1$b.MatCheckbox }, { type: i1$
|
|
19541
|
+
}], ctorParameters: () => [{ type: i1$b.MatCheckbox }, { type: i1$3.NgModel, decorators: [{
|
|
19346
19542
|
type: Optional
|
|
19347
19543
|
}] }], propDecorators: { valueChange: [{
|
|
19348
19544
|
type: Output
|
|
@@ -19648,7 +19844,7 @@ class CommonValidationMessageStrategy {
|
|
|
19648
19844
|
}
|
|
19649
19845
|
return undefined;
|
|
19650
19846
|
}
|
|
19651
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: CommonValidationMessageStrategy, deps: [{ token:
|
|
19847
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: CommonValidationMessageStrategy, deps: [{ token: ElderTranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
19652
19848
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: CommonValidationMessageStrategy, providedIn: 'root' }); }
|
|
19653
19849
|
}
|
|
19654
19850
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: CommonValidationMessageStrategy, decorators: [{
|
|
@@ -19656,7 +19852,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
19656
19852
|
args: [{
|
|
19657
19853
|
providedIn: 'root',
|
|
19658
19854
|
}]
|
|
19659
|
-
}], ctorParameters: () => [{ type:
|
|
19855
|
+
}], ctorParameters: () => [{ type: ElderTranslateService }] });
|
|
19660
19856
|
|
|
19661
19857
|
class DynamicValidationMessageStrategy {
|
|
19662
19858
|
/***************************************************************************
|
|
@@ -19693,7 +19889,7 @@ class DynamicValidationMessageStrategy {
|
|
|
19693
19889
|
renderDynamicMessage(message) {
|
|
19694
19890
|
return this.translateService.instant(message.message, message.messageParams);
|
|
19695
19891
|
}
|
|
19696
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: DynamicValidationMessageStrategy, deps: [{ token:
|
|
19892
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: DynamicValidationMessageStrategy, deps: [{ token: ElderTranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
19697
19893
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: DynamicValidationMessageStrategy, providedIn: 'root' }); }
|
|
19698
19894
|
}
|
|
19699
19895
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: DynamicValidationMessageStrategy, decorators: [{
|
|
@@ -19701,7 +19897,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
19701
19897
|
args: [{
|
|
19702
19898
|
providedIn: 'root',
|
|
19703
19899
|
}]
|
|
19704
|
-
}], ctorParameters: () => [{ type:
|
|
19900
|
+
}], ctorParameters: () => [{ type: ElderTranslateService }] });
|
|
19705
19901
|
|
|
19706
19902
|
class ValidationMessageRendererService {
|
|
19707
19903
|
/***************************************************************************
|
|
@@ -19956,7 +20152,7 @@ class ElderSingleStateCheckboxDirective {
|
|
|
19956
20152
|
toggleNextState() {
|
|
19957
20153
|
this.controller.toggleNextState();
|
|
19958
20154
|
}
|
|
19959
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSingleStateCheckboxDirective, deps: [{ token: i1$b.MatCheckbox }, { token: i1$
|
|
20155
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSingleStateCheckboxDirective, deps: [{ token: i1$b.MatCheckbox }, { token: i1$3.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19960
20156
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderSingleStateCheckboxDirective, isStandalone: true, selector: "mat-checkbox[elderSingleStateCheckbox]", ngImport: i0 }); }
|
|
19961
20157
|
}
|
|
19962
20158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSingleStateCheckboxDirective, decorators: [{
|
|
@@ -19964,7 +20160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
19964
20160
|
args: [{
|
|
19965
20161
|
selector: 'mat-checkbox[elderSingleStateCheckbox]',
|
|
19966
20162
|
}]
|
|
19967
|
-
}], ctorParameters: () => [{ type: i1$b.MatCheckbox }, { type: i1$
|
|
20163
|
+
}], ctorParameters: () => [{ type: i1$b.MatCheckbox }, { type: i1$3.NgModel }] });
|
|
19968
20164
|
|
|
19969
20165
|
class ElderFormsDirectivesModule {
|
|
19970
20166
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderFormsDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -21079,7 +21275,6 @@ class ElderGridModule {
|
|
|
21079
21275
|
MatSelectModule,
|
|
21080
21276
|
DragDropModule,
|
|
21081
21277
|
ScrollingModule,
|
|
21082
|
-
TranslateModule,
|
|
21083
21278
|
ElderDataCommonModule,
|
|
21084
21279
|
ElderInfiniteScrollModule,
|
|
21085
21280
|
ElderFormsDirectivesModule,
|
|
@@ -21106,7 +21301,6 @@ class ElderGridModule {
|
|
|
21106
21301
|
MatSelectModule,
|
|
21107
21302
|
DragDropModule,
|
|
21108
21303
|
ScrollingModule,
|
|
21109
|
-
TranslateModule,
|
|
21110
21304
|
ElderDataCommonModule,
|
|
21111
21305
|
ElderInfiniteScrollModule,
|
|
21112
21306
|
ElderFormsDirectivesModule,
|
|
@@ -21129,7 +21323,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
21129
21323
|
MatSelectModule,
|
|
21130
21324
|
DragDropModule,
|
|
21131
21325
|
ScrollingModule,
|
|
21132
|
-
TranslateModule,
|
|
21133
21326
|
ElderDataCommonModule,
|
|
21134
21327
|
ElderInfiniteScrollModule,
|
|
21135
21328
|
ElderFormsDirectivesModule,
|
|
@@ -21554,143 +21747,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
21554
21747
|
type: Input
|
|
21555
21748
|
}] } });
|
|
21556
21749
|
|
|
21557
|
-
const ELDER_LANGUAGE_OPTIONS = new InjectionToken('ELDER_LANGUAGE_OPTIONS');
|
|
21558
|
-
|
|
21559
|
-
const LANGUAGE_STORAGE_KEY = 'language';
|
|
21560
|
-
const DEFAULT_LANGS = ['de', 'en'];
|
|
21561
|
-
const DEFAULT_FALLBACK_LANG = 'de';
|
|
21562
|
-
class ElderLanguageService {
|
|
21563
|
-
/***************************************************************************
|
|
21564
|
-
* *
|
|
21565
|
-
* Legacy Compatiblity *
|
|
21566
|
-
* *
|
|
21567
|
-
**************************************************************************/
|
|
21568
|
-
get currentLanguage$() {
|
|
21569
|
-
return toObservable(this.currentLang);
|
|
21570
|
-
}
|
|
21571
|
-
/***************************************************************************
|
|
21572
|
-
* *
|
|
21573
|
-
* Constructor *
|
|
21574
|
-
* *
|
|
21575
|
-
**************************************************************************/
|
|
21576
|
-
constructor() {
|
|
21577
|
-
this.webStorage = inject(WebLocalStorage);
|
|
21578
|
-
this.config = inject(ELDER_LANGUAGE_OPTIONS);
|
|
21579
|
-
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
21580
|
-
/***************************************************************************
|
|
21581
|
-
* *
|
|
21582
|
-
* State *
|
|
21583
|
-
* *
|
|
21584
|
-
**************************************************************************/
|
|
21585
|
-
this._langs = signal(null, ...(ngDevMode ? [{ debugName: "_langs" }] : /* istanbul ignore next */ []));
|
|
21586
|
-
this._defaultLang = signal(null, ...(ngDevMode ? [{ debugName: "_defaultLang" }] : /* istanbul ignore next */ []));
|
|
21587
|
-
this._currentLang = signal(null, ...(ngDevMode ? [{ debugName: "_currentLang" }] : /* istanbul ignore next */ []));
|
|
21588
|
-
this._browserLang = getBrowserPreferredLang();
|
|
21589
|
-
this._storedPreferredLang = this.getStoredPreferredLang();
|
|
21590
|
-
/***************************************************************************
|
|
21591
|
-
* *
|
|
21592
|
-
* Computed *
|
|
21593
|
-
* *
|
|
21594
|
-
**************************************************************************/
|
|
21595
|
-
this.currentLang = this._currentLang.asReadonly();
|
|
21596
|
-
this.defaultLang = this._defaultLang.asReadonly();
|
|
21597
|
-
this.langs = this._langs.asReadonly();
|
|
21598
|
-
}
|
|
21599
|
-
/***************************************************************************
|
|
21600
|
-
* *
|
|
21601
|
-
* Public API *
|
|
21602
|
-
* *
|
|
21603
|
-
**************************************************************************/
|
|
21604
|
-
setCurrentLang(lang) {
|
|
21605
|
-
if (!this.isSupported(lang)) {
|
|
21606
|
-
this.logger.warn('cannot set lang', lang, 'since it is not in supported langs', this._langs());
|
|
21607
|
-
return;
|
|
21608
|
-
}
|
|
21609
|
-
this.logger.warn('setting lang', lang);
|
|
21610
|
-
this.webStorage.setItem(LANGUAGE_STORAGE_KEY, lang);
|
|
21611
|
-
this._currentLang.set(lang);
|
|
21612
|
-
}
|
|
21613
|
-
init() {
|
|
21614
|
-
this.logger.warn('initializing elder language service...');
|
|
21615
|
-
if (this._currentLang()) {
|
|
21616
|
-
this.logger.warn('elder language service already initialized, skipping...');
|
|
21617
|
-
return;
|
|
21618
|
-
}
|
|
21619
|
-
this.setLangs(this.config?.langs);
|
|
21620
|
-
this.setDefaultLang(this.config?.defaultLang);
|
|
21621
|
-
this.setInitialLang();
|
|
21622
|
-
}
|
|
21623
|
-
/***************************************************************************
|
|
21624
|
-
* *
|
|
21625
|
-
* Private Methods *
|
|
21626
|
-
* *
|
|
21627
|
-
**************************************************************************/
|
|
21628
|
-
setLangs(langs) {
|
|
21629
|
-
if (!langs?.length) {
|
|
21630
|
-
throw new Error('Cannot set langs since it is not an array or empty');
|
|
21631
|
-
}
|
|
21632
|
-
this._langs.set(langs);
|
|
21633
|
-
}
|
|
21634
|
-
setDefaultLang(lang) {
|
|
21635
|
-
if (!this._langs().includes(lang)) {
|
|
21636
|
-
throw new Error(`Cannot set default lang ${lang} since it is not in supported langs ${this._langs()}`);
|
|
21637
|
-
}
|
|
21638
|
-
this._defaultLang.set(lang);
|
|
21639
|
-
}
|
|
21640
|
-
setInitialLang() {
|
|
21641
|
-
if (this._storedPreferredLang && this.isSupported(this._storedPreferredLang)) {
|
|
21642
|
-
this._currentLang.set(this._storedPreferredLang);
|
|
21643
|
-
return;
|
|
21644
|
-
}
|
|
21645
|
-
if (this._browserLang && this.isSupported(this._browserLang)) {
|
|
21646
|
-
this._currentLang.set(this._browserLang);
|
|
21647
|
-
return;
|
|
21648
|
-
}
|
|
21649
|
-
this._currentLang.set(this._defaultLang());
|
|
21650
|
-
}
|
|
21651
|
-
isSupported(lang) {
|
|
21652
|
-
return this._langs().includes(lang);
|
|
21653
|
-
}
|
|
21654
|
-
getStoredPreferredLang() {
|
|
21655
|
-
return this.webStorage.getItem(LANGUAGE_STORAGE_KEY);
|
|
21656
|
-
}
|
|
21657
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21658
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageService, providedIn: 'root' }); }
|
|
21659
|
-
}
|
|
21660
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageService, decorators: [{
|
|
21661
|
-
type: Injectable,
|
|
21662
|
-
args: [{
|
|
21663
|
-
providedIn: 'root',
|
|
21664
|
-
}]
|
|
21665
|
-
}], ctorParameters: () => [] });
|
|
21666
|
-
/***************************************************************************
|
|
21667
|
-
* *
|
|
21668
|
-
* Helper Functions *
|
|
21669
|
-
* *
|
|
21670
|
-
**************************************************************************/
|
|
21671
|
-
/**
|
|
21672
|
-
* Browser Language code: "de", "fr", "en", etc.
|
|
21673
|
-
*/
|
|
21674
|
-
function getBrowserPreferredLang() {
|
|
21675
|
-
if (typeof window === 'undefined' || !window.navigator) {
|
|
21676
|
-
return undefined;
|
|
21677
|
-
}
|
|
21678
|
-
const cultureLang = getBrowserCultureLang();
|
|
21679
|
-
if (!cultureLang || typeof cultureLang !== 'string') {
|
|
21680
|
-
return undefined;
|
|
21681
|
-
}
|
|
21682
|
-
return cultureLang.split(/[-_]/)[0];
|
|
21683
|
-
}
|
|
21684
|
-
/**
|
|
21685
|
-
* Browser Culture language code: "ch-DE", "fr-FR", "en-US", etc.
|
|
21686
|
-
*/
|
|
21687
|
-
function getBrowserCultureLang() {
|
|
21688
|
-
if (typeof window === 'undefined' || !window.navigator) {
|
|
21689
|
-
return undefined;
|
|
21690
|
-
}
|
|
21691
|
-
return window.navigator.languages ? window.navigator.languages[0] : window.navigator.language;
|
|
21692
|
-
}
|
|
21693
|
-
|
|
21694
21750
|
class ElderLanguageSwitcherComponent {
|
|
21695
21751
|
/***************************************************************************
|
|
21696
21752
|
* *
|
|
@@ -21733,7 +21789,7 @@ class ElderLanguageSwitcherComponent {
|
|
|
21733
21789
|
return this.language.currentLang() === lang;
|
|
21734
21790
|
}
|
|
21735
21791
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageSwitcherComponent, deps: [{ token: ElderLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21736
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLanguageSwitcherComponent, isStandalone: true, selector: "elder-language-switcher", inputs: { slimMode: "slimMode" }, ngImport: i0, template: "<mat-menu #languageMenu=\"matMenu\">\n @for (lang of languages; track lang) {\n <button mat-menu-item type=\"button\" (click)=\"currentLanguage = lang\">\n <mat-icon>language</mat-icon>\n <span class=\"text-body-large\" [class.active]=\"isLanguageActive(lang)\">{{\n 'language.' + lang | translate\n }}</span>\n </button>\n }\n</mat-menu>\n\n@if (slimMode) {\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"languageMenu\">\n <div class=\"layout-row place-start-center\">\n <mat-icon>language</mat-icon>\n <span class=\"language\">{{ currentLanguage }}</span>\n </div>\n </button>\n}\n\n@if (!slimMode) {\n <mat-form-field>\n <mat-select\n placeholder=\"{{ 'language.language' | translate }}\"\n name=\"language\"\n [(ngModel)]=\"currentLanguage\"\n >\n @for (lang of languages; track lang) {\n <mat-option [value]=\"lang\">{{ 'language.' + lang | translate }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n}\n", styles: [".language{font-size:16px;text-transform:uppercase}.active{font-weight:700}\n"], dependencies: [{ kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: 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: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: 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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$
|
|
21792
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLanguageSwitcherComponent, isStandalone: true, selector: "elder-language-switcher", inputs: { slimMode: "slimMode" }, ngImport: i0, template: "<mat-menu #languageMenu=\"matMenu\">\n @for (lang of languages; track lang) {\n <button mat-menu-item type=\"button\" (click)=\"currentLanguage = lang\">\n <mat-icon>language</mat-icon>\n <span class=\"text-body-large\" [class.active]=\"isLanguageActive(lang)\">{{\n 'language.' + lang | translate\n }}</span>\n </button>\n }\n</mat-menu>\n\n@if (slimMode) {\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"languageMenu\">\n <div class=\"layout-row place-start-center\">\n <mat-icon>language</mat-icon>\n <span class=\"language\">{{ currentLanguage }}</span>\n </div>\n </button>\n}\n\n@if (!slimMode) {\n <mat-form-field>\n <mat-select\n placeholder=\"{{ 'language.language' | translate }}\"\n name=\"language\"\n [(ngModel)]=\"currentLanguage\"\n >\n @for (lang of languages; track lang) {\n <mat-option [value]=\"lang\">{{ 'language.' + lang | translate }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n}\n", styles: [".language{font-size:16px;text-transform:uppercase}.active{font-weight:700}\n"], dependencies: [{ kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: 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: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: 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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21737
21793
|
}
|
|
21738
21794
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageSwitcherComponent, decorators: [{
|
|
21739
21795
|
type: Component,
|
|
@@ -21747,7 +21803,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
21747
21803
|
MatSelect,
|
|
21748
21804
|
FormsModule,
|
|
21749
21805
|
MatOption,
|
|
21750
|
-
|
|
21806
|
+
ElderTranslatePipe,
|
|
21751
21807
|
], template: "<mat-menu #languageMenu=\"matMenu\">\n @for (lang of languages; track lang) {\n <button mat-menu-item type=\"button\" (click)=\"currentLanguage = lang\">\n <mat-icon>language</mat-icon>\n <span class=\"text-body-large\" [class.active]=\"isLanguageActive(lang)\">{{\n 'language.' + lang | translate\n }}</span>\n </button>\n }\n</mat-menu>\n\n@if (slimMode) {\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"languageMenu\">\n <div class=\"layout-row place-start-center\">\n <mat-icon>language</mat-icon>\n <span class=\"language\">{{ currentLanguage }}</span>\n </div>\n </button>\n}\n\n@if (!slimMode) {\n <mat-form-field>\n <mat-select\n placeholder=\"{{ 'language.language' | translate }}\"\n name=\"language\"\n [(ngModel)]=\"currentLanguage\"\n >\n @for (lang of languages; track lang) {\n <mat-option [value]=\"lang\">{{ 'language.' + lang | translate }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n}\n", styles: [".language{font-size:16px;text-transform:uppercase}.active{font-weight:700}\n"] }]
|
|
21752
21808
|
}], ctorParameters: () => [{ type: ElderLanguageService }], propDecorators: { slimMode: [{
|
|
21753
21809
|
type: Input
|
|
@@ -21821,7 +21877,7 @@ class ElderToolbarTitleService {
|
|
|
21821
21877
|
}
|
|
21822
21878
|
return resolvedTitle;
|
|
21823
21879
|
}
|
|
21824
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToolbarTitleService, deps: [{ token: i1$
|
|
21880
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToolbarTitleService, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21825
21881
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToolbarTitleService, providedIn: 'root' }); }
|
|
21826
21882
|
}
|
|
21827
21883
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToolbarTitleService, decorators: [{
|
|
@@ -21829,7 +21885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
21829
21885
|
args: [{
|
|
21830
21886
|
providedIn: 'root',
|
|
21831
21887
|
}]
|
|
21832
|
-
}], ctorParameters: () => [{ type: i1$
|
|
21888
|
+
}], ctorParameters: () => [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }] });
|
|
21833
21889
|
|
|
21834
21890
|
class ElderToolbarTitleComponent {
|
|
21835
21891
|
/***************************************************************************
|
|
@@ -21854,13 +21910,13 @@ class ElderToolbarTitleComponent {
|
|
|
21854
21910
|
this.toolbarService.updateTitle(this.activatedRoute);
|
|
21855
21911
|
}, 10);
|
|
21856
21912
|
}
|
|
21857
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToolbarTitleComponent, deps: [{ token: ElderToolbarTitleService }, { token: i1$
|
|
21858
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderToolbarTitleComponent, isStandalone: true, selector: "elder-toolbar-title", ngImport: i0, template: "<h3 class=\"mat-headline-6\">{{ title$ | async | translate }}</h3>\n", styles: [""], dependencies: [{ kind: "
|
|
21913
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToolbarTitleComponent, deps: [{ token: ElderToolbarTitleService }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21914
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderToolbarTitleComponent, isStandalone: true, selector: "elder-toolbar-title", ngImport: i0, template: "<h3 class=\"mat-headline-6\">{{ title$ | async | translate }}</h3>\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21859
21915
|
}
|
|
21860
21916
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToolbarTitleComponent, decorators: [{
|
|
21861
21917
|
type: Component,
|
|
21862
|
-
args: [{ selector: 'elder-toolbar-title', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe,
|
|
21863
|
-
}], ctorParameters: () => [{ type: ElderToolbarTitleService }, { type: i1$
|
|
21918
|
+
args: [{ selector: 'elder-toolbar-title', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, ElderTranslatePipe], template: "<h3 class=\"mat-headline-6\">{{ title$ | async | translate }}</h3>\n" }]
|
|
21919
|
+
}], ctorParameters: () => [{ type: ElderToolbarTitleService }, { type: i1$2.ActivatedRoute }] });
|
|
21864
21920
|
|
|
21865
21921
|
class ElderToolbarComponent {
|
|
21866
21922
|
/***************************************************************************
|
|
@@ -21946,7 +22002,7 @@ class ElderDetailDialogComponent {
|
|
|
21946
22002
|
close() {
|
|
21947
22003
|
this.dialogRef.close(this.entity$.getValue());
|
|
21948
22004
|
}
|
|
21949
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDetailDialogComponent, deps: [{ token: i1$
|
|
22005
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDetailDialogComponent, deps: [{ token: i1$6.MatDialogRef, optional: true }, { token: MAT_DIALOG_DATA, optional: true }, { token: ElderMasterDetailService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21950
22006
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderDetailDialogComponent, isStandalone: true, selector: "elder-detail-dialog", ngImport: i0, template: "@if (entity$ | async; as entity) {\n <div class=\"layout-col full\">\n <span style=\"width: 100vw\"></span>\n <!-- Header Section -->\n <elder-toolbar class=\"gap-md\">\n <button (click)=\"close()\" type=\"button\" mat-icon-button *elderToolbarColumn=\"'left.begin'\">\n <mat-icon>close</mat-icon>\n </button>\n </elder-toolbar>\n <div class=\"layout-row flex gap-md\">\n <ng-container\n *ngTemplateOutlet=\"data.detailTemplateRef; context: { $implicit: entity }\"\n ></ng-container>\n </div>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: ElderToolbarComponent, selector: "elder-toolbar", inputs: ["color"] }, { kind: "directive", type: ElderToolbarColumnDirective, selector: "[elderToolbarColumn]", inputs: ["elderToolbarColumn", "elderToolbarDefault"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21951
22007
|
}
|
|
21952
22008
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDetailDialogComponent, decorators: [{
|
|
@@ -21959,7 +22015,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
21959
22015
|
NgTemplateOutlet,
|
|
21960
22016
|
AsyncPipe,
|
|
21961
22017
|
], template: "@if (entity$ | async; as entity) {\n <div class=\"layout-col full\">\n <span style=\"width: 100vw\"></span>\n <!-- Header Section -->\n <elder-toolbar class=\"gap-md\">\n <button (click)=\"close()\" type=\"button\" mat-icon-button *elderToolbarColumn=\"'left.begin'\">\n <mat-icon>close</mat-icon>\n </button>\n </elder-toolbar>\n <div class=\"layout-row flex gap-md\">\n <ng-container\n *ngTemplateOutlet=\"data.detailTemplateRef; context: { $implicit: entity }\"\n ></ng-container>\n </div>\n </div>\n}\n" }]
|
|
21962
|
-
}], ctorParameters: () => [{ type: i1$
|
|
22018
|
+
}], ctorParameters: () => [{ type: i1$6.MatDialogRef, decorators: [{
|
|
21963
22019
|
type: Optional
|
|
21964
22020
|
}] }, { type: undefined, decorators: [{
|
|
21965
22021
|
type: Optional
|
|
@@ -22077,7 +22133,7 @@ class ElderMasterDetailComponent {
|
|
|
22077
22133
|
this.dialogRef.close();
|
|
22078
22134
|
}
|
|
22079
22135
|
}
|
|
22080
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderMasterDetailComponent, deps: [{ token: ElderMasterDetailService }, { token: i1$
|
|
22136
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderMasterDetailComponent, deps: [{ token: ElderMasterDetailService }, { token: i1$6.MatDialog }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22081
22137
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderMasterDetailComponent, isStandalone: true, selector: "elder-master-detail", inputs: { mode: "mode" }, host: { classAttribute: "layout-col flex p-pane" }, providers: [ElderMasterDetailProvider.ExistingOrNewMasterDetailService], queries: [{ propertyName: "master", first: true, predicate: ElderMasterDirective, descendants: true, read: TemplateRef }, { propertyName: "detail", first: true, predicate: ElderDetailDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<elder-basic-pane-layout class=\"flex p-0\">\n <ng-container *ngTemplateOutlet=\"master\"></ng-container>\n\n @if (modeSig() === 'EMBEDDED') {\n @if (currentActive(); as currentActive) {\n <ng-container\n *ngTemplateOutlet=\"detail; context: { $implicit: currentActive }\"\n ></ng-container>\n }\n }\n</elder-basic-pane-layout>\n", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ElderBasicPaneLayoutComponent, selector: "elder-basic-pane-layout" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22082
22138
|
}
|
|
22083
22139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderMasterDetailComponent, decorators: [{
|
|
@@ -22085,7 +22141,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
22085
22141
|
args: [{ selector: 'elder-master-detail', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ElderMasterDetailProvider.ExistingOrNewMasterDetailService], imports: [NgTemplateOutlet, ElderBasicPaneLayoutComponent], host: {
|
|
22086
22142
|
class: 'layout-col flex p-pane',
|
|
22087
22143
|
}, template: "<elder-basic-pane-layout class=\"flex p-0\">\n <ng-container *ngTemplateOutlet=\"master\"></ng-container>\n\n @if (modeSig() === 'EMBEDDED') {\n @if (currentActive(); as currentActive) {\n <ng-container\n *ngTemplateOutlet=\"detail; context: { $implicit: currentActive }\"\n ></ng-container>\n }\n }\n</elder-basic-pane-layout>\n" }]
|
|
22088
|
-
}], ctorParameters: () => [{ type: ElderMasterDetailService }, { type: i1$
|
|
22144
|
+
}], ctorParameters: () => [{ type: ElderMasterDetailService }, { type: i1$6.MatDialog }, { type: i0.ViewContainerRef }], propDecorators: { master: [{
|
|
22089
22145
|
type: ContentChild,
|
|
22090
22146
|
args: [ElderMasterDirective, { read: TemplateRef, static: false }]
|
|
22091
22147
|
}], detail: [{
|
|
@@ -22235,7 +22291,7 @@ class ElderQuantityFormFieldComponent extends ElderFromFieldCustomizableBase {
|
|
|
22235
22291
|
this.floatLabel = 'auto';
|
|
22236
22292
|
}
|
|
22237
22293
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderQuantityFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22238
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderQuantityFormFieldComponent, isStandalone: true, selector: "elder-quantity-form-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\" [appearance]=\"appearance\" [color]=\"color\">\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n\n @if (showIcon && icon) {\n <span matIconPrefix>\n <mat-icon [inline]=\"true\">{{ icon }}</mat-icon>\n </span>\n }\n\n <ng-content></ng-content>\n\n @if (showHint) {\n <mat-hint align=\"end\">\n @if (hint) {\n <span>{{ hint }}</span>\n }\n </mat-hint>\n }\n\n <mat-error elderValidationError></mat-error>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: ElderValidationErrorDirective, selector: "mat-error[elderValidationError]" }, { kind: "
|
|
22294
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderQuantityFormFieldComponent, isStandalone: true, selector: "elder-quantity-form-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\" [appearance]=\"appearance\" [color]=\"color\">\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n\n @if (showIcon && icon) {\n <span matIconPrefix>\n <mat-icon [inline]=\"true\">{{ icon }}</mat-icon>\n </span>\n }\n\n <ng-content></ng-content>\n\n @if (showHint) {\n <mat-hint align=\"end\">\n @if (hint) {\n <span>{{ hint }}</span>\n }\n </mat-hint>\n }\n\n <mat-error elderValidationError></mat-error>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: ElderValidationErrorDirective, selector: "mat-error[elderValidationError]" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22239
22295
|
}
|
|
22240
22296
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderQuantityFormFieldComponent, decorators: [{
|
|
22241
22297
|
type: Component,
|
|
@@ -22247,7 +22303,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
22247
22303
|
MatHint,
|
|
22248
22304
|
MatError,
|
|
22249
22305
|
ElderValidationErrorDirective,
|
|
22250
|
-
|
|
22306
|
+
ElderTranslatePipe,
|
|
22251
22307
|
], template: "<mat-form-field [floatLabel]=\"floatLabel\" [appearance]=\"appearance\" [color]=\"color\">\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n\n @if (showIcon && icon) {\n <span matIconPrefix>\n <mat-icon [inline]=\"true\">{{ icon }}</mat-icon>\n </span>\n }\n\n <ng-content></ng-content>\n\n @if (showHint) {\n <mat-hint align=\"end\">\n @if (hint) {\n <span>{{ hint }}</span>\n }\n </mat-hint>\n }\n\n <mat-error elderValidationError></mat-error>\n</mat-form-field>\n" }]
|
|
22252
22308
|
}], ctorParameters: () => [] });
|
|
22253
22309
|
|
|
@@ -23057,8 +23113,8 @@ class TemplatedSelectionDialogComponent {
|
|
|
23057
23113
|
**************************************************************************/
|
|
23058
23114
|
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
23059
23115
|
}
|
|
23060
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: TemplatedSelectionDialogComponent, deps: [{ token: i1$
|
|
23061
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: TemplatedSelectionDialogComponent, isStandalone: true, selector: "elder-templated-selection-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <button mat-icon-button type=\"button\" matDialogClose=\"\">\n <mat-icon>close</mat-icon>\n </button>\n <span class=\"flex\"></span>\n @if (selectionModel.selection | async; as selection) {\n <button\n mat-stroked-button\n type=\"submit\"\n [disabled]=\"!selection || selection.length === 0\"\n [mat-dialog-close]=\"selection\"\n >\n {{ 'actions.select' | translate }}\n </button>\n }\n </mat-toolbar>\n <div class=\"layout-col flex\" style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"data.selectionComponentTemplate\"></ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: ElderThemeDirective, selector: "[elderTheme]" }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: 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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "
|
|
23116
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: TemplatedSelectionDialogComponent, deps: [{ token: i1$6.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: SelectionModel }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23117
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: TemplatedSelectionDialogComponent, isStandalone: true, selector: "elder-templated-selection-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <button mat-icon-button type=\"button\" matDialogClose=\"\">\n <mat-icon>close</mat-icon>\n </button>\n <span class=\"flex\"></span>\n @if (selectionModel.selection | async; as selection) {\n <button\n mat-stroked-button\n type=\"submit\"\n [disabled]=\"!selection || selection.length === 0\"\n [mat-dialog-close]=\"selection\"\n >\n {{ 'actions.select' | translate }}\n </button>\n }\n </mat-toolbar>\n <div class=\"layout-col flex\" style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"data.selectionComponentTemplate\"></ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: ElderThemeDirective, selector: "[elderTheme]" }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: 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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23062
23118
|
}
|
|
23063
23119
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: TemplatedSelectionDialogComponent, decorators: [{
|
|
23064
23120
|
type: Component,
|
|
@@ -23071,9 +23127,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
23071
23127
|
MatButton,
|
|
23072
23128
|
NgTemplateOutlet,
|
|
23073
23129
|
AsyncPipe,
|
|
23074
|
-
|
|
23130
|
+
ElderTranslatePipe,
|
|
23075
23131
|
], template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <button mat-icon-button type=\"button\" matDialogClose=\"\">\n <mat-icon>close</mat-icon>\n </button>\n <span class=\"flex\"></span>\n @if (selectionModel.selection | async; as selection) {\n <button\n mat-stroked-button\n type=\"submit\"\n [disabled]=\"!selection || selection.length === 0\"\n [mat-dialog-close]=\"selection\"\n >\n {{ 'actions.select' | translate }}\n </button>\n }\n </mat-toolbar>\n <div class=\"layout-col flex\" style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"data.selectionComponentTemplate\"></ng-container>\n </div>\n</div>\n" }]
|
|
23076
|
-
}], ctorParameters: () => [{ type: i1$
|
|
23132
|
+
}], ctorParameters: () => [{ type: i1$6.MatDialogRef }, { type: undefined, decorators: [{
|
|
23077
23133
|
type: Inject,
|
|
23078
23134
|
args: [MAT_DIALOG_DATA]
|
|
23079
23135
|
}] }, { type: SelectionModel }] });
|
|
@@ -23160,7 +23216,7 @@ class SelectionModelPopupDirective {
|
|
|
23160
23216
|
viewContainerRef: this.viewContainer,
|
|
23161
23217
|
});
|
|
23162
23218
|
}
|
|
23163
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: SelectionModelPopupDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1$
|
|
23219
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: SelectionModelPopupDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1$6.MatDialog }, { token: ElderDataViewOptionsProvider }, { token: SelectionModel }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23164
23220
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: SelectionModelPopupDirective, isStandalone: true, selector: "[elderSelectionModelPopup]", inputs: { elderSelectionModelPopupTransform: "elderSelectionModelPopupTransform" }, providers: [
|
|
23165
23221
|
{
|
|
23166
23222
|
provide: SelectionModel,
|
|
@@ -23190,7 +23246,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
23190
23246
|
ElderTableProviders.ClearTableModel, // Since this popup is frequently used inside an elder-table search box
|
|
23191
23247
|
],
|
|
23192
23248
|
}]
|
|
23193
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1$
|
|
23249
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1$6.MatDialog }, { type: ElderDataViewOptionsProvider }, { type: SelectionModel }, { type: i0.ChangeDetectorRef }], propDecorators: { elderSelectionModelPopupTransform: [{
|
|
23194
23250
|
type: Input
|
|
23195
23251
|
}] } });
|
|
23196
23252
|
|
|
@@ -23619,7 +23675,7 @@ class ElderAutocompleteDirective {
|
|
|
23619
23675
|
this.logger.warn('No DataContext available to update suggestions!');
|
|
23620
23676
|
}
|
|
23621
23677
|
}
|
|
23622
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderAutocompleteDirective, deps: [{ token: i1$
|
|
23678
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderAutocompleteDirective, deps: [{ token: i1$8.MatAutocompleteTrigger }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23623
23679
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderAutocompleteDirective, isStandalone: true, selector: "[elderAutocomplete]", inputs: { queryFilter: "queryFilter", filters: "filters", sorts: "sorts", autocomplete: ["elderAutocomplete", "autocomplete"] }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 }); }
|
|
23624
23680
|
}
|
|
23625
23681
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderAutocompleteDirective, decorators: [{
|
|
@@ -23627,7 +23683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
23627
23683
|
args: [{
|
|
23628
23684
|
selector: '[elderAutocomplete]',
|
|
23629
23685
|
}]
|
|
23630
|
-
}], ctorParameters: () => [{ type: i1$
|
|
23686
|
+
}], ctorParameters: () => [{ type: i1$8.MatAutocompleteTrigger }], propDecorators: { queryFilter: [{
|
|
23631
23687
|
type: Input
|
|
23632
23688
|
}], filters: [{
|
|
23633
23689
|
type: Input
|
|
@@ -24430,7 +24486,7 @@ class ElderSelectComponent extends ElderSelectBase {
|
|
|
24430
24486
|
provide: ELDER_SELECT_BASE,
|
|
24431
24487
|
useExisting: forwardRef(() => ElderSelectComponent),
|
|
24432
24488
|
},
|
|
24433
|
-
], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (entityWrapped(); as entityWrapper) {\n <div class=\"layout-row place-start-center elder-flex-control\">\n @if (state(); as state) {\n @if (state?.error || icon) {\n <div class=\"elder-input-prefix-icon-container flex-none\">\n @if (icon) {\n <mat-icon\n disabled\n class=\"elder-mdc-control-icon elder-icon-small noselect clickable-icon\"\n [class.loading]=\"state.loading\"\n [color]=\"state?.error ? 'warn' : focused ? 'primary' : undefined\"\n (click)=\"onCurrentClicked(entity)\"\n >\n {{ icon }}\n </mat-icon>\n } @else if (state?.error) {\n <mat-icon\n class=\"elder-mdc-control-icon elder-icon-small noselect\"\n color=\"warn\"\n [matTooltip]=\"state?.error\"\n >\n warning\n </mat-icon>\n }\n </div>\n }\n }\n\n <!-- A dynamic input -->\n <input\n #input\n matInput\n type=\"text\"\n class=\"flex-grow elder-select-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"readonly || !autocomplete\"\n [name]=\"controlName + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n [matAutocomplete]\n #autoTrigger=\"matAutocompleteTrigger\"\n [elderAutocomplete]=\"elderAuto\"\n [queryFilter]=\"queryFilter\"\n [filters]=\"filters\"\n [sorts]=\"sorts\"\n elderSelectOnTab\n [class.elder-select-dropdown-input]=\"!autocomplete\"\n [ngModel]=\"inputText()\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'submit' }\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus(autoTrigger)\"\n (click)=\"onInputClicked(autoTrigger)\"\n />\n\n <elder-suggestion-panel\n #elderAuto=\"elderSuggestionPanel\"\n [dataSource]=\"dataContextS()?.dataSource\"\n [valueTemplate]=\"valueTemplate\"\n enabled\n [displayPropertyResolver]=\"displayPropertyResolverS()\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n elderAutoSelectSuggestFirst\n (optionSelected)=\"onOptionSelected($any($event))\"\n ></elder-suggestion-panel>\n\n <div class=\"layout-row place-start-center flex-none\">\n @if (!selectionPopup && !autocomplete && !entityWrapper.displayRemove) {\n <mat-icon\n class=\"elder-mdc-control-icon elder-select-arrow noselect\"\n (click)=\"onInputClicked(autoTrigger)\"\n >\n arrow_drop_down\n </mat-icon>\n }\n\n @if (selectionPopup && !entityWrapper.displayRemove) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\"\n aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n }\n\n @if (entityWrapper.displayRemove && !this.readonlyS()) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLockedS()\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">close</mat-icon>\n </button>\n }\n </div>\n </div>\n}\n", styles: ["@keyframes shrink{0%{transform:scale(1)}to{transform:scale(.75)}}.loading{animation:shrink .3s ease-in-out infinite alternate;-webkit-animation:shrink .3s ease-in-out infinite alternate}.clickable-icon,.elder-select-dropdown-input{cursor:pointer}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: 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: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$
|
|
24489
|
+
], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (entityWrapped(); as entityWrapper) {\n <div class=\"layout-row place-start-center elder-flex-control\">\n @if (state(); as state) {\n @if (state?.error || icon) {\n <div class=\"elder-input-prefix-icon-container flex-none\">\n @if (icon) {\n <mat-icon\n disabled\n class=\"elder-mdc-control-icon elder-icon-small noselect clickable-icon\"\n [class.loading]=\"state.loading\"\n [color]=\"state?.error ? 'warn' : focused ? 'primary' : undefined\"\n (click)=\"onCurrentClicked(entity)\"\n >\n {{ icon }}\n </mat-icon>\n } @else if (state?.error) {\n <mat-icon\n class=\"elder-mdc-control-icon elder-icon-small noselect\"\n color=\"warn\"\n [matTooltip]=\"state?.error\"\n >\n warning\n </mat-icon>\n }\n </div>\n }\n }\n\n <!-- A dynamic input -->\n <input\n #input\n matInput\n type=\"text\"\n class=\"flex-grow elder-select-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"readonly || !autocomplete\"\n [name]=\"controlName + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n [matAutocomplete]\n #autoTrigger=\"matAutocompleteTrigger\"\n [elderAutocomplete]=\"elderAuto\"\n [queryFilter]=\"queryFilter\"\n [filters]=\"filters\"\n [sorts]=\"sorts\"\n elderSelectOnTab\n [class.elder-select-dropdown-input]=\"!autocomplete\"\n [ngModel]=\"inputText()\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'submit' }\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus(autoTrigger)\"\n (click)=\"onInputClicked(autoTrigger)\"\n />\n\n <elder-suggestion-panel\n #elderAuto=\"elderSuggestionPanel\"\n [dataSource]=\"dataContextS()?.dataSource\"\n [valueTemplate]=\"valueTemplate\"\n enabled\n [displayPropertyResolver]=\"displayPropertyResolverS()\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n elderAutoSelectSuggestFirst\n (optionSelected)=\"onOptionSelected($any($event))\"\n ></elder-suggestion-panel>\n\n <div class=\"layout-row place-start-center flex-none\">\n @if (!selectionPopup && !autocomplete && !entityWrapper.displayRemove) {\n <mat-icon\n class=\"elder-mdc-control-icon elder-select-arrow noselect\"\n (click)=\"onInputClicked(autoTrigger)\"\n >\n arrow_drop_down\n </mat-icon>\n }\n\n @if (selectionPopup && !entityWrapper.displayRemove) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\"\n aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n }\n\n @if (entityWrapper.displayRemove && !this.readonlyS()) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLockedS()\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">close</mat-icon>\n </button>\n }\n </div>\n </div>\n}\n", styles: ["@keyframes shrink{0%{transform:scale(1)}to{transform:scale(.75)}}.loading{animation:shrink .3s ease-in-out infinite alternate;-webkit-animation:shrink .3s ease-in-out infinite alternate}.clickable-icon,.elder-select-dropdown-input{cursor:pointer}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: 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: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSelectOnTabDirective, selector: "[elderSelectOnTab]" }, { kind: "directive", type: ElderAutocompleteDirective, selector: "[elderAutocomplete]", inputs: ["queryFilter", "filters", "sorts", "elderAutocomplete"] }, { kind: "component", type: ElderSuggestionPanelComponent, selector: "elder-suggestion-panel", inputs: ["isOptionDisabledFn", "isOptionHiddenFn", "optionValueConverterFn", "enabled", "valueTemplate", "dataSource", "displayPropertyResolver"], outputs: ["optionSelected"], exportAs: ["elderSuggestionPanel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "directive", type: ElderAutoSelectSuggestFirstDirective, selector: "[elderAutoSelectSuggestFirst]" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
24434
24490
|
}
|
|
24435
24491
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSelectComponent, decorators: [{
|
|
24436
24492
|
type: Component,
|
|
@@ -24451,7 +24507,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
24451
24507
|
ElderSuggestionPanelComponent,
|
|
24452
24508
|
MatIconButton,
|
|
24453
24509
|
ElderStopEventPropagationDirective,
|
|
24454
|
-
|
|
24510
|
+
ElderTranslatePipe,
|
|
24455
24511
|
ElderAutoSelectSuggestFirstDirective,
|
|
24456
24512
|
], template: "@if (entityWrapped(); as entityWrapper) {\n <div class=\"layout-row place-start-center elder-flex-control\">\n @if (state(); as state) {\n @if (state?.error || icon) {\n <div class=\"elder-input-prefix-icon-container flex-none\">\n @if (icon) {\n <mat-icon\n disabled\n class=\"elder-mdc-control-icon elder-icon-small noselect clickable-icon\"\n [class.loading]=\"state.loading\"\n [color]=\"state?.error ? 'warn' : focused ? 'primary' : undefined\"\n (click)=\"onCurrentClicked(entity)\"\n >\n {{ icon }}\n </mat-icon>\n } @else if (state?.error) {\n <mat-icon\n class=\"elder-mdc-control-icon elder-icon-small noselect\"\n color=\"warn\"\n [matTooltip]=\"state?.error\"\n >\n warning\n </mat-icon>\n }\n </div>\n }\n }\n\n <!-- A dynamic input -->\n <input\n #input\n matInput\n type=\"text\"\n class=\"flex-grow elder-select-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"readonly || !autocomplete\"\n [name]=\"controlName + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n [matAutocomplete]\n #autoTrigger=\"matAutocompleteTrigger\"\n [elderAutocomplete]=\"elderAuto\"\n [queryFilter]=\"queryFilter\"\n [filters]=\"filters\"\n [sorts]=\"sorts\"\n elderSelectOnTab\n [class.elder-select-dropdown-input]=\"!autocomplete\"\n [ngModel]=\"inputText()\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'submit' }\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus(autoTrigger)\"\n (click)=\"onInputClicked(autoTrigger)\"\n />\n\n <elder-suggestion-panel\n #elderAuto=\"elderSuggestionPanel\"\n [dataSource]=\"dataContextS()?.dataSource\"\n [valueTemplate]=\"valueTemplate\"\n enabled\n [displayPropertyResolver]=\"displayPropertyResolverS()\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n elderAutoSelectSuggestFirst\n (optionSelected)=\"onOptionSelected($any($event))\"\n ></elder-suggestion-panel>\n\n <div class=\"layout-row place-start-center flex-none\">\n @if (!selectionPopup && !autocomplete && !entityWrapper.displayRemove) {\n <mat-icon\n class=\"elder-mdc-control-icon elder-select-arrow noselect\"\n (click)=\"onInputClicked(autoTrigger)\"\n >\n arrow_drop_down\n </mat-icon>\n }\n\n @if (selectionPopup && !entityWrapper.displayRemove) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\"\n aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n }\n\n @if (entityWrapper.displayRemove && !this.readonlyS()) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLockedS()\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">close</mat-icon>\n </button>\n }\n </div>\n </div>\n}\n", styles: ["@keyframes shrink{0%{transform:scale(1)}to{transform:scale(.75)}}.loading{animation:shrink .3s ease-in-out infinite alternate;-webkit-animation:shrink .3s ease-in-out infinite alternate}.clickable-icon,.elder-select-dropdown-input{cursor:pointer}\n"] }]
|
|
24457
24513
|
}], ctorParameters: () => [], propDecorators: { inputRef: [{
|
|
@@ -24675,11 +24731,11 @@ class ElderQuantityInputControlComponent extends ElderFormFieldControlBase {
|
|
|
24675
24731
|
return a?.value === b?.value && a?.unit === b?.unit;
|
|
24676
24732
|
}
|
|
24677
24733
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderQuantityInputControlComponent, deps: [{ token: ElderUnitService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24678
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderQuantityInputControlComponent, isStandalone: true, selector: "elder-quantity-input", inputs: { displayFormat: "displayFormat", quantityValue: "quantityValue", unit: "unit", hideUnit: "hideUnit" }, outputs: { quantityValueChange: "quantityValueChange", unitChange: "unitChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderQuantityInputControlComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }, { propertyName: "quantityInput", first: true, predicate: ["quantityMatInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n #input\n matInput\n type=\"number\"\n elderNoSpinner\n #quantityMatInput=\"matInput\"\n class=\"flex-grow elder-quantity-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [readonly]=\"readonly\"\n [name]=\"controlName + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"formattedValue$ | async\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'change' }\"\n (ngModelChange)=\"onQuantityValueChanged($event)\"\n />\n @if (!hideUnit) {\n <span class=\"mat-small elder-quantity-unit\">{{ unitSymbol$ | async }}</span>\n }\n</div>\n", styles: [".elder-quantity-input{text-align:right}.elder-quantity-unit{margin-left:4px}\n"], dependencies: [{ kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$
|
|
24734
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderQuantityInputControlComponent, isStandalone: true, selector: "elder-quantity-input", inputs: { displayFormat: "displayFormat", quantityValue: "quantityValue", unit: "unit", hideUnit: "hideUnit" }, outputs: { quantityValueChange: "quantityValueChange", unitChange: "unitChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderQuantityInputControlComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }, { propertyName: "quantityInput", first: true, predicate: ["quantityMatInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n #input\n matInput\n type=\"number\"\n elderNoSpinner\n #quantityMatInput=\"matInput\"\n class=\"flex-grow elder-quantity-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [readonly]=\"readonly\"\n [name]=\"controlName + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"formattedValue$ | async\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'change' }\"\n (ngModelChange)=\"onQuantityValueChanged($event)\"\n />\n @if (!hideUnit) {\n <span class=\"mat-small elder-quantity-unit\">{{ unitSymbol$ | async }}</span>\n }\n</div>\n", styles: [".elder-quantity-input{text-align:right}.elder-quantity-unit{margin-left:4px}\n"], dependencies: [{ kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
24679
24735
|
}
|
|
24680
24736
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderQuantityInputControlComponent, decorators: [{
|
|
24681
24737
|
type: Component,
|
|
24682
|
-
args: [{ selector: 'elder-quantity-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderQuantityInputControlComponent }], imports: [MatInput, FormsModule, ElderFormFieldNoSpinnerDirective, AsyncPipe,
|
|
24738
|
+
args: [{ selector: 'elder-quantity-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderQuantityInputControlComponent }], imports: [MatInput, FormsModule, ElderFormFieldNoSpinnerDirective, AsyncPipe, ElderTranslatePipe], template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n #input\n matInput\n type=\"number\"\n elderNoSpinner\n #quantityMatInput=\"matInput\"\n class=\"flex-grow elder-quantity-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [readonly]=\"readonly\"\n [name]=\"controlName + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"formattedValue$ | async\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'change' }\"\n (ngModelChange)=\"onQuantityValueChanged($event)\"\n />\n @if (!hideUnit) {\n <span class=\"mat-small elder-quantity-unit\">{{ unitSymbol$ | async }}</span>\n }\n</div>\n", styles: [".elder-quantity-input{text-align:right}.elder-quantity-unit{margin-left:4px}\n"] }]
|
|
24683
24739
|
}], ctorParameters: () => [{ type: ElderUnitService }], propDecorators: { inputRef: [{
|
|
24684
24740
|
type: ViewChild,
|
|
24685
24741
|
args: ['input']
|
|
@@ -24910,11 +24966,11 @@ class ElderDimensionsInputComponent extends ElderFormFieldControlBase {
|
|
|
24910
24966
|
return Dimensions.from(this.unit, this.lengthValue, this.widthValue, value);
|
|
24911
24967
|
}
|
|
24912
24968
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDimensionsInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24913
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderDimensionsInputComponent, isStandalone: true, selector: "elder-dimensions-input", inputs: { name: "name", appearance: "appearance", color: "color", placeholderLength: "placeholderLength", placeholderWidth: "placeholderWidth", placeholderHeight: "placeholderHeight", displayFormat: "displayFormat", mode: "mode", requiredLength: "requiredLength", requiredWidth: "requiredWidth", requiredHeight: "requiredHeight", unit: "unit", lengthValue: "lengthValue", widthValue: "widthValue", heightValue: "heightValue" }, outputs: { unitChange: "unitChange", lengthValueChange: "lengthValueChange", widthValueChange: "widthValueChange", heightValueChange: "heightValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDimensionsInputComponent }], usesInheritance: true, ngImport: i0, template: "@if (context$ | async; as context) {\n <div role=\"group\" class=\"layout-row place-start-baseline g-md full\">\n <!-- elder-form-field-small -->\n @if (context.lengthActive) {\n <elder-quantity-input\n [quantityValue]=\"lengthValue\"\n (quantityValueChange)=\"onLengthValueChanged($event)\"\n [unit]=\"unit\"\n [placeholder]=\"(placeholderLength ? placeholderLength : 'dimensions.length') | translate\"\n [displayFormat]=\"displayFormat\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [hideUnit]=\"!context.isLengthLast\"\n >\n </elder-quantity-input>\n }\n @if (context.lengthActive && context.widthActive) {\n <span class=\"noselect\">×</span>\n }\n @if (context.widthActive) {\n <elder-quantity-input\n [quantityValue]=\"widthValue\"\n (quantityValueChange)=\"onWidthValueChanged($event)\"\n [unit]=\"unit\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderWidth ? placeholderWidth : 'dimensions.width') | translate\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [hideUnit]=\"!context.isWidthLast\"\n >\n </elder-quantity-input>\n }\n @if (context.widthActive && context.heightActive) {\n <span class=\"noselect\">×</span>\n }\n @if (context.heightActive) {\n <elder-quantity-input\n [quantityValue]=\"heightValue\"\n (quantityValueChange)=\"onHeightValueChanged($event)\"\n [unit]=\"unit\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderHeight ? placeholderHeight : 'dimensions.height') | translate\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n }\n <!--\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [elderMultipleOf]=\"multipleOf\" ngModel\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredLength\"\n -->\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: ElderQuantityInputControlComponent, selector: "elder-quantity-input", inputs: ["displayFormat", "quantityValue", "unit", "hideUnit"], outputs: ["quantityValueChange", "unitChange"] }, { kind: "
|
|
24969
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderDimensionsInputComponent, isStandalone: true, selector: "elder-dimensions-input", inputs: { name: "name", appearance: "appearance", color: "color", placeholderLength: "placeholderLength", placeholderWidth: "placeholderWidth", placeholderHeight: "placeholderHeight", displayFormat: "displayFormat", mode: "mode", requiredLength: "requiredLength", requiredWidth: "requiredWidth", requiredHeight: "requiredHeight", unit: "unit", lengthValue: "lengthValue", widthValue: "widthValue", heightValue: "heightValue" }, outputs: { unitChange: "unitChange", lengthValueChange: "lengthValueChange", widthValueChange: "widthValueChange", heightValueChange: "heightValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDimensionsInputComponent }], usesInheritance: true, ngImport: i0, template: "@if (context$ | async; as context) {\n <div role=\"group\" class=\"layout-row place-start-baseline g-md full\">\n <!-- elder-form-field-small -->\n @if (context.lengthActive) {\n <elder-quantity-input\n [quantityValue]=\"lengthValue\"\n (quantityValueChange)=\"onLengthValueChanged($event)\"\n [unit]=\"unit\"\n [placeholder]=\"(placeholderLength ? placeholderLength : 'dimensions.length') | translate\"\n [displayFormat]=\"displayFormat\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [hideUnit]=\"!context.isLengthLast\"\n >\n </elder-quantity-input>\n }\n @if (context.lengthActive && context.widthActive) {\n <span class=\"noselect\">×</span>\n }\n @if (context.widthActive) {\n <elder-quantity-input\n [quantityValue]=\"widthValue\"\n (quantityValueChange)=\"onWidthValueChanged($event)\"\n [unit]=\"unit\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderWidth ? placeholderWidth : 'dimensions.width') | translate\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [hideUnit]=\"!context.isWidthLast\"\n >\n </elder-quantity-input>\n }\n @if (context.widthActive && context.heightActive) {\n <span class=\"noselect\">×</span>\n }\n @if (context.heightActive) {\n <elder-quantity-input\n [quantityValue]=\"heightValue\"\n (quantityValueChange)=\"onHeightValueChanged($event)\"\n [unit]=\"unit\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderHeight ? placeholderHeight : 'dimensions.height') | translate\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n }\n <!--\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [elderMultipleOf]=\"multipleOf\" ngModel\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredLength\"\n -->\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: ElderQuantityInputControlComponent, selector: "elder-quantity-input", inputs: ["displayFormat", "quantityValue", "unit", "hideUnit"], outputs: ["quantityValueChange", "unitChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
24914
24970
|
}
|
|
24915
24971
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDimensionsInputComponent, decorators: [{
|
|
24916
24972
|
type: Component,
|
|
24917
|
-
args: [{ selector: 'elder-dimensions-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderDimensionsInputComponent }], imports: [ElderQuantityInputControlComponent, AsyncPipe,
|
|
24973
|
+
args: [{ selector: 'elder-dimensions-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderDimensionsInputComponent }], imports: [ElderQuantityInputControlComponent, AsyncPipe, ElderTranslatePipe], template: "@if (context$ | async; as context) {\n <div role=\"group\" class=\"layout-row place-start-baseline g-md full\">\n <!-- elder-form-field-small -->\n @if (context.lengthActive) {\n <elder-quantity-input\n [quantityValue]=\"lengthValue\"\n (quantityValueChange)=\"onLengthValueChanged($event)\"\n [unit]=\"unit\"\n [placeholder]=\"(placeholderLength ? placeholderLength : 'dimensions.length') | translate\"\n [displayFormat]=\"displayFormat\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [hideUnit]=\"!context.isLengthLast\"\n >\n </elder-quantity-input>\n }\n @if (context.lengthActive && context.widthActive) {\n <span class=\"noselect\">×</span>\n }\n @if (context.widthActive) {\n <elder-quantity-input\n [quantityValue]=\"widthValue\"\n (quantityValueChange)=\"onWidthValueChanged($event)\"\n [unit]=\"unit\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderWidth ? placeholderWidth : 'dimensions.width') | translate\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [hideUnit]=\"!context.isWidthLast\"\n >\n </elder-quantity-input>\n }\n @if (context.widthActive && context.heightActive) {\n <span class=\"noselect\">×</span>\n }\n @if (context.heightActive) {\n <elder-quantity-input\n [quantityValue]=\"heightValue\"\n (quantityValueChange)=\"onHeightValueChanged($event)\"\n [unit]=\"unit\"\n [displayFormat]=\"displayFormat\"\n [placeholder]=\"(placeholderHeight ? placeholderHeight : 'dimensions.height') | translate\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n >\n </elder-quantity-input>\n }\n <!--\n [requiredIgnoreZero]=\"requiredIgnoreZero\"\n [elderMultipleOf]=\"multipleOf\" ngModel\n [min]=\"min\"\n [max]=\"max\"\n [required]=\"requiredLength\"\n -->\n </div>\n}\n" }]
|
|
24918
24974
|
}], ctorParameters: () => [], propDecorators: { name: [{
|
|
24919
24975
|
type: Input
|
|
24920
24976
|
}], appearance: [{
|
|
@@ -25196,8 +25252,6 @@ class ElderMeasuresModule {
|
|
|
25196
25252
|
CommonModule,
|
|
25197
25253
|
RouterModule,
|
|
25198
25254
|
FormsModule,
|
|
25199
|
-
// Third Party
|
|
25200
|
-
TranslateModule,
|
|
25201
25255
|
// Angular Material
|
|
25202
25256
|
MatIconModule,
|
|
25203
25257
|
MatInputModule,
|
|
@@ -25225,8 +25279,6 @@ class ElderMeasuresModule {
|
|
|
25225
25279
|
CommonModule,
|
|
25226
25280
|
RouterModule,
|
|
25227
25281
|
FormsModule,
|
|
25228
|
-
// Third Party
|
|
25229
|
-
TranslateModule,
|
|
25230
25282
|
// Angular Material
|
|
25231
25283
|
MatIconModule,
|
|
25232
25284
|
MatInputModule,
|
|
@@ -25244,8 +25296,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
25244
25296
|
CommonModule,
|
|
25245
25297
|
RouterModule,
|
|
25246
25298
|
FormsModule,
|
|
25247
|
-
// Third Party
|
|
25248
|
-
TranslateModule,
|
|
25249
25299
|
// Angular Material
|
|
25250
25300
|
MatIconModule,
|
|
25251
25301
|
MatInputModule,
|
|
@@ -25501,7 +25551,7 @@ class ElderAutocompleteManyDirective {
|
|
|
25501
25551
|
// The wordAtCursor might not be the full autocompleted phrase (if there are multiple words)
|
|
25502
25552
|
this.cursorPosition = wordAtCursor.start + autocompletedPhrase.length;
|
|
25503
25553
|
}
|
|
25504
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderAutocompleteManyDirective, deps: [{ token: i1$
|
|
25554
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderAutocompleteManyDirective, deps: [{ token: i1$8.MatAutocompleteTrigger }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25505
25555
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderAutocompleteManyDirective, isStandalone: true, selector: "[elderAutocompleteMany]", inputs: { queryFilter: "queryFilter", filters: "filters", sorts: "sorts", textProperty: "textProperty", textPropertyResolverFn: "textPropertyResolverFn", autocomplete: ["elderAutocompleteMany", "autocomplete"] }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 }); }
|
|
25506
25556
|
}
|
|
25507
25557
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderAutocompleteManyDirective, decorators: [{
|
|
@@ -25509,7 +25559,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
25509
25559
|
args: [{
|
|
25510
25560
|
selector: '[elderAutocompleteMany]',
|
|
25511
25561
|
}]
|
|
25512
|
-
}], ctorParameters: () => [{ type: i1$
|
|
25562
|
+
}], ctorParameters: () => [{ type: i1$8.MatAutocompleteTrigger }, { type: i0.ElementRef }], propDecorators: { queryFilter: [{
|
|
25513
25563
|
type: Input
|
|
25514
25564
|
}], filters: [{
|
|
25515
25565
|
type: Input
|
|
@@ -26711,8 +26761,6 @@ class ElderChipsModule {
|
|
|
26711
26761
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: ElderChipsModule, imports: [
|
|
26712
26762
|
// Angular
|
|
26713
26763
|
CommonModule,
|
|
26714
|
-
// Third Party
|
|
26715
|
-
TranslateModule,
|
|
26716
26764
|
// Material
|
|
26717
26765
|
MatChipsModule,
|
|
26718
26766
|
A11yModule,
|
|
@@ -26720,8 +26768,6 @@ class ElderChipsModule {
|
|
|
26720
26768
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderChipsModule, imports: [
|
|
26721
26769
|
// Angular
|
|
26722
26770
|
CommonModule,
|
|
26723
|
-
// Third Party
|
|
26724
|
-
TranslateModule,
|
|
26725
26771
|
// Material
|
|
26726
26772
|
MatChipsModule,
|
|
26727
26773
|
A11yModule] }); }
|
|
@@ -26732,8 +26778,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
26732
26778
|
imports: [
|
|
26733
26779
|
// Angular
|
|
26734
26780
|
CommonModule,
|
|
26735
|
-
// Third Party
|
|
26736
|
-
TranslateModule,
|
|
26737
26781
|
// Material
|
|
26738
26782
|
MatChipsModule,
|
|
26739
26783
|
A11yModule,
|
|
@@ -28167,7 +28211,7 @@ class ElderSearchIncludeExcludeDirective {
|
|
|
28167
28211
|
extractName() {
|
|
28168
28212
|
return this.ngModel?.name;
|
|
28169
28213
|
}
|
|
28170
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchIncludeExcludeDirective, deps: [{ token: ElderSearchContextDirective }, { token: i0.DestroyRef }, { token: IncludeExcludeSelectionModel }, { token: i1$
|
|
28214
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchIncludeExcludeDirective, deps: [{ token: ElderSearchContextDirective }, { token: i0.DestroyRef }, { token: IncludeExcludeSelectionModel }, { token: i1$3.NgModel, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
28171
28215
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderSearchIncludeExcludeDirective, isStandalone: true, selector: "[elderSearchIncludeExclude]", inputs: { includeSuffix: "includeSuffix", excludeSuffix: "excludeSuffix", queryKey: "queryKey" }, exportAs: ["elderSearchInput"], ngImport: i0 }); }
|
|
28172
28216
|
}
|
|
28173
28217
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchIncludeExcludeDirective, decorators: [{
|
|
@@ -28176,7 +28220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
28176
28220
|
selector: '[elderSearchIncludeExclude]',
|
|
28177
28221
|
exportAs: 'elderSearchInput',
|
|
28178
28222
|
}]
|
|
28179
|
-
}], ctorParameters: () => [{ type: ElderSearchContextDirective }, { type: i0.DestroyRef }, { type: IncludeExcludeSelectionModel }, { type: i1$
|
|
28223
|
+
}], ctorParameters: () => [{ type: ElderSearchContextDirective }, { type: i0.DestroyRef }, { type: IncludeExcludeSelectionModel }, { type: i1$3.NgModel, decorators: [{
|
|
28180
28224
|
type: Optional
|
|
28181
28225
|
}, {
|
|
28182
28226
|
type: Host
|
|
@@ -28208,7 +28252,6 @@ class ElderSelectModule {
|
|
|
28208
28252
|
MatTooltipModule,
|
|
28209
28253
|
CdkDropList,
|
|
28210
28254
|
CdkDrag,
|
|
28211
|
-
TranslateModule,
|
|
28212
28255
|
ElderFormsDirectivesModule,
|
|
28213
28256
|
ElderTableModule,
|
|
28214
28257
|
ElderInfiniteScrollModule,
|
|
@@ -28268,7 +28311,6 @@ class ElderSelectModule {
|
|
|
28268
28311
|
MatProgressSpinnerModule,
|
|
28269
28312
|
MatChipsModule,
|
|
28270
28313
|
MatTooltipModule,
|
|
28271
|
-
TranslateModule,
|
|
28272
28314
|
ElderFormsDirectivesModule,
|
|
28273
28315
|
ElderTableModule,
|
|
28274
28316
|
ElderInfiniteScrollModule,
|
|
@@ -28303,7 +28345,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
28303
28345
|
MatTooltipModule,
|
|
28304
28346
|
CdkDropList,
|
|
28305
28347
|
CdkDrag,
|
|
28306
|
-
TranslateModule,
|
|
28307
28348
|
ElderFormsDirectivesModule,
|
|
28308
28349
|
ElderTableModule,
|
|
28309
28350
|
ElderInfiniteScrollModule,
|
|
@@ -28369,8 +28410,6 @@ class ElderToolbarModule {
|
|
|
28369
28410
|
MatButtonModule,
|
|
28370
28411
|
MatIconModule,
|
|
28371
28412
|
MatBadgeModule,
|
|
28372
|
-
// translations
|
|
28373
|
-
TranslateModule,
|
|
28374
28413
|
ElderToolbarComponent,
|
|
28375
28414
|
ElderToolbarColumnDirective,
|
|
28376
28415
|
ElderToolbarTitleComponent], exports: [ElderToolbarComponent, ElderToolbarColumnDirective, ElderToolbarTitleComponent] }); }
|
|
@@ -28386,10 +28425,7 @@ class ElderToolbarModule {
|
|
|
28386
28425
|
MatButtonModule,
|
|
28387
28426
|
MatIconModule,
|
|
28388
28427
|
MatBadgeModule,
|
|
28389
|
-
|
|
28390
|
-
TranslateModule,
|
|
28391
|
-
ElderToolbarComponent,
|
|
28392
|
-
ElderToolbarTitleComponent] }); }
|
|
28428
|
+
ElderToolbarComponent] }); }
|
|
28393
28429
|
}
|
|
28394
28430
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderToolbarModule, decorators: [{
|
|
28395
28431
|
type: NgModule,
|
|
@@ -28406,8 +28442,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
28406
28442
|
MatButtonModule,
|
|
28407
28443
|
MatIconModule,
|
|
28408
28444
|
MatBadgeModule,
|
|
28409
|
-
// translations
|
|
28410
|
-
TranslateModule,
|
|
28411
28445
|
ElderToolbarComponent,
|
|
28412
28446
|
ElderToolbarColumnDirective,
|
|
28413
28447
|
ElderToolbarTitleComponent,
|
|
@@ -28707,7 +28741,7 @@ class ElderNavLinkComponent {
|
|
|
28707
28741
|
}
|
|
28708
28742
|
}
|
|
28709
28743
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderNavLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28710
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderNavLinkComponent, isStandalone: true, selector: "elder-nav-link", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, fontIcon: { classPropertyName: "fontIcon", publicName: "fontIcon", isSignal: true, isRequired: false, transformFunction: null }, fontSet: { classPropertyName: "fontSet", publicName: "fontSet", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, svgIcon: { classPropertyName: "svgIcon", publicName: "svgIcon", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, queryParams: { classPropertyName: "queryParams", publicName: "queryParams", isSignal: true, isRequired: false, transformFunction: null }, queryParamsHandling: { classPropertyName: "queryParamsHandling", publicName: "queryParamsHandling", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activated: "activated" }, host: { properties: { "attr.tabindex": "-1" } }, viewQueries: [{ propertyName: "routerLinkActive", first: true, predicate: RouterLinkActive, descendants: true }], ngImport: i0, template: "<!-- Router Link -->\n@if (routerLink()) {\n <a\n matRipple\n [matRippleDisabled]=\"disabled()\"\n class=\"layout-row place-start-center nav-link\"\n [ngClass]=\"navLinkClasses()\"\n routerLinkActive=\"dummy\"\n [routerLink]=\"routerLink()\"\n [queryParamsHandling]=\"queryParamsHandling()\"\n [queryParams]=\"queryParams()\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n}\n<!-- Href Link -->\n@if (href()) {\n <a\n matRipple\n [matRippleDisabled]=\"disabled()\"\n class=\"layout-row place-start-center nav-link\"\n [ngClass]=\"navLinkClasses()\"\n routerLinkActive=\"dummy\"\n [href]=\"href()\"\n [target]=\"target()\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n}\n<!-- Simple Button -->\n@if (!href() && !routerLink()) {\n <a\n matRipple\n [matRippleDisabled]=\"disabled()\"\n class=\"layout-row place-start-center nav-link\"\n [ngClass]=\"navLinkClasses()\"\n routerLinkActive=\"dummy\"\n (click)=\"onItemClicked($event)\"\n (keydown)=\"onItemKeyDown($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n}\n\n<ng-template #defaultLinkTemplate>\n <div class=\"nav-link-content layout-row place-start-center flex gap-md noselect\">\n @if (title() || icon() || fontIcon()) {\n <mat-icon [fontIcon]=\"fontIcon()\" [fontSet]=\"fontSet()\">\n {{ icon() }}\n </mat-icon>\n }\n @if (svgIcon()) {\n <mat-icon [svgIcon]=\"svgIcon()\"></mat-icon>\n }\n @if (title()) {\n <span class=\"noselect\">\n {{ title() | translate }}\n </span>\n }\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".nav-link{text-decoration:none;padding-left:16px;padding-right:16px;min-height:var(--elder-nav-item-height);border-radius:var(--elder-border-radius-sm);overflow:hidden;transition:background-color .5s,color .5s}.nav-link .mat-icon{height:32px;width:32px;font-size:24px;padding:4px}.nav-link.nav-link-clickable{cursor:pointer}.nav-link.nav-link-clickable:hover{background-color:var(--elder-nav-link-hover-color)}.nav-link.nav-link-disabled{cursor:default}.nav-link.nav-link-active{background-color:var(--elder-nav-link-active-color);color:var(--md-sys-color-primary)}.nav-link.nav-link-active .mat-icon{color:var(--md-sys-color-on-teriary)}.nav-link.nav-link-inactive,.nav-link.nav-link-inactive .mat-icon{color:var(--md-sys-color-on-surface)}\n"], dependencies: [{ kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "
|
|
28744
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderNavLinkComponent, isStandalone: true, selector: "elder-nav-link", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, fontIcon: { classPropertyName: "fontIcon", publicName: "fontIcon", isSignal: true, isRequired: false, transformFunction: null }, fontSet: { classPropertyName: "fontSet", publicName: "fontSet", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, svgIcon: { classPropertyName: "svgIcon", publicName: "svgIcon", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, queryParams: { classPropertyName: "queryParams", publicName: "queryParams", isSignal: true, isRequired: false, transformFunction: null }, queryParamsHandling: { classPropertyName: "queryParamsHandling", publicName: "queryParamsHandling", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activated: "activated" }, host: { properties: { "attr.tabindex": "-1" } }, viewQueries: [{ propertyName: "routerLinkActive", first: true, predicate: RouterLinkActive, descendants: true }], ngImport: i0, template: "<!-- Router Link -->\n@if (routerLink()) {\n <a\n matRipple\n [matRippleDisabled]=\"disabled()\"\n class=\"layout-row place-start-center nav-link\"\n [ngClass]=\"navLinkClasses()\"\n routerLinkActive=\"dummy\"\n [routerLink]=\"routerLink()\"\n [queryParamsHandling]=\"queryParamsHandling()\"\n [queryParams]=\"queryParams()\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n}\n<!-- Href Link -->\n@if (href()) {\n <a\n matRipple\n [matRippleDisabled]=\"disabled()\"\n class=\"layout-row place-start-center nav-link\"\n [ngClass]=\"navLinkClasses()\"\n routerLinkActive=\"dummy\"\n [href]=\"href()\"\n [target]=\"target()\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n}\n<!-- Simple Button -->\n@if (!href() && !routerLink()) {\n <a\n matRipple\n [matRippleDisabled]=\"disabled()\"\n class=\"layout-row place-start-center nav-link\"\n [ngClass]=\"navLinkClasses()\"\n routerLinkActive=\"dummy\"\n (click)=\"onItemClicked($event)\"\n (keydown)=\"onItemKeyDown($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n}\n\n<ng-template #defaultLinkTemplate>\n <div class=\"nav-link-content layout-row place-start-center flex gap-md noselect\">\n @if (title() || icon() || fontIcon()) {\n <mat-icon [fontIcon]=\"fontIcon()\" [fontSet]=\"fontSet()\">\n {{ icon() }}\n </mat-icon>\n }\n @if (svgIcon()) {\n <mat-icon [svgIcon]=\"svgIcon()\"></mat-icon>\n }\n @if (title()) {\n <span class=\"noselect\">\n {{ title() | translate }}\n </span>\n }\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".nav-link{text-decoration:none;padding-left:16px;padding-right:16px;min-height:var(--elder-nav-item-height);border-radius:var(--elder-border-radius-sm);overflow:hidden;transition:background-color .5s,color .5s}.nav-link .mat-icon{height:32px;width:32px;font-size:24px;padding:4px}.nav-link.nav-link-clickable{cursor:pointer}.nav-link.nav-link-clickable:hover{background-color:var(--elder-nav-link-hover-color)}.nav-link.nav-link-disabled{cursor:default}.nav-link.nav-link-active{background-color:var(--elder-nav-link-active-color);color:var(--md-sys-color-primary)}.nav-link.nav-link-active .mat-icon{color:var(--md-sys-color-on-teriary)}.nav-link.nav-link-inactive,.nav-link.nav-link-inactive .mat-icon{color:var(--md-sys-color-on-surface)}\n"], dependencies: [{ kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28711
28745
|
}
|
|
28712
28746
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderNavLinkComponent, decorators: [{
|
|
28713
28747
|
type: Component,
|
|
@@ -28718,7 +28752,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
28718
28752
|
RouterLinkActive,
|
|
28719
28753
|
RouterLink,
|
|
28720
28754
|
MatIcon,
|
|
28721
|
-
|
|
28755
|
+
ElderTranslatePipe,
|
|
28722
28756
|
NgTemplateOutlet,
|
|
28723
28757
|
NgClass,
|
|
28724
28758
|
], template: "<!-- Router Link -->\n@if (routerLink()) {\n <a\n matRipple\n [matRippleDisabled]=\"disabled()\"\n class=\"layout-row place-start-center nav-link\"\n [ngClass]=\"navLinkClasses()\"\n routerLinkActive=\"dummy\"\n [routerLink]=\"routerLink()\"\n [queryParamsHandling]=\"queryParamsHandling()\"\n [queryParams]=\"queryParams()\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n}\n<!-- Href Link -->\n@if (href()) {\n <a\n matRipple\n [matRippleDisabled]=\"disabled()\"\n class=\"layout-row place-start-center nav-link\"\n [ngClass]=\"navLinkClasses()\"\n routerLinkActive=\"dummy\"\n [href]=\"href()\"\n [target]=\"target()\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n}\n<!-- Simple Button -->\n@if (!href() && !routerLink()) {\n <a\n matRipple\n [matRippleDisabled]=\"disabled()\"\n class=\"layout-row place-start-center nav-link\"\n [ngClass]=\"navLinkClasses()\"\n routerLinkActive=\"dummy\"\n (click)=\"onItemClicked($event)\"\n (keydown)=\"onItemKeyDown($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"defaultLinkTemplate\"></ng-container>\n </a>\n}\n\n<ng-template #defaultLinkTemplate>\n <div class=\"nav-link-content layout-row place-start-center flex gap-md noselect\">\n @if (title() || icon() || fontIcon()) {\n <mat-icon [fontIcon]=\"fontIcon()\" [fontSet]=\"fontSet()\">\n {{ icon() }}\n </mat-icon>\n }\n @if (svgIcon()) {\n <mat-icon [svgIcon]=\"svgIcon()\"></mat-icon>\n }\n @if (title()) {\n <span class=\"noselect\">\n {{ title() | translate }}\n </span>\n }\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".nav-link{text-decoration:none;padding-left:16px;padding-right:16px;min-height:var(--elder-nav-item-height);border-radius:var(--elder-border-radius-sm);overflow:hidden;transition:background-color .5s,color .5s}.nav-link .mat-icon{height:32px;width:32px;font-size:24px;padding:4px}.nav-link.nav-link-clickable{cursor:pointer}.nav-link.nav-link-clickable:hover{background-color:var(--elder-nav-link-hover-color)}.nav-link.nav-link-disabled{cursor:default}.nav-link.nav-link-active{background-color:var(--elder-nav-link-active-color);color:var(--md-sys-color-primary)}.nav-link.nav-link-active .mat-icon{color:var(--md-sys-color-on-teriary)}.nav-link.nav-link-inactive,.nav-link.nav-link-inactive .mat-icon{color:var(--md-sys-color-on-surface)}\n"] }]
|
|
@@ -28867,7 +28901,6 @@ class ElderNavModule {
|
|
|
28867
28901
|
MatIconModule,
|
|
28868
28902
|
MatButtonModule,
|
|
28869
28903
|
A11yModule,
|
|
28870
|
-
TranslateModule,
|
|
28871
28904
|
MatListModule,
|
|
28872
28905
|
MatRippleModule,
|
|
28873
28906
|
ElderNavListComponent,
|
|
@@ -28878,7 +28911,6 @@ class ElderNavModule {
|
|
|
28878
28911
|
MatIconModule,
|
|
28879
28912
|
MatButtonModule,
|
|
28880
28913
|
A11yModule,
|
|
28881
|
-
TranslateModule,
|
|
28882
28914
|
MatListModule,
|
|
28883
28915
|
MatRippleModule,
|
|
28884
28916
|
ElderNavLinkComponent,
|
|
@@ -28894,7 +28926,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
28894
28926
|
MatIconModule,
|
|
28895
28927
|
MatButtonModule,
|
|
28896
28928
|
A11yModule,
|
|
28897
|
-
TranslateModule,
|
|
28898
28929
|
MatListModule,
|
|
28899
28930
|
MatRippleModule,
|
|
28900
28931
|
ElderNavListComponent,
|
|
@@ -29064,7 +29095,7 @@ class ElderBreadCrumbsComponent {
|
|
|
29064
29095
|
return nodes;
|
|
29065
29096
|
}
|
|
29066
29097
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderBreadCrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29067
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderBreadCrumbsComponent, isStandalone: true, selector: "elder-bread-crumbs", inputs: { root: "root", rootTranslation: "rootTranslation", rootIcon: "rootIcon", backgroundColor: "backgroundColor", editModeEnabled: "editModeEnabled", path: "path" }, outputs: { pathChange: "pathChange" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<!-- main container-->\n@if ({ enabled: editMode$ | async }; as editMode) {\n <div\n class=\"layout-row place-start-center full breadcrumb-bar\"\n [style.background-color]=\"backgroundColor\"\n >\n <!-- path container -->\n <form\n #breadCrumbForm=\"ngForm\"\n class=\"layout-row place-start-center flex breadcrumb-path\"\n (click)=\"enableEditMode()\"\n >\n <!-- path edit control (if editMode:enabled) -->\n @if (editMode.enabled) {\n <mat-form-field class=\"flex\" elderDense>\n {{ pathInput.focus() }}\n <input\n matInput\n type=\"text\"\n name=\"pathInput\"\n #pathInput\n [ngModel]=\"path\"\n (ngModelChange)=\"onPathInputChange($event)\"\n (blur)=\"onPathEditBlur($event)\"\n elderKeyEvent\n [elderKeyEventFilter]=\"'Enter'\"\n (onElderKeyEvent)=\"onEnter()\"\n />\n </mat-form-field>\n }\n <!-- navigation control (if editMode:disabled) -->\n @if (!editMode.enabled) {\n @for (node of nodes$ | async; track node; let isFirst = $first; let isLast = $last) {\n <div class=\"layout-row place-center-center flex-none\">\n <!-- arrow right icon as path element delimiter -->\n @if (!isFirst) {\n <mat-icon class=\"noselect breadcrumb-arrow\">keyboard_arrow_right</mat-icon>\n }\n <!-- root element (case root icon) -->\n @if (isFirst && rootIcon) {\n <a\n mat-icon-button\n class=\"breadcrumb\"\n (click)=\"goToPath(node)\"\n elderStopEventPropagation\n >\n <mat-icon>{{ rootIcon }}</mat-icon>\n </a>\n }\n <!-- intermediate elements (not last and (not first or root icon)) -->\n @if (!isLast && (!isFirst || !rootIcon)) {\n <a mat-button class=\"breadcrumb\" (click)=\"goToPath(node)\" elderStopEventPropagation>\n <span>{{ node.name }}</span>\n </a>\n }\n <!-- last element (is last and (not first or root icon)) -->\n @if (isLast && (!isFirst || !rootIcon)) {\n <a mat-button class=\"breadcrumb\" (click)=\"(null)\" elderStopEventPropagation>\n {{ node.name }}\n <mat-icon>arrow_drop_down</mat-icon>\n </a>\n }\n </div>\n }\n }\n </form>\n <!-- bread crumb action menu button -->\n <button mat-icon-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n <mat-icon style=\"font-size: 22px\">arrow_drop_down</mat-icon>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item type=\"button\" [elderClipboardPut]=\"path\">\n <mat-icon>content_copy</mat-icon>\n <span>{{ 'Pfad kopieren' }}</span>\n </button>\n <button\n mat-menu-item\n type=\"button\"\n (click)=\"onMenuEditPathClick($event)\"\n elderStopEventPropagation\n >\n @if (!editMode.enabled) {\n <mat-icon>edit</mat-icon>\n }\n @if (editMode.enabled) {\n <mat-icon>done</mat-icon>\n }\n @if (!editMode.enabled) {\n <span>{{ 'Pfad editieren' }}</span>\n }\n @if (editMode.enabled) {\n <span>{{ 'Pfad best\u00E4tigen' }}</span>\n }\n </button>\n </mat-menu>\n </button>\n </div>\n}\n", styles: [".breadcrumb-bar{padding-top:4px;padding-bottom:4px}.breadcrumb-path{padding:0 8px}.breadcrumb{padding-left:4px;padding-right:4px;font-size:18px;font-weight:400}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$
|
|
29098
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderBreadCrumbsComponent, isStandalone: true, selector: "elder-bread-crumbs", inputs: { root: "root", rootTranslation: "rootTranslation", rootIcon: "rootIcon", backgroundColor: "backgroundColor", editModeEnabled: "editModeEnabled", path: "path" }, outputs: { pathChange: "pathChange" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<!-- main container-->\n@if ({ enabled: editMode$ | async }; as editMode) {\n <div\n class=\"layout-row place-start-center full breadcrumb-bar\"\n [style.background-color]=\"backgroundColor\"\n >\n <!-- path container -->\n <form\n #breadCrumbForm=\"ngForm\"\n class=\"layout-row place-start-center flex breadcrumb-path\"\n (click)=\"enableEditMode()\"\n >\n <!-- path edit control (if editMode:enabled) -->\n @if (editMode.enabled) {\n <mat-form-field class=\"flex\" elderDense>\n {{ pathInput.focus() }}\n <input\n matInput\n type=\"text\"\n name=\"pathInput\"\n #pathInput\n [ngModel]=\"path\"\n (ngModelChange)=\"onPathInputChange($event)\"\n (blur)=\"onPathEditBlur($event)\"\n elderKeyEvent\n [elderKeyEventFilter]=\"'Enter'\"\n (onElderKeyEvent)=\"onEnter()\"\n />\n </mat-form-field>\n }\n <!-- navigation control (if editMode:disabled) -->\n @if (!editMode.enabled) {\n @for (node of nodes$ | async; track node; let isFirst = $first; let isLast = $last) {\n <div class=\"layout-row place-center-center flex-none\">\n <!-- arrow right icon as path element delimiter -->\n @if (!isFirst) {\n <mat-icon class=\"noselect breadcrumb-arrow\">keyboard_arrow_right</mat-icon>\n }\n <!-- root element (case root icon) -->\n @if (isFirst && rootIcon) {\n <a\n mat-icon-button\n class=\"breadcrumb\"\n (click)=\"goToPath(node)\"\n elderStopEventPropagation\n >\n <mat-icon>{{ rootIcon }}</mat-icon>\n </a>\n }\n <!-- intermediate elements (not last and (not first or root icon)) -->\n @if (!isLast && (!isFirst || !rootIcon)) {\n <a mat-button class=\"breadcrumb\" (click)=\"goToPath(node)\" elderStopEventPropagation>\n <span>{{ node.name }}</span>\n </a>\n }\n <!-- last element (is last and (not first or root icon)) -->\n @if (isLast && (!isFirst || !rootIcon)) {\n <a mat-button class=\"breadcrumb\" (click)=\"(null)\" elderStopEventPropagation>\n {{ node.name }}\n <mat-icon>arrow_drop_down</mat-icon>\n </a>\n }\n </div>\n }\n }\n </form>\n <!-- bread crumb action menu button -->\n <button mat-icon-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n <mat-icon style=\"font-size: 22px\">arrow_drop_down</mat-icon>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item type=\"button\" [elderClipboardPut]=\"path\">\n <mat-icon>content_copy</mat-icon>\n <span>{{ 'Pfad kopieren' }}</span>\n </button>\n <button\n mat-menu-item\n type=\"button\"\n (click)=\"onMenuEditPathClick($event)\"\n elderStopEventPropagation\n >\n @if (!editMode.enabled) {\n <mat-icon>edit</mat-icon>\n }\n @if (editMode.enabled) {\n <mat-icon>done</mat-icon>\n }\n @if (!editMode.enabled) {\n <span>{{ 'Pfad editieren' }}</span>\n }\n @if (editMode.enabled) {\n <span>{{ 'Pfad best\u00E4tigen' }}</span>\n }\n </button>\n </mat-menu>\n </button>\n </div>\n}\n", styles: [".breadcrumb-bar{padding-top:4px;padding-bottom:4px}.breadcrumb-path{padding:0 8px}.breadcrumb{padding-left:4px;padding-right:4px;font-size:18px;font-weight:400}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: 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: ElderKeyEventDirective, selector: "[elderKeyEvent]", inputs: ["elderKeyEventFilter", "elderKeyEventDown", "elderKeyEventChildren", "elderKeyEventCallback"], outputs: ["onElderKeyEvent"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconAnchor, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: MatAnchor, 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: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: ElderClipboardPutDirective, selector: "[elderClipboardPut]", inputs: ["elderClipboardPut"], outputs: ["clipboardCopied"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29068
29099
|
}
|
|
29069
29100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderBreadCrumbsComponent, decorators: [{
|
|
29070
29101
|
type: Component,
|
|
@@ -29109,7 +29140,6 @@ class ElderBreadCrumbsModule {
|
|
|
29109
29140
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: ElderBreadCrumbsModule, imports: [CommonModule,
|
|
29110
29141
|
FormsModule,
|
|
29111
29142
|
ReactiveFormsModule,
|
|
29112
|
-
TranslateModule,
|
|
29113
29143
|
MatFormFieldModule,
|
|
29114
29144
|
MatIconModule,
|
|
29115
29145
|
MatButtonModule,
|
|
@@ -29120,7 +29150,6 @@ class ElderBreadCrumbsModule {
|
|
|
29120
29150
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderBreadCrumbsModule, imports: [CommonModule,
|
|
29121
29151
|
FormsModule,
|
|
29122
29152
|
ReactiveFormsModule,
|
|
29123
|
-
TranslateModule,
|
|
29124
29153
|
MatFormFieldModule,
|
|
29125
29154
|
MatIconModule,
|
|
29126
29155
|
MatButtonModule,
|
|
@@ -29136,7 +29165,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
29136
29165
|
CommonModule,
|
|
29137
29166
|
FormsModule,
|
|
29138
29167
|
ReactiveFormsModule,
|
|
29139
|
-
TranslateModule,
|
|
29140
29168
|
MatFormFieldModule,
|
|
29141
29169
|
MatIconModule,
|
|
29142
29170
|
MatButtonModule,
|
|
@@ -29305,7 +29333,7 @@ class ElderRouterOutletService {
|
|
|
29305
29333
|
this.collectActiveOutletsRecursive(c, outlets);
|
|
29306
29334
|
}
|
|
29307
29335
|
}
|
|
29308
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderRouterOutletService, deps: [{ token: i1$
|
|
29336
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderRouterOutletService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29309
29337
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderRouterOutletService, providedIn: 'root' }); }
|
|
29310
29338
|
}
|
|
29311
29339
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderRouterOutletService, decorators: [{
|
|
@@ -29313,7 +29341,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
29313
29341
|
args: [{
|
|
29314
29342
|
providedIn: 'root',
|
|
29315
29343
|
}]
|
|
29316
|
-
}], ctorParameters: () => [{ type: i1$
|
|
29344
|
+
}], ctorParameters: () => [{ type: i1$2.Router }] });
|
|
29317
29345
|
|
|
29318
29346
|
/**
|
|
29319
29347
|
* This service manages the side content.
|
|
@@ -29484,7 +29512,7 @@ class ElderShellService {
|
|
|
29484
29512
|
this.clickOutsideToClose = clickOutsideToClose;
|
|
29485
29513
|
return this.routerOutletService.activate(this.detailContentOutlet, args, extras);
|
|
29486
29514
|
}
|
|
29487
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderShellService, deps: [{ token: i1$
|
|
29515
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderShellService, deps: [{ token: i1$2.Router }, { token: ElderRouterOutletService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29488
29516
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderShellService, providedIn: 'root' }); }
|
|
29489
29517
|
}
|
|
29490
29518
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderShellService, decorators: [{
|
|
@@ -29492,7 +29520,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
29492
29520
|
args: [{
|
|
29493
29521
|
providedIn: 'root',
|
|
29494
29522
|
}]
|
|
29495
|
-
}], ctorParameters: () => [{ type: i1$
|
|
29523
|
+
}], ctorParameters: () => [{ type: i1$2.Router }, { type: ElderRouterOutletService }] });
|
|
29496
29524
|
|
|
29497
29525
|
class ElderRouteOutletDrawerService {
|
|
29498
29526
|
/***************************************************************************
|
|
@@ -29922,13 +29950,13 @@ class ElderShellNavigationToggleComponent {
|
|
|
29922
29950
|
parts.splice(parts.length - 1, 1);
|
|
29923
29951
|
return parts.join('/');
|
|
29924
29952
|
}
|
|
29925
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderShellNavigationToggleComponent, deps: [{ token: i1$
|
|
29953
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderShellNavigationToggleComponent, deps: [{ token: i1$2.Router }, { token: ElderShellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29926
29954
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderShellNavigationToggleComponent, isStandalone: true, selector: "elder-shell-nav-toggle", inputs: { roots: { classPropertyName: "roots", publicName: "roots", isSignal: true, isRequired: false, transformFunction: null }, hide: { classPropertyName: "hide", publicName: "hide", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (showComponent()) {\n <button mat-icon-button type=\"button\" (click)=\"onClick()\">\n <mat-icon>{{ icon() }}</mat-icon>\n </button>\n}\n", styles: [""], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29927
29955
|
}
|
|
29928
29956
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderShellNavigationToggleComponent, decorators: [{
|
|
29929
29957
|
type: Component,
|
|
29930
29958
|
args: [{ selector: 'elder-shell-nav-toggle', imports: [MatIconButton, MatIcon], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (showComponent()) {\n <button mat-icon-button type=\"button\" (click)=\"onClick()\">\n <mat-icon>{{ icon() }}</mat-icon>\n </button>\n}\n" }]
|
|
29931
|
-
}], ctorParameters: () => [{ type: i1$
|
|
29959
|
+
}], ctorParameters: () => [{ type: i1$2.Router }, { type: ElderShellService }], propDecorators: { roots: [{ type: i0.Input, args: [{ isSignal: true, alias: "roots", required: false }] }], hide: [{ type: i0.Input, args: [{ isSignal: true, alias: "hide", required: false }] }] } });
|
|
29932
29960
|
|
|
29933
29961
|
class ElderShellSlotDirective {
|
|
29934
29962
|
/***************************************************************************
|
|
@@ -30003,11 +30031,11 @@ class ElderStaticNavToggleComponent {
|
|
|
30003
30031
|
this.shellService.toggleStaticNav();
|
|
30004
30032
|
}
|
|
30005
30033
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderStaticNavToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30006
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderStaticNavToggleComponent, isStandalone: true, selector: "elder-static-nav-toggle", ngImport: i0, template: "<div class=\"layout-row place-start-center\">\n <mat-slide-toggle\n [ngModel]=\"staticNavOpen()\"\n (ngModelChange)=\"onToggle($event)\"\n [color]=\"'primary'\"\n ></mat-slide-toggle>\n <mat-icon fontSet=\"material-symbols-outlined\">side_navigation</mat-icon>\n <span class=\"text-body-small ml-xs\">{{ 'static_nav.toggle_static_nav' | translate }}</span>\n</div>\n", dependencies: [{ 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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$
|
|
30034
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderStaticNavToggleComponent, isStandalone: true, selector: "elder-static-nav-toggle", ngImport: i0, template: "<div class=\"layout-row place-start-center\">\n <mat-slide-toggle\n [ngModel]=\"staticNavOpen()\"\n (ngModelChange)=\"onToggle($event)\"\n [color]=\"'primary'\"\n ></mat-slide-toggle>\n <mat-icon fontSet=\"material-symbols-outlined\">side_navigation</mat-icon>\n <span class=\"text-body-small ml-xs\">{{ 'static_nav.toggle_static_nav' | translate }}</span>\n</div>\n", dependencies: [{ 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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30007
30035
|
}
|
|
30008
30036
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderStaticNavToggleComponent, decorators: [{
|
|
30009
30037
|
type: Component,
|
|
30010
|
-
args: [{ selector: 'elder-static-nav-toggle', imports: [MatSlideToggle, FormsModule,
|
|
30038
|
+
args: [{ selector: 'elder-static-nav-toggle', imports: [MatSlideToggle, FormsModule, ElderTranslatePipe, MatIcon], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-row place-start-center\">\n <mat-slide-toggle\n [ngModel]=\"staticNavOpen()\"\n (ngModelChange)=\"onToggle($event)\"\n [color]=\"'primary'\"\n ></mat-slide-toggle>\n <mat-icon fontSet=\"material-symbols-outlined\">side_navigation</mat-icon>\n <span class=\"text-body-small ml-xs\">{{ 'static_nav.toggle_static_nav' | translate }}</span>\n</div>\n" }]
|
|
30011
30039
|
}] });
|
|
30012
30040
|
|
|
30013
30041
|
class ElderAppearanceSettingsComponent {
|
|
@@ -30095,7 +30123,6 @@ class ElderShellModule {
|
|
|
30095
30123
|
ElderToolbarModule,
|
|
30096
30124
|
ElderPanelModule,
|
|
30097
30125
|
ElderThemeModule,
|
|
30098
|
-
TranslateModule,
|
|
30099
30126
|
ElderShellComponent,
|
|
30100
30127
|
ElderShellSideLeftDirective,
|
|
30101
30128
|
ElderShellSideRightDirective,
|
|
@@ -30123,7 +30150,6 @@ class ElderShellModule {
|
|
|
30123
30150
|
ElderToolbarModule,
|
|
30124
30151
|
ElderPanelModule,
|
|
30125
30152
|
ElderThemeModule,
|
|
30126
|
-
TranslateModule,
|
|
30127
30153
|
ElderShellComponent,
|
|
30128
30154
|
ElderShellNavigationToggleComponent,
|
|
30129
30155
|
ElderAppHeaderComponent,
|
|
@@ -30144,7 +30170,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
30144
30170
|
ElderToolbarModule,
|
|
30145
30171
|
ElderPanelModule,
|
|
30146
30172
|
ElderThemeModule,
|
|
30147
|
-
TranslateModule,
|
|
30148
30173
|
ElderShellComponent,
|
|
30149
30174
|
ElderShellSideLeftDirective,
|
|
30150
30175
|
ElderShellSideRightDirective,
|
|
@@ -30637,7 +30662,7 @@ class ElderLocalDateInputComponent extends ElderFormFieldControlBase {
|
|
|
30637
30662
|
return a && b ? a.equals(b) : a === b;
|
|
30638
30663
|
}
|
|
30639
30664
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalDateInputComponent, deps: [{ token: SmartLocalDateParserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30640
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLocalDateInputComponent, isStandalone: true, selector: "elder-local-date-input", inputs: { zone: "zone", autoDatePicker: "autoDatePicker", arrows: "arrows", today: "today", center: "center", datePickerTouchUi: "datePickerTouchUi", allowNull: "allowNull", datePickerEnabled: "datePickerEnabled", isoValue: "isoValue", dateValue: "dateValue", isoDateValue: "isoDateValue" }, outputs: { blurred: "blurred", valueUpdatedBlur: "valueUpdatedBlur", isoValueChange: "isoValueChange", dateValueChange: "dateValueChange", isoDateValueChange: "isoDateValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalDateInputComponent }], viewQueries: [{ propertyName: "picker", first: true, predicate: MatDatepicker, descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center elder-flex-control\">\n @if (arrows) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"previousDay()\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n }\n\n <input\n matInput\n elderNoSpinner\n class=\"flex elder-mdc-input-fix elder-local-date-input\"\n #input\n type=\"date\"\n elderToggleTextInput\n [name]=\"controlName + '-inner-input'\"\n [required]=\"!!required\"\n [readonly]=\"readonly || autoDatePicker\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"date$ | async | date: 'yyyy-MM-dd'\"\n (ngModelChange)=\"onDateInputChanged($event)\"\n (blur)=\"blurred.next($event)\"\n [class.elder-auto-date-picker]=\"autoDatePicker\"\n [class.noselect]=\"autoDatePicker\"\n [class.center]=\"center || arrows\"\n (click)=\"onDateInputClicked($event)\"\n />\n <input\n style=\"display: none\"\n [matDatepicker]=\"picker\"\n (dateChange)=\"onDatepickerInputChange($event)\"\n />\n\n @if (arrows) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"nextDay()\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n }\n\n @if (today) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n style=\"margin-left: 4px\"\n [disabled]=\"isLocked\"\n (click)=\"currentDay()\"\n >\n <mat-icon>today</mat-icon>\n </button>\n }\n\n @if (datePickerEnabled && (!allowNull || (value$ | async) === null)) {\n <mat-datepicker-toggle class=\"elder-control-icon-button\" [disabled]=\"isLocked\" [for]=\"picker\">\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n }\n\n @if (allowNull && (value$ | async)) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n <mat-datepicker [touchUi]=\"datePickerTouchUi\" #picker></mat-datepicker>\n</div>\n", styles: ["input::-webkit-calendar-picker-indicator{display:none}.elder-auto-date-picker{cursor:pointer}.elder-local-date-input.center{text-align:center}\n"], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: 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: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$
|
|
30665
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLocalDateInputComponent, isStandalone: true, selector: "elder-local-date-input", inputs: { zone: "zone", autoDatePicker: "autoDatePicker", arrows: "arrows", today: "today", center: "center", datePickerTouchUi: "datePickerTouchUi", allowNull: "allowNull", datePickerEnabled: "datePickerEnabled", isoValue: "isoValue", dateValue: "dateValue", isoDateValue: "isoDateValue" }, outputs: { blurred: "blurred", valueUpdatedBlur: "valueUpdatedBlur", isoValueChange: "isoValueChange", dateValueChange: "dateValueChange", isoDateValueChange: "isoDateValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalDateInputComponent }], viewQueries: [{ propertyName: "picker", first: true, predicate: MatDatepicker, descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center elder-flex-control\">\n @if (arrows) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"previousDay()\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n }\n\n <input\n matInput\n elderNoSpinner\n class=\"flex elder-mdc-input-fix elder-local-date-input\"\n #input\n type=\"date\"\n elderToggleTextInput\n [name]=\"controlName + '-inner-input'\"\n [required]=\"!!required\"\n [readonly]=\"readonly || autoDatePicker\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"date$ | async | date: 'yyyy-MM-dd'\"\n (ngModelChange)=\"onDateInputChanged($event)\"\n (blur)=\"blurred.next($event)\"\n [class.elder-auto-date-picker]=\"autoDatePicker\"\n [class.noselect]=\"autoDatePicker\"\n [class.center]=\"center || arrows\"\n (click)=\"onDateInputClicked($event)\"\n />\n <input\n style=\"display: none\"\n [matDatepicker]=\"picker\"\n (dateChange)=\"onDatepickerInputChange($event)\"\n />\n\n @if (arrows) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"nextDay()\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n }\n\n @if (today) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n style=\"margin-left: 4px\"\n [disabled]=\"isLocked\"\n (click)=\"currentDay()\"\n >\n <mat-icon>today</mat-icon>\n </button>\n }\n\n @if (datePickerEnabled && (!allowNull || (value$ | async) === null)) {\n <mat-datepicker-toggle class=\"elder-control-icon-button\" [disabled]=\"isLocked\" [for]=\"picker\">\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n }\n\n @if (allowNull && (value$ | async)) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n <mat-datepicker [touchUi]=\"datePickerTouchUi\" #picker></mat-datepicker>\n</div>\n", styles: ["input::-webkit-calendar-picker-indicator{display:none}.elder-auto-date-picker{cursor:pointer}.elder-local-date-input.center{text-align:center}\n"], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: 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: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: ElderToggleTextInputDirective, selector: "input[elderToggleTextInput]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30641
30666
|
}
|
|
30642
30667
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalDateInputComponent, decorators: [{
|
|
30643
30668
|
type: Component,
|
|
@@ -30654,7 +30679,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
30654
30679
|
MatDatepicker,
|
|
30655
30680
|
AsyncPipe,
|
|
30656
30681
|
DatePipe,
|
|
30657
|
-
|
|
30682
|
+
ElderTranslatePipe,
|
|
30658
30683
|
ElderToggleTextInputDirective,
|
|
30659
30684
|
], template: "<div class=\"layout-row place-start-center elder-flex-control\">\n @if (arrows) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"previousDay()\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n }\n\n <input\n matInput\n elderNoSpinner\n class=\"flex elder-mdc-input-fix elder-local-date-input\"\n #input\n type=\"date\"\n elderToggleTextInput\n [name]=\"controlName + '-inner-input'\"\n [required]=\"!!required\"\n [readonly]=\"readonly || autoDatePicker\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"date$ | async | date: 'yyyy-MM-dd'\"\n (ngModelChange)=\"onDateInputChanged($event)\"\n (blur)=\"blurred.next($event)\"\n [class.elder-auto-date-picker]=\"autoDatePicker\"\n [class.noselect]=\"autoDatePicker\"\n [class.center]=\"center || arrows\"\n (click)=\"onDateInputClicked($event)\"\n />\n <input\n style=\"display: none\"\n [matDatepicker]=\"picker\"\n (dateChange)=\"onDatepickerInputChange($event)\"\n />\n\n @if (arrows) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"nextDay()\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n }\n\n @if (today) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n style=\"margin-left: 4px\"\n [disabled]=\"isLocked\"\n (click)=\"currentDay()\"\n >\n <mat-icon>today</mat-icon>\n </button>\n }\n\n @if (datePickerEnabled && (!allowNull || (value$ | async) === null)) {\n <mat-datepicker-toggle class=\"elder-control-icon-button\" [disabled]=\"isLocked\" [for]=\"picker\">\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n }\n\n @if (allowNull && (value$ | async)) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n <mat-datepicker [touchUi]=\"datePickerTouchUi\" #picker></mat-datepicker>\n</div>\n", styles: ["input::-webkit-calendar-picker-indicator{display:none}.elder-auto-date-picker{cursor:pointer}.elder-local-date-input.center{text-align:center}\n"] }]
|
|
30660
30685
|
}], ctorParameters: () => [{ type: SmartLocalDateParserService }], propDecorators: { zone: [{
|
|
@@ -30753,7 +30778,7 @@ class ElderDateSwitcherComponent extends FormFieldBaseComponent {
|
|
|
30753
30778
|
return a && b ? a.equals(b) : a === b;
|
|
30754
30779
|
}
|
|
30755
30780
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDateSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30756
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderDateSwitcherComponent, isStandalone: true, selector: "elder-date-switcher", inputs: { datePickerEnabled: "datePickerEnabled", datePickerTouchUi: "datePickerTouchUi", dense: "dense", date: "date" }, outputs: { dateChange: "dateChange" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderDateSwitcherComponent), usesInheritance: true, ngImport: i0, template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"flex full\" [elderDense]=\"dense\">\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n <elder-local-date-input\n arrows\n today\n autoDatePicker\n datePickerTouchUi\n [datePickerEnabled]=\"false\"\n [datePickerTouchUi]=\"datePickerTouchUi\"\n [value]=\"value$ | async\"\n (valueUpdated)=\"updateValue($event)\"\n >\n </elder-local-date-input>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: ["zone", "autoDatePicker", "arrows", "today", "center", "datePickerTouchUi", "allowNull", "datePickerEnabled", "isoValue", "dateValue", "isoDateValue"], outputs: ["blurred", "valueUpdatedBlur", "isoValueChange", "dateValueChange", "isoDateValueChange"] }, { kind: "
|
|
30781
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderDateSwitcherComponent, isStandalone: true, selector: "elder-date-switcher", inputs: { datePickerEnabled: "datePickerEnabled", datePickerTouchUi: "datePickerTouchUi", dense: "dense", date: "date" }, outputs: { dateChange: "dateChange" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderDateSwitcherComponent), usesInheritance: true, ngImport: i0, template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"flex full\" [elderDense]=\"dense\">\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n <elder-local-date-input\n arrows\n today\n autoDatePicker\n datePickerTouchUi\n [datePickerEnabled]=\"false\"\n [datePickerTouchUi]=\"datePickerTouchUi\"\n [value]=\"value$ | async\"\n (valueUpdated)=\"updateValue($event)\"\n >\n </elder-local-date-input>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: ["zone", "autoDatePicker", "arrows", "today", "center", "datePickerTouchUi", "allowNull", "datePickerEnabled", "isoValue", "dateValue", "isoDateValue"], outputs: ["blurred", "valueUpdatedBlur", "isoValueChange", "dateValueChange", "isoDateValueChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], viewProviders: [ViewProviders.ParentControlContainer], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30757
30782
|
}
|
|
30758
30783
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDateSwitcherComponent, decorators: [{
|
|
30759
30784
|
type: Component,
|
|
@@ -30763,7 +30788,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
30763
30788
|
MatLabel,
|
|
30764
30789
|
ElderLocalDateInputComponent,
|
|
30765
30790
|
AsyncPipe,
|
|
30766
|
-
|
|
30791
|
+
ElderTranslatePipe,
|
|
30767
30792
|
], template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"flex full\" [elderDense]=\"dense\">\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n <elder-local-date-input\n arrows\n today\n autoDatePicker\n datePickerTouchUi\n [datePickerEnabled]=\"false\"\n [datePickerTouchUi]=\"datePickerTouchUi\"\n [value]=\"value$ | async\"\n (valueUpdated)=\"updateValue($event)\"\n >\n </elder-local-date-input>\n</mat-form-field>\n" }]
|
|
30768
30793
|
}], ctorParameters: () => [], propDecorators: { datePickerEnabled: [{
|
|
30769
30794
|
type: Input
|
|
@@ -30835,11 +30860,11 @@ class ElderLocalTimeInputComponent extends ElderFormFieldControlBase {
|
|
|
30835
30860
|
return a && b ? a.equals(b) : a === b;
|
|
30836
30861
|
}
|
|
30837
30862
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalTimeInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30838
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderLocalTimeInputComponent, isStandalone: true, selector: "elder-local-time-input", inputs: { isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix\"\n #input\n [name]=\"controlName + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n type=\"time\"\n elderToggleTextInput\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"hourMinuteStr$ | async\"\n (ngModelChange)=\"onHourMinuteChanged($event)\"\n />\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$
|
|
30863
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderLocalTimeInputComponent, isStandalone: true, selector: "elder-local-time-input", inputs: { isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix\"\n #input\n [name]=\"controlName + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n type=\"time\"\n elderToggleTextInput\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"hourMinuteStr$ | async\"\n (ngModelChange)=\"onHourMinuteChanged($event)\"\n />\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderToggleTextInputDirective, selector: "input[elderToggleTextInput]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30839
30864
|
}
|
|
30840
30865
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalTimeInputComponent, decorators: [{
|
|
30841
30866
|
type: Component,
|
|
30842
|
-
args: [{ selector: 'elder-local-time-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent }], imports: [MatInput, FormsModule, AsyncPipe,
|
|
30867
|
+
args: [{ selector: 'elder-local-time-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent }], imports: [MatInput, FormsModule, AsyncPipe, ElderTranslatePipe, ElderToggleTextInputDirective], template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix\"\n #input\n [name]=\"controlName + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n type=\"time\"\n elderToggleTextInput\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"hourMinuteStr$ | async\"\n (ngModelChange)=\"onHourMinuteChanged($event)\"\n />\n</div>\n" }]
|
|
30843
30868
|
}], ctorParameters: () => [], propDecorators: { inputRef: [{
|
|
30844
30869
|
type: ViewChild,
|
|
30845
30870
|
args: ['input']
|
|
@@ -30915,7 +30940,7 @@ class ElderDateTimeInputComponent extends ElderFormFieldControlBase {
|
|
|
30915
30940
|
return a && b ? a.equals(b) : a === b;
|
|
30916
30941
|
}
|
|
30917
30942
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDateTimeInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30918
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderDateTimeInputComponent, isStandalone: true, selector: "elder-date-time-input", inputs: { center: "center", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\"\n #input\n [name]=\"controlName + '-inner-input'\"\n type=\"datetime-local\"\n elderToggleTextInput\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"valueDate$ | async | date: 'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n />\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$
|
|
30943
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.6", type: ElderDateTimeInputComponent, isStandalone: true, selector: "elder-date-time-input", inputs: { center: "center", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\"\n #input\n [name]=\"controlName + '-inner-input'\"\n type=\"datetime-local\"\n elderToggleTextInput\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"valueDate$ | async | date: 'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n />\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderToggleTextInputDirective, selector: "input[elderToggleTextInput]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30919
30944
|
}
|
|
30920
30945
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDateTimeInputComponent, decorators: [{
|
|
30921
30946
|
type: Component,
|
|
@@ -30924,7 +30949,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
30924
30949
|
FormsModule,
|
|
30925
30950
|
AsyncPipe,
|
|
30926
30951
|
DatePipe,
|
|
30927
|
-
|
|
30952
|
+
ElderTranslatePipe,
|
|
30928
30953
|
ElderToggleTextInputDirective,
|
|
30929
30954
|
], template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\"\n #input\n [name]=\"controlName + '-inner-input'\"\n type=\"datetime-local\"\n elderToggleTextInput\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"valueDate$ | async | date: 'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n />\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"] }]
|
|
30930
30955
|
}], ctorParameters: () => [], propDecorators: { inputRef: [{
|
|
@@ -31092,13 +31117,13 @@ class ElderIntervalInputComponent extends ElderFormFieldControlBase {
|
|
|
31092
31117
|
}
|
|
31093
31118
|
}
|
|
31094
31119
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderIntervalInputComponent, deps: [{ token: i1$d.DateAdapter }, { token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31095
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderIntervalInputComponent, isStandalone: true, selector: "elder-interval-input", inputs: { zone: "zone", valueAsIsoStr: "valueAsIsoStr", mode: "mode", isDefaultDatePickerDisabled: "isDefaultDatePickerDisabled", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderIntervalInputComponent }], usesInheritance: true, ngImport: i0, template: "@switch (mode) {\n @case ('date-time-range') {\n <div class=\"layout-row\">\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n <span class=\"mat-date-range-input-separator flex-none\">\u2013</span>\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.end\"\n (valueUpdated)=\"onEndChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-date-time-input>\n </div>\n }\n @case ('day-time-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <!-- [name]=\"name + '-day-start'\" -->\n <elder-date-time-input\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onDayTimeStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n\n <!-- [name]=\"name + '-day-end'\" -->\n <elder-local-time-input\n [value]=\"endTime$ | async\"\n (valueUpdated)=\"onDayTimeEndTimeChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-local-time-input>\n </div>\n }\n\n @case ('date-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <mat-date-range-input\n class=\"mdc-text-field__input\"\n [rangePicker]=\"picker\"\n [disabled]=\"!!disabled\"\n >\n <input\n matStartDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"startDate$ | async\"\n name=\"date-range.start\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onStartDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n <input\n matEndDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"endDate$ | async\"\n name=\"date-range.end\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onEndDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n </mat-date-range-input>\n\n @if (!isDefaultDatePickerDisabled) {\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n }\n <mat-date-range-picker #picker></mat-date-range-picker>\n </div>\n }\n\n @case ('single-day') {\n <div class=\"layout-row elder-flex-control\">\n <!-- [name]=\"name\" -->\n <elder-local-date-input\n class=\"flex\"\n center\n [value]=\"startLocalDate$ | async\"\n (valueUpdated)=\"onSingleDayDateChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeHolderOrEmpty() | translate\"\n ></elder-local-date-input>\n </div>\n }\n}\n", styles: [".elder-flex-interval-control{flex:1 1 auto;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
31120
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderIntervalInputComponent, isStandalone: true, selector: "elder-interval-input", inputs: { zone: "zone", valueAsIsoStr: "valueAsIsoStr", mode: "mode", isDefaultDatePickerDisabled: "isDefaultDatePickerDisabled", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderIntervalInputComponent }], usesInheritance: true, ngImport: i0, template: "@switch (mode) {\n @case ('date-time-range') {\n <div class=\"layout-row\">\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n <span class=\"mat-date-range-input-separator flex-none\">\u2013</span>\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.end\"\n (valueUpdated)=\"onEndChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-date-time-input>\n </div>\n }\n @case ('day-time-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <!-- [name]=\"name + '-day-start'\" -->\n <elder-date-time-input\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onDayTimeStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n\n <!-- [name]=\"name + '-day-end'\" -->\n <elder-local-time-input\n [value]=\"endTime$ | async\"\n (valueUpdated)=\"onDayTimeEndTimeChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-local-time-input>\n </div>\n }\n\n @case ('date-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <mat-date-range-input\n class=\"mdc-text-field__input\"\n [rangePicker]=\"picker\"\n [disabled]=\"!!disabled\"\n >\n <input\n matStartDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"startDate$ | async\"\n name=\"date-range.start\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onStartDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n <input\n matEndDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"endDate$ | async\"\n name=\"date-range.end\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onEndDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n </mat-date-range-input>\n\n @if (!isDefaultDatePickerDisabled) {\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n }\n <mat-date-range-picker #picker></mat-date-range-picker>\n </div>\n }\n\n @case ('single-day') {\n <div class=\"layout-row elder-flex-control\">\n <!-- [name]=\"name\" -->\n <elder-local-date-input\n class=\"flex\"\n center\n [value]=\"startLocalDate$ | async\"\n (valueUpdated)=\"onSingleDayDateChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeHolderOrEmpty() | translate\"\n ></elder-local-date-input>\n </div>\n }\n}\n", styles: [".elder-flex-interval-control{flex:1 1 auto;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ElderDateTimeInputComponent, selector: "elder-date-time-input", inputs: ["center", "isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: ElderLocalTimeInputComponent, selector: "elder-local-time-input", inputs: ["isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: ["zone", "autoDatePicker", "arrows", "today", "center", "datePickerTouchUi", "allowNull", "datePickerEnabled", "isoValue", "dateValue", "isoDateValue"], outputs: ["blurred", "valueUpdatedBlur", "isoValueChange", "dateValueChange", "isoDateValueChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31096
31121
|
}
|
|
31097
31122
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderIntervalInputComponent, decorators: [{
|
|
31098
31123
|
type: Component,
|
|
31099
31124
|
args: [{ selector: 'elder-interval-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderIntervalInputComponent }], imports: [
|
|
31100
31125
|
AsyncPipe,
|
|
31101
|
-
|
|
31126
|
+
ElderTranslatePipe,
|
|
31102
31127
|
FormsModule,
|
|
31103
31128
|
ElderDateTimeInputComponent,
|
|
31104
31129
|
ElderLocalTimeInputComponent,
|
|
@@ -31208,7 +31233,7 @@ class ElderDurationInputComponent extends ElderFormFieldControlBase {
|
|
|
31208
31233
|
return a && b ? a.equals(b) : a === b;
|
|
31209
31234
|
}
|
|
31210
31235
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDurationInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31211
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderDurationInputComponent, isStandalone: true, selector: "elder-duration-input", inputs: { isoValue: "isoValue", format: "format", durationFormat: "durationFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDurationInputComponent }], usesInheritance: true, ngImport: i0, template: "@if (durationContext$ | async; as durationCtx) {\n <div class=\"layout-row place-start-center flex-none\">\n @if (durationCtx.format.days) {\n <div class=\"layout-row place-start-baseline duration-field flex\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-days'\"\n type=\"number\"\n class=\"duration-input duration-input-days flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withDays($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n }\n @if (durationCtx.format.hours) {\n <div class=\"layout-row place-start-baseline duration-field flex\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-hours'\"\n type=\"number\"\n class=\"duration-input duration-input-hours flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.hours)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withHours($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">h</span>\n </div>\n }\n @if (durationCtx.format.minutes) {\n <div class=\"layout-row place-start-baseline duration-field flex\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-minutes'\"\n type=\"number\"\n class=\"duration-input duration-input-minutes flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.minutes)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withMinutes($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">min</span>\n </div>\n }\n @if (durationCtx.format.seconds) {\n <div class=\"layout-row place-start-baseline duration-field flex\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-seconds'\"\n type=\"number\"\n class=\"duration-input duration-input-seconds flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.seconds)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withSeconds($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">sec</span>\n </div>\n }\n </div>\n}\n", styles: [".suffix{opacity:.7}.duration-input{text-align:right}.duration-input-days{min-width:26px}.duration-input-hours{min-width:20px}.duration-input-minutes,.duration-input-seconds{min-width:26px}input.duration-input::-webkit-outer-spin-button,input.duration-input::-webkit-inner-spin-button{display:none}input.duration-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: 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: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$
|
|
31236
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderDurationInputComponent, isStandalone: true, selector: "elder-duration-input", inputs: { isoValue: "isoValue", format: "format", durationFormat: "durationFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDurationInputComponent }], usesInheritance: true, ngImport: i0, template: "@if (durationContext$ | async; as durationCtx) {\n <div class=\"layout-row place-start-center flex-none\">\n @if (durationCtx.format.days) {\n <div class=\"layout-row place-start-baseline duration-field flex\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-days'\"\n type=\"number\"\n class=\"duration-input duration-input-days flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withDays($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n }\n @if (durationCtx.format.hours) {\n <div class=\"layout-row place-start-baseline duration-field flex\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-hours'\"\n type=\"number\"\n class=\"duration-input duration-input-hours flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.hours)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withHours($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">h</span>\n </div>\n }\n @if (durationCtx.format.minutes) {\n <div class=\"layout-row place-start-baseline duration-field flex\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-minutes'\"\n type=\"number\"\n class=\"duration-input duration-input-minutes flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.minutes)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withMinutes($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">min</span>\n </div>\n }\n @if (durationCtx.format.seconds) {\n <div class=\"layout-row place-start-baseline duration-field flex\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-seconds'\"\n type=\"number\"\n class=\"duration-input duration-input-seconds flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.seconds)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withSeconds($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">sec</span>\n </div>\n }\n </div>\n}\n", styles: [".suffix{opacity:.7}.duration-input{text-align:right}.duration-input-days{min-width:26px}.duration-input-hours{min-width:20px}.duration-input-minutes,.duration-input-seconds{min-width:26px}input.duration-input::-webkit-outer-spin-button,input.duration-input::-webkit-inner-spin-button{display:none}input.duration-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: 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: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31212
31237
|
}
|
|
31213
31238
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderDurationInputComponent, decorators: [{
|
|
31214
31239
|
type: Component,
|
|
@@ -31312,7 +31337,7 @@ class ElderPeriodInputComponent extends ElderFormFieldControlBase {
|
|
|
31312
31337
|
return a && b ? a.equals(b) : a === b;
|
|
31313
31338
|
}
|
|
31314
31339
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderPeriodInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31315
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderPeriodInputComponent, isStandalone: true, selector: "elder-period-input", inputs: { isoValue: "isoValue", format: "format", periodFormat: "periodFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderPeriodInputComponent }], usesInheritance: true, ngImport: i0, template: "@if (periodContext$ | async; as periodCtx) {\n <div class=\"layout-row place-start-center flex-none\">\n @if (periodCtx.format.days) {\n <div class=\"layout-row place-start-baseline flex period-field\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-days'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withDays($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n }\n @if (periodCtx.format.months) {\n <div class=\"layout-row place-start-baseline flex period-field\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-months'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.months)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withMonths($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">mnt</span>\n </div>\n }\n @if (periodCtx.format.years) {\n <div class=\"layout-row place-start-baseline flex period-field\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-years'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.years)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withYears($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">yrs</span>\n </div>\n }\n </div>\n}\n", styles: [".suffix{opacity:.7}.period-input{text-align:right}input.period-input::-webkit-outer-spin-button,input.period-input::-webkit-inner-spin-button{display:none}input.period-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: 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: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$
|
|
31340
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderPeriodInputComponent, isStandalone: true, selector: "elder-period-input", inputs: { isoValue: "isoValue", format: "format", periodFormat: "periodFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderPeriodInputComponent }], usesInheritance: true, ngImport: i0, template: "@if (periodContext$ | async; as periodCtx) {\n <div class=\"layout-row place-start-center flex-none\">\n @if (periodCtx.format.days) {\n <div class=\"layout-row place-start-baseline flex period-field\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-days'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withDays($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n }\n @if (periodCtx.format.months) {\n <div class=\"layout-row place-start-baseline flex period-field\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-months'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.months)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withMonths($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">mnt</span>\n </div>\n }\n @if (periodCtx.format.years) {\n <div class=\"layout-row place-start-baseline flex period-field\">\n <input\n matInput\n elderNoSpinner\n [name]=\"controlName + '-inner-years'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.years)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withYears($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">yrs</span>\n </div>\n }\n </div>\n}\n", styles: [".suffix{opacity:.7}.period-input{text-align:right}input.period-input::-webkit-outer-spin-button,input.period-input::-webkit-inner-spin-button{display:none}input.period-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: 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: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31316
31341
|
}
|
|
31317
31342
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderPeriodInputComponent, decorators: [{
|
|
31318
31343
|
type: Component,
|
|
@@ -32231,7 +32256,7 @@ class ElderIntervalPickerComponent {
|
|
|
32231
32256
|
}
|
|
32232
32257
|
}
|
|
32233
32258
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderIntervalPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32234
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderIntervalPickerComponent, isStandalone: true, selector: "elder-interval-picker", inputs: { emitType: { classPropertyName: "emitType", publicName: "emitType", isSignal: true, isRequired: false, transformFunction: null }, autoEmitMode: { classPropertyName: "autoEmitMode", publicName: "autoEmitMode", isSignal: true, isRequired: false, transformFunction: null }, intervalInputMode: { classPropertyName: "intervalInputMode", publicName: "intervalInputMode", isSignal: true, isRequired: false, transformFunction: null }, showAnchor: { classPropertyName: "showAnchor", publicName: "showAnchor", isSignal: true, isRequired: false, transformFunction: null }, anchorReadOnly: { classPropertyName: "anchorReadOnly", publicName: "anchorReadOnly", isSignal: true, isRequired: false, transformFunction: null }, externalAnchorDateTime: { classPropertyName: "externalAnchorDateTime", publicName: "externalAnchorDateTime", isSignal: true, isRequired: false, transformFunction: null }, externalInterval: { classPropertyName: "externalInterval", publicName: "externalInterval", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { intervalChange: "intervalChange" }, providers: [{ provide: DateAdapter, useClass: CustomDateAdapter }], viewQueries: [{ propertyName: "calendarStart", first: true, predicate: ["rangeCalendarStart"], descendants: true }, { propertyName: "calendarEnd", first: true, predicate: ["rangeCalendarEnd"], descendants: true }, { propertyName: "calendarStartElRef", first: true, predicate: ["rangeCalendarStart"], descendants: true, read: ElementRef }, { propertyName: "calendarEndElRef", first: true, predicate: ["rangeCalendarEnd"], descendants: true, read: ElementRef }, { propertyName: "startDateInput", first: true, predicate: ["startDateInput"], descendants: true }, { propertyName: "endDateInput", first: true, predicate: ["endDateInput"], descendants: true }], ngImport: i0, template: "<div class=\"interval-picker-component p-md layout-col gap-xxl\">\n <div class=\"layout-row gap-xxl place-between-start\" style=\"gap: 5%\">\n <div class=\"layout-col gap-md pt-xs\">\n <div class=\"layout-col\">\n <div class=\"layout-row select-buttons-container gap-sm\">\n <div class=\"layout-col gap-xs place-start-stretch\">\n <button mat-button type=\"button\" (click)=\"controller.select.selectCurrentDay()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.anchorDay' | translate }}\n } @else {\n {{ 'intervalPicker.today' | translate }}\n }\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectYesterday()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.last' | translate }} 1 {{ 'intervalPicker.day' | translate }}\n } @else {\n {{ 'intervalPicker.yesterday' | translate }}\n }\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLastSevenDaysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 7\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLastThirtyDaysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 30\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLast365daysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 365\n {{ 'intervalPicker.days' | translate }}\n </button>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"pt-sm\"></div>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLastFiveMinutes()\">\n {{ 'intervalPicker.last' | translate }} 5\n {{ 'intervalPicker.minutes' | translate }}\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLastHour()\">\n {{ 'intervalPicker.last' | translate }} {{ 'intervalPicker.hour' | translate }}\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLast24Hours()\">\n {{ 'intervalPicker.last' | translate }} 24\n {{ 'intervalPicker.hours' | translate }}\n </button>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"layout-col\">\n <!-- smart shift -->\n <div class=\"layout-row place-around-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.smartShift(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ presenter.smartShiftMessage() }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.smartShift(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- calendars and input controls -->\n <div\n class=\"layout-row place-around-center\"\n style=\"align-items: flex-start; min-height: 280px\"\n >\n <mat-calendar\n #rangeCalendarStart\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setStartDateFromJSDate($event)\"\n [maxDate]=\"presenter.endDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n <mat-calendar\n #rangeCalendarEnd\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setEndDateFromJSDate($event)\"\n [minDate]=\"presenter.startDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n </div>\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"startDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.startDateHtmlString()\"\n (ngModelChange)=\"controller.form.setStartDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endDate' | translate }}</mat-label>\n <input\n #endDateInput\n name=\"endDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.endDateHtmlString()\"\n (ngModelChange)=\"controller.form.setEndDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n </div>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startTime' | translate }}</mat-label>\n <input\n name=\"startTimeInput\"\n matInput\n type=\"time\"\n #startTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.startTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setStartTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.clearStartTime()\"\n [disabled]=\"!presenter.isStartTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endTime' | translate }}</mat-label>\n <input\n name=\"endTimeInput\"\n matInput\n type=\"time\"\n #endTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.endTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setEndTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.clearEndTime()\"\n [disabled]=\"!presenter.isEndTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n }\n <br />\n </div>\n <div class=\"pt-xs\" style=\"width: 25%\">\n <div class=\"layout-col gap-lg\">\n <div class=\"layout-col gap-xs place-start-start\">\n <!-- select current -->\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentWeek()\">\n {{ 'intervalPicker.currentPeriod.week' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentMonth()\">\n {{ 'intervalPicker.currentPeriod.month' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentQuarter()\">\n {{ 'intervalPicker.currentPeriod.quarter' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentYear()\">\n {{ 'intervalPicker.currentPeriod.year' | translate }}\n </button>\n </div>\n <div class=\"fixed-shifts-container\">\n <div class=\"layout-col place-start-stretch\">\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftDay(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.day' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftDay(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.month' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftYear(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.year' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftYear(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n\n @if (true) {\n <!-- shift minute -->\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.minute' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- shift hour -->\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftHour(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.hour' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftHour(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"layout-row place-between-center gap-xxl pt-sm\">\n <div>\n @if (showAnchor()) {\n <div class=\"layout-row flex-none gap-md\">\n <mat-menu #anchorMenu=\"matMenu\">\n @if (presenter.startDateHtmlString()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToEndDateTime()\"\n [disabled]=\"!presenter.startDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">login</mat-icon>\n <span>{{ 'intervalPicker.endDate' | translate }}</span>\n </button>\n }\n @if (presenter.endDateHtmlString()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToStartDateTime()\"\n [disabled]=\"!presenter.endDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">logout</mat-icon>\n <span>{{ 'intervalPicker.startDate' | translate }}</span>\n </button>\n }\n @if (presenter.isFixedAnchorDateSet()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.resetAnchor()\"\n [disabled]=\"!presenter.isFixedAnchorDateSet() || anchorReadOnly()\"\n >\n <mat-icon>close</mat-icon>\n <span>{{ 'intervalPicker.clear' | translate }}</span>\n </button>\n }\n </mat-menu>\n\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"anchorDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.anchorDateHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorDateFromString($event)\"\n [readonly]=\"anchorReadOnly()\"\n />\n @if (!anchorReadOnly()) {\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n [matMenuTriggerFor]=\"anchorMenu\"\n [disabled]=\"presenter.isAnchorMenuDisabled()\"\n >\n <mat-icon class=\"material-symbols-outlined\">more_horiz</mat-icon>\n </button>\n }\n </mat-form-field>\n @if (intervalInputMode() === 'date-time-range') {\n <mat-form-field class=\"input-control-container-short\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorTime' | translate }}</mat-label>\n <input\n matInput\n name=\"anchorTimeInput\"\n type=\"time\"\n #anchorTimeControl=\"ngModel\"\n step=\"1\"\n [readonly]=\"anchorReadOnly()\"\n [ngModel]=\"presenter.anchorTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.anchor.resetAnchorTime()\"\n [disabled]=\"anchorReadOnly() || presenter.isAnchorTimeMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n }\n </div>\n }\n </div>\n <!-- result interval -->\n <div class=\"layout-col place-center-center\">\n <div class=\"date-interval mat-caption pt-xs\">\n @if (presenter.startDateTimeAsJSDate()) {\n {{ presenter.startDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.startDateNotSet' | translate }}\n }\n <span> - </span>\n @if (presenter.endDateTimeAsJSDate()) {\n {{ presenter.endDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.endDateNotSet' | translate }}\n }\n </div>\n <div>\n <span class=\"mat-caption\">{{ presenter.deltaHumanReadable() || ' ' }}</span>\n </div>\n </div>\n <div class=\"layout-row gap-lg\">\n <button\n type=\"button\"\n mat-flat-button\n color=\"primary\"\n (click)=\"controller.clearInterval()\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n {{ 'intervalPicker.clear' | translate }}\n </button>\n\n @if (!this.autoEmitMode()) {\n <button type=\"button\" color=\"primary\" mat-flat-button (click)=\"controller.manualEmit()\">\n {{ 'actions.ok' | translate }}\n </button>\n }\n </div>\n</div>\n", styles: [".interval-picker-component{min-width:840px;max-width:100%}.fixed-shifts-container{max-width:160px}.input-control-container{width:192px;max-width:100%}.input-control-container-short{width:140px;max-width:100%}.select-buttons-container button{white-space:nowrap;text-align:left;justify-content:flex-start}::ng-deep .interval-picker-component .mat-calendar-body-cell.elder-custom-anchor-date .mat-calendar-body-cell-content{border-radius:50%;background-color:#def;background-color:#b4d2ebbf}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$e.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$3.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: MatIconModule }, { kind: "component", type: i1$f.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.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: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32259
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderIntervalPickerComponent, isStandalone: true, selector: "elder-interval-picker", inputs: { emitType: { classPropertyName: "emitType", publicName: "emitType", isSignal: true, isRequired: false, transformFunction: null }, autoEmitMode: { classPropertyName: "autoEmitMode", publicName: "autoEmitMode", isSignal: true, isRequired: false, transformFunction: null }, intervalInputMode: { classPropertyName: "intervalInputMode", publicName: "intervalInputMode", isSignal: true, isRequired: false, transformFunction: null }, showAnchor: { classPropertyName: "showAnchor", publicName: "showAnchor", isSignal: true, isRequired: false, transformFunction: null }, anchorReadOnly: { classPropertyName: "anchorReadOnly", publicName: "anchorReadOnly", isSignal: true, isRequired: false, transformFunction: null }, externalAnchorDateTime: { classPropertyName: "externalAnchorDateTime", publicName: "externalAnchorDateTime", isSignal: true, isRequired: false, transformFunction: null }, externalInterval: { classPropertyName: "externalInterval", publicName: "externalInterval", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { intervalChange: "intervalChange" }, providers: [{ provide: DateAdapter, useClass: CustomDateAdapter }], viewQueries: [{ propertyName: "calendarStart", first: true, predicate: ["rangeCalendarStart"], descendants: true }, { propertyName: "calendarEnd", first: true, predicate: ["rangeCalendarEnd"], descendants: true }, { propertyName: "calendarStartElRef", first: true, predicate: ["rangeCalendarStart"], descendants: true, read: ElementRef }, { propertyName: "calendarEndElRef", first: true, predicate: ["rangeCalendarEnd"], descendants: true, read: ElementRef }, { propertyName: "startDateInput", first: true, predicate: ["startDateInput"], descendants: true }, { propertyName: "endDateInput", first: true, predicate: ["endDateInput"], descendants: true }], ngImport: i0, template: "<div class=\"interval-picker-component p-md layout-col gap-xxl\">\n <div class=\"layout-row gap-xxl place-between-start\" style=\"gap: 5%\">\n <div class=\"layout-col gap-md pt-xs\">\n <div class=\"layout-col\">\n <div class=\"layout-row select-buttons-container gap-sm\">\n <div class=\"layout-col gap-xs place-start-stretch\">\n <button mat-button type=\"button\" (click)=\"controller.select.selectCurrentDay()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.anchorDay' | translate }}\n } @else {\n {{ 'intervalPicker.today' | translate }}\n }\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectYesterday()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.last' | translate }} 1 {{ 'intervalPicker.day' | translate }}\n } @else {\n {{ 'intervalPicker.yesterday' | translate }}\n }\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLastSevenDaysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 7\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLastThirtyDaysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 30\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLast365daysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 365\n {{ 'intervalPicker.days' | translate }}\n </button>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"pt-sm\"></div>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLastFiveMinutes()\">\n {{ 'intervalPicker.last' | translate }} 5\n {{ 'intervalPicker.minutes' | translate }}\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLastHour()\">\n {{ 'intervalPicker.last' | translate }} {{ 'intervalPicker.hour' | translate }}\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLast24Hours()\">\n {{ 'intervalPicker.last' | translate }} 24\n {{ 'intervalPicker.hours' | translate }}\n </button>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"layout-col\">\n <!-- smart shift -->\n <div class=\"layout-row place-around-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.smartShift(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ presenter.smartShiftMessage() }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.smartShift(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- calendars and input controls -->\n <div\n class=\"layout-row place-around-center\"\n style=\"align-items: flex-start; min-height: 280px\"\n >\n <mat-calendar\n #rangeCalendarStart\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setStartDateFromJSDate($event)\"\n [maxDate]=\"presenter.endDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n <mat-calendar\n #rangeCalendarEnd\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setEndDateFromJSDate($event)\"\n [minDate]=\"presenter.startDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n </div>\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"startDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.startDateHtmlString()\"\n (ngModelChange)=\"controller.form.setStartDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endDate' | translate }}</mat-label>\n <input\n #endDateInput\n name=\"endDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.endDateHtmlString()\"\n (ngModelChange)=\"controller.form.setEndDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n </div>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startTime' | translate }}</mat-label>\n <input\n name=\"startTimeInput\"\n matInput\n type=\"time\"\n #startTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.startTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setStartTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.clearStartTime()\"\n [disabled]=\"!presenter.isStartTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endTime' | translate }}</mat-label>\n <input\n name=\"endTimeInput\"\n matInput\n type=\"time\"\n #endTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.endTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setEndTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.clearEndTime()\"\n [disabled]=\"!presenter.isEndTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n }\n <br />\n </div>\n <div class=\"pt-xs\" style=\"width: 25%\">\n <div class=\"layout-col gap-lg\">\n <div class=\"layout-col gap-xs place-start-start\">\n <!-- select current -->\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentWeek()\">\n {{ 'intervalPicker.currentPeriod.week' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentMonth()\">\n {{ 'intervalPicker.currentPeriod.month' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentQuarter()\">\n {{ 'intervalPicker.currentPeriod.quarter' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentYear()\">\n {{ 'intervalPicker.currentPeriod.year' | translate }}\n </button>\n </div>\n <div class=\"fixed-shifts-container\">\n <div class=\"layout-col place-start-stretch\">\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftDay(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.day' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftDay(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.month' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftYear(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.year' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftYear(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n\n @if (true) {\n <!-- shift minute -->\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.minute' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- shift hour -->\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftHour(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.hour' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftHour(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"layout-row place-between-center gap-xxl pt-sm\">\n <div>\n @if (showAnchor()) {\n <div class=\"layout-row flex-none gap-md\">\n <mat-menu #anchorMenu=\"matMenu\">\n @if (presenter.startDateHtmlString()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToEndDateTime()\"\n [disabled]=\"!presenter.startDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">login</mat-icon>\n <span>{{ 'intervalPicker.endDate' | translate }}</span>\n </button>\n }\n @if (presenter.endDateHtmlString()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToStartDateTime()\"\n [disabled]=\"!presenter.endDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">logout</mat-icon>\n <span>{{ 'intervalPicker.startDate' | translate }}</span>\n </button>\n }\n @if (presenter.isFixedAnchorDateSet()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.resetAnchor()\"\n [disabled]=\"!presenter.isFixedAnchorDateSet() || anchorReadOnly()\"\n >\n <mat-icon>close</mat-icon>\n <span>{{ 'intervalPicker.clear' | translate }}</span>\n </button>\n }\n </mat-menu>\n\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"anchorDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.anchorDateHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorDateFromString($event)\"\n [readonly]=\"anchorReadOnly()\"\n />\n @if (!anchorReadOnly()) {\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n [matMenuTriggerFor]=\"anchorMenu\"\n [disabled]=\"presenter.isAnchorMenuDisabled()\"\n >\n <mat-icon class=\"material-symbols-outlined\">more_horiz</mat-icon>\n </button>\n }\n </mat-form-field>\n @if (intervalInputMode() === 'date-time-range') {\n <mat-form-field class=\"input-control-container-short\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorTime' | translate }}</mat-label>\n <input\n matInput\n name=\"anchorTimeInput\"\n type=\"time\"\n #anchorTimeControl=\"ngModel\"\n step=\"1\"\n [readonly]=\"anchorReadOnly()\"\n [ngModel]=\"presenter.anchorTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.anchor.resetAnchorTime()\"\n [disabled]=\"anchorReadOnly() || presenter.isAnchorTimeMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n }\n </div>\n }\n </div>\n <!-- result interval -->\n <div class=\"layout-col place-center-center\">\n <div class=\"date-interval mat-caption pt-xs\">\n @if (presenter.startDateTimeAsJSDate()) {\n {{ presenter.startDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.startDateNotSet' | translate }}\n }\n <span> - </span>\n @if (presenter.endDateTimeAsJSDate()) {\n {{ presenter.endDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.endDateNotSet' | translate }}\n }\n </div>\n <div>\n <span class=\"mat-caption\">{{ presenter.deltaHumanReadable() || ' ' }}</span>\n </div>\n </div>\n <div class=\"layout-row gap-lg\">\n <button\n type=\"button\"\n mat-flat-button\n color=\"primary\"\n (click)=\"controller.clearInterval()\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n {{ 'intervalPicker.clear' | translate }}\n </button>\n\n @if (!this.autoEmitMode()) {\n <button type=\"button\" color=\"primary\" mat-flat-button (click)=\"controller.manualEmit()\">\n {{ 'actions.ok' | translate }}\n </button>\n }\n </div>\n</div>\n", styles: [".interval-picker-component{min-width:840px;max-width:100%}.fixed-shifts-container{max-width:160px}.input-control-container{width:192px;max-width:100%}.input-control-container-short{width:140px;max-width:100%}.select-buttons-container button{white-space:nowrap;text-align:left;justify-content:flex-start}::ng-deep .interval-picker-component .mat-calendar-body-cell.elder-custom-anchor-date .mat-calendar-body-cell-content{border-radius:50%;background-color:#def;background-color:#b4d2ebbf}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$e.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$3.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: MatIconModule }, { kind: "component", type: i1$f.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.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: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32235
32260
|
}
|
|
32236
32261
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderIntervalPickerComponent, decorators: [{
|
|
32237
32262
|
type: Component,
|
|
@@ -32244,7 +32269,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
32244
32269
|
FormsModule,
|
|
32245
32270
|
MatButtonModule,
|
|
32246
32271
|
MatCalendar,
|
|
32247
|
-
|
|
32272
|
+
ElderTranslatePipe,
|
|
32248
32273
|
MatMenuModule,
|
|
32249
32274
|
DatePipe,
|
|
32250
32275
|
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: DateAdapter, useClass: CustomDateAdapter }], template: "<div class=\"interval-picker-component p-md layout-col gap-xxl\">\n <div class=\"layout-row gap-xxl place-between-start\" style=\"gap: 5%\">\n <div class=\"layout-col gap-md pt-xs\">\n <div class=\"layout-col\">\n <div class=\"layout-row select-buttons-container gap-sm\">\n <div class=\"layout-col gap-xs place-start-stretch\">\n <button mat-button type=\"button\" (click)=\"controller.select.selectCurrentDay()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.anchorDay' | translate }}\n } @else {\n {{ 'intervalPicker.today' | translate }}\n }\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectYesterday()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.last' | translate }} 1 {{ 'intervalPicker.day' | translate }}\n } @else {\n {{ 'intervalPicker.yesterday' | translate }}\n }\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLastSevenDaysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 7\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLastThirtyDaysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 30\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLast365daysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 365\n {{ 'intervalPicker.days' | translate }}\n </button>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"pt-sm\"></div>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLastFiveMinutes()\">\n {{ 'intervalPicker.last' | translate }} 5\n {{ 'intervalPicker.minutes' | translate }}\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLastHour()\">\n {{ 'intervalPicker.last' | translate }} {{ 'intervalPicker.hour' | translate }}\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLast24Hours()\">\n {{ 'intervalPicker.last' | translate }} 24\n {{ 'intervalPicker.hours' | translate }}\n </button>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"layout-col\">\n <!-- smart shift -->\n <div class=\"layout-row place-around-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.smartShift(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ presenter.smartShiftMessage() }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.smartShift(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- calendars and input controls -->\n <div\n class=\"layout-row place-around-center\"\n style=\"align-items: flex-start; min-height: 280px\"\n >\n <mat-calendar\n #rangeCalendarStart\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setStartDateFromJSDate($event)\"\n [maxDate]=\"presenter.endDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n <mat-calendar\n #rangeCalendarEnd\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setEndDateFromJSDate($event)\"\n [minDate]=\"presenter.startDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n </div>\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"startDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.startDateHtmlString()\"\n (ngModelChange)=\"controller.form.setStartDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endDate' | translate }}</mat-label>\n <input\n #endDateInput\n name=\"endDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.endDateHtmlString()\"\n (ngModelChange)=\"controller.form.setEndDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n </div>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startTime' | translate }}</mat-label>\n <input\n name=\"startTimeInput\"\n matInput\n type=\"time\"\n #startTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.startTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setStartTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.clearStartTime()\"\n [disabled]=\"!presenter.isStartTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endTime' | translate }}</mat-label>\n <input\n name=\"endTimeInput\"\n matInput\n type=\"time\"\n #endTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.endTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setEndTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.clearEndTime()\"\n [disabled]=\"!presenter.isEndTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n }\n <br />\n </div>\n <div class=\"pt-xs\" style=\"width: 25%\">\n <div class=\"layout-col gap-lg\">\n <div class=\"layout-col gap-xs place-start-start\">\n <!-- select current -->\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentWeek()\">\n {{ 'intervalPicker.currentPeriod.week' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentMonth()\">\n {{ 'intervalPicker.currentPeriod.month' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentQuarter()\">\n {{ 'intervalPicker.currentPeriod.quarter' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentYear()\">\n {{ 'intervalPicker.currentPeriod.year' | translate }}\n </button>\n </div>\n <div class=\"fixed-shifts-container\">\n <div class=\"layout-col place-start-stretch\">\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftDay(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.day' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftDay(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.month' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftYear(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.year' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftYear(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n\n @if (true) {\n <!-- shift minute -->\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.minute' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- shift hour -->\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftHour(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.hour' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftHour(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"layout-row place-between-center gap-xxl pt-sm\">\n <div>\n @if (showAnchor()) {\n <div class=\"layout-row flex-none gap-md\">\n <mat-menu #anchorMenu=\"matMenu\">\n @if (presenter.startDateHtmlString()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToEndDateTime()\"\n [disabled]=\"!presenter.startDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">login</mat-icon>\n <span>{{ 'intervalPicker.endDate' | translate }}</span>\n </button>\n }\n @if (presenter.endDateHtmlString()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToStartDateTime()\"\n [disabled]=\"!presenter.endDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">logout</mat-icon>\n <span>{{ 'intervalPicker.startDate' | translate }}</span>\n </button>\n }\n @if (presenter.isFixedAnchorDateSet()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.resetAnchor()\"\n [disabled]=\"!presenter.isFixedAnchorDateSet() || anchorReadOnly()\"\n >\n <mat-icon>close</mat-icon>\n <span>{{ 'intervalPicker.clear' | translate }}</span>\n </button>\n }\n </mat-menu>\n\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"anchorDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.anchorDateHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorDateFromString($event)\"\n [readonly]=\"anchorReadOnly()\"\n />\n @if (!anchorReadOnly()) {\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n [matMenuTriggerFor]=\"anchorMenu\"\n [disabled]=\"presenter.isAnchorMenuDisabled()\"\n >\n <mat-icon class=\"material-symbols-outlined\">more_horiz</mat-icon>\n </button>\n }\n </mat-form-field>\n @if (intervalInputMode() === 'date-time-range') {\n <mat-form-field class=\"input-control-container-short\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorTime' | translate }}</mat-label>\n <input\n matInput\n name=\"anchorTimeInput\"\n type=\"time\"\n #anchorTimeControl=\"ngModel\"\n step=\"1\"\n [readonly]=\"anchorReadOnly()\"\n [ngModel]=\"presenter.anchorTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.anchor.resetAnchorTime()\"\n [disabled]=\"anchorReadOnly() || presenter.isAnchorTimeMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n }\n </div>\n }\n </div>\n <!-- result interval -->\n <div class=\"layout-col place-center-center\">\n <div class=\"date-interval mat-caption pt-xs\">\n @if (presenter.startDateTimeAsJSDate()) {\n {{ presenter.startDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.startDateNotSet' | translate }}\n }\n <span> - </span>\n @if (presenter.endDateTimeAsJSDate()) {\n {{ presenter.endDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.endDateNotSet' | translate }}\n }\n </div>\n <div>\n <span class=\"mat-caption\">{{ presenter.deltaHumanReadable() || ' ' }}</span>\n </div>\n </div>\n <div class=\"layout-row gap-lg\">\n <button\n type=\"button\"\n mat-flat-button\n color=\"primary\"\n (click)=\"controller.clearInterval()\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n {{ 'intervalPicker.clear' | translate }}\n </button>\n\n @if (!this.autoEmitMode()) {\n <button type=\"button\" color=\"primary\" mat-flat-button (click)=\"controller.manualEmit()\">\n {{ 'actions.ok' | translate }}\n </button>\n }\n </div>\n</div>\n", styles: [".interval-picker-component{min-width:840px;max-width:100%}.fixed-shifts-container{max-width:160px}.input-control-container{width:192px;max-width:100%}.input-control-container-short{width:140px;max-width:100%}.select-buttons-container button{white-space:nowrap;text-align:left;justify-content:flex-start}::ng-deep .interval-picker-component .mat-calendar-body-cell.elder-custom-anchor-date .mat-calendar-body-cell-content{border-radius:50%;background-color:#def;background-color:#b4d2ebbf}\n"] }]
|
|
@@ -32746,9 +32771,6 @@ class ElderTimeModule {
|
|
|
32746
32771
|
MatIconModule,
|
|
32747
32772
|
// popups & modals
|
|
32748
32773
|
MatTooltipModule,
|
|
32749
|
-
// data matTable
|
|
32750
|
-
// translations
|
|
32751
|
-
TranslateModule,
|
|
32752
32774
|
ElderFormsDirectivesModule,
|
|
32753
32775
|
ElderDateSwitcherComponent,
|
|
32754
32776
|
ElderIntervalInputComponent,
|
|
@@ -32785,9 +32807,6 @@ class ElderTimeModule {
|
|
|
32785
32807
|
MatIconModule,
|
|
32786
32808
|
// popups & modals
|
|
32787
32809
|
MatTooltipModule,
|
|
32788
|
-
// data matTable
|
|
32789
|
-
// translations
|
|
32790
|
-
TranslateModule,
|
|
32791
32810
|
ElderFormsDirectivesModule,
|
|
32792
32811
|
ElderDateSwitcherComponent,
|
|
32793
32812
|
ElderIntervalInputComponent,
|
|
@@ -32816,9 +32835,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
32816
32835
|
MatIconModule,
|
|
32817
32836
|
// popups & modals
|
|
32818
32837
|
MatTooltipModule,
|
|
32819
|
-
// data matTable
|
|
32820
|
-
// translations
|
|
32821
|
-
TranslateModule,
|
|
32822
32838
|
ElderFormsDirectivesModule,
|
|
32823
32839
|
ElderDateSwitcherComponent,
|
|
32824
32840
|
ElderIntervalInputComponent,
|
|
@@ -33028,7 +33044,7 @@ class ElderLocalizedInputTableComponent extends FormFieldBaseComponent {
|
|
|
33028
33044
|
return localizables;
|
|
33029
33045
|
}
|
|
33030
33046
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalizedInputTableComponent, deps: [{ token: ElderToastService }, { token: ElderLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33031
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLocalizedInputTableComponent, isStandalone: true, selector: "elder-localized-input-table", inputs: { dense: "dense", textColumns: "textColumns", defaultLanguageTags: "defaultLanguageTags" }, providers: buildFormIntegrationProviders(ElderLocalizedInputTableComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-col full\">\n <elder-table\n matSort\n class=\"flex\"\n [data]=\"data\"\n [selectionVisible]=\"true\"\n [selectionMultiEnabled]=\"true\"\n [dense]=\"dense\"\n >\n <elder-data-toolbar\n *elderTableToolbar\n [canAdd]=\"!isLocked\"\n [canRemove]=\"!isLocked\"\n [canMore]=\"false\"\n (requestNew)=\"onNewRequested()\"\n (requestRemove)=\"onRemoveRequested($event)\"\n >\n <ng-template elderToolbarContent=\"left.actions\">\n <div class=\"layout-col place-start-center\">\n <h4 elderCardSubtitle style=\"margin: 0\">{{ label ?? placeholder }}</h4>\n </div>\n </ng-template>\n </elder-data-toolbar>\n\n <ng-container matColumnDef=\"locale\">\n <th mat-header-cell *matHeaderCellDef style=\"width: 100px\" mat-sort-header>Locale</th>\n <td mat-cell *matCellDef=\"let localized\">\n <mat-chip-set\n ><mat-chip highlighted>{{ localized.locale }}</mat-chip></mat-chip-set\n >\n </td>\n </ng-container>\n\n @for (textColumn of textColumns$ | async; track textColumn) {\n <ng-container matColumnDef=\"{{ textColumn.name }}\">\n <th mat-header-cell *matHeaderCellDef>{{ textColumn.title | translate }}</th>\n <td mat-cell *matCellDef=\"let localized\">\n <div class=\"layout-row place-center-center\">\n <mat-form-field class=\"full-width\" appearance=\"fill\" elderDense>\n <!--\n <mat-label>{{textColumn.title | translate}} ({{localized.locale}})</mat-label>\n -->\n <!--\n <span matTextPrefix>{{textColumn.title | translate}}</span>\n -->\n <input\n matInput\n type=\"text\"\n name=\"i18n-{{ localized.locale }}-{{ textColumn.name }}\"\n [ngModel]=\"localized[textColumn.name]\"\n [ngModelOptions]=\"{ updateOn: 'blur' }\"\n (ngModelChange)=\"onColumnTextUpdated(localized, textColumn, $event)\"\n [required]=\"required && textColumn.required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n />\n </mat-form-field>\n </div>\n </td>\n </ng-container>\n }\n </elder-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ElderTableComponent, selector: "elder-table", inputs: ["id", "idField", "removingField", "hiddenField", "keepSelection", "showFooterRow", "denseHorizontal", "hideHeaderRow", "data", "displayedColumns", "selectionVisible"], exportAs: ["elderTable"] }, { kind: "directive", type: MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "directive", type: ElderTableToolbarDirective, selector: "[elderTableToolbar]" }, { kind: "component", type: ElderDataToolbarComponent, selector: "elder-data-toolbar", inputs: ["canAdd", "canRemove", "canMore", "confirmRemoval", "keepSelectionAfterRemoval", "selectionModel"], outputs: ["requestNew", "requestRemove"] }, { kind: "directive", type: ElderToolbarContentDirective, selector: "[elderToolbarContent]", inputs: ["elderToolbarContent"] }, { kind: "directive", type: ElderCardSubtitleDirective, selector: "elder-card-subtitle, [elder-card-subtitle], [elderCardSubtitle]" }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$
|
|
33047
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLocalizedInputTableComponent, isStandalone: true, selector: "elder-localized-input-table", inputs: { dense: "dense", textColumns: "textColumns", defaultLanguageTags: "defaultLanguageTags" }, providers: buildFormIntegrationProviders(ElderLocalizedInputTableComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-col full\">\n <elder-table\n matSort\n class=\"flex\"\n [data]=\"data\"\n [selectionVisible]=\"true\"\n [selectionMultiEnabled]=\"true\"\n [dense]=\"dense\"\n >\n <elder-data-toolbar\n *elderTableToolbar\n [canAdd]=\"!isLocked\"\n [canRemove]=\"!isLocked\"\n [canMore]=\"false\"\n (requestNew)=\"onNewRequested()\"\n (requestRemove)=\"onRemoveRequested($event)\"\n >\n <ng-template elderToolbarContent=\"left.actions\">\n <div class=\"layout-col place-start-center\">\n <h4 elderCardSubtitle style=\"margin: 0\">{{ label ?? placeholder }}</h4>\n </div>\n </ng-template>\n </elder-data-toolbar>\n\n <ng-container matColumnDef=\"locale\">\n <th mat-header-cell *matHeaderCellDef style=\"width: 100px\" mat-sort-header>Locale</th>\n <td mat-cell *matCellDef=\"let localized\">\n <mat-chip-set\n ><mat-chip highlighted>{{ localized.locale }}</mat-chip></mat-chip-set\n >\n </td>\n </ng-container>\n\n @for (textColumn of textColumns$ | async; track textColumn) {\n <ng-container matColumnDef=\"{{ textColumn.name }}\">\n <th mat-header-cell *matHeaderCellDef>{{ textColumn.title | translate }}</th>\n <td mat-cell *matCellDef=\"let localized\">\n <div class=\"layout-row place-center-center\">\n <mat-form-field class=\"full-width\" appearance=\"fill\" elderDense>\n <!--\n <mat-label>{{textColumn.title | translate}} ({{localized.locale}})</mat-label>\n -->\n <!--\n <span matTextPrefix>{{textColumn.title | translate}}</span>\n -->\n <input\n matInput\n type=\"text\"\n name=\"i18n-{{ localized.locale }}-{{ textColumn.name }}\"\n [ngModel]=\"localized[textColumn.name]\"\n [ngModelOptions]=\"{ updateOn: 'blur' }\"\n (ngModelChange)=\"onColumnTextUpdated(localized, textColumn, $event)\"\n [required]=\"required && textColumn.required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n />\n </mat-form-field>\n </div>\n </td>\n </ng-container>\n }\n </elder-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ElderTableComponent, selector: "elder-table", inputs: ["id", "idField", "removingField", "hiddenField", "keepSelection", "showFooterRow", "denseHorizontal", "hideHeaderRow", "data", "displayedColumns", "selectionVisible"], exportAs: ["elderTable"] }, { kind: "directive", type: MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "directive", type: ElderTableToolbarDirective, selector: "[elderTableToolbar]" }, { kind: "component", type: ElderDataToolbarComponent, selector: "elder-data-toolbar", inputs: ["canAdd", "canRemove", "canMore", "confirmRemoval", "keepSelectionAfterRemoval", "selectionModel"], outputs: ["requestNew", "requestRemove"] }, { kind: "directive", type: ElderToolbarContentDirective, selector: "[elderToolbarContent]", inputs: ["elderToolbarContent"] }, { kind: "directive", type: ElderCardSubtitleDirective, selector: "elder-card-subtitle, [elder-card-subtitle], [elderCardSubtitle]" }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33032
33048
|
}
|
|
33033
33049
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalizedInputTableComponent, decorators: [{
|
|
33034
33050
|
type: Component,
|
|
@@ -33052,7 +33068,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
33052
33068
|
MatInput,
|
|
33053
33069
|
FormsModule,
|
|
33054
33070
|
AsyncPipe,
|
|
33055
|
-
|
|
33071
|
+
ElderTranslatePipe,
|
|
33056
33072
|
], template: "<div class=\"layout-col full\">\n <elder-table\n matSort\n class=\"flex\"\n [data]=\"data\"\n [selectionVisible]=\"true\"\n [selectionMultiEnabled]=\"true\"\n [dense]=\"dense\"\n >\n <elder-data-toolbar\n *elderTableToolbar\n [canAdd]=\"!isLocked\"\n [canRemove]=\"!isLocked\"\n [canMore]=\"false\"\n (requestNew)=\"onNewRequested()\"\n (requestRemove)=\"onRemoveRequested($event)\"\n >\n <ng-template elderToolbarContent=\"left.actions\">\n <div class=\"layout-col place-start-center\">\n <h4 elderCardSubtitle style=\"margin: 0\">{{ label ?? placeholder }}</h4>\n </div>\n </ng-template>\n </elder-data-toolbar>\n\n <ng-container matColumnDef=\"locale\">\n <th mat-header-cell *matHeaderCellDef style=\"width: 100px\" mat-sort-header>Locale</th>\n <td mat-cell *matCellDef=\"let localized\">\n <mat-chip-set\n ><mat-chip highlighted>{{ localized.locale }}</mat-chip></mat-chip-set\n >\n </td>\n </ng-container>\n\n @for (textColumn of textColumns$ | async; track textColumn) {\n <ng-container matColumnDef=\"{{ textColumn.name }}\">\n <th mat-header-cell *matHeaderCellDef>{{ textColumn.title | translate }}</th>\n <td mat-cell *matCellDef=\"let localized\">\n <div class=\"layout-row place-center-center\">\n <mat-form-field class=\"full-width\" appearance=\"fill\" elderDense>\n <!--\n <mat-label>{{textColumn.title | translate}} ({{localized.locale}})</mat-label>\n -->\n <!--\n <span matTextPrefix>{{textColumn.title | translate}}</span>\n -->\n <input\n matInput\n type=\"text\"\n name=\"i18n-{{ localized.locale }}-{{ textColumn.name }}\"\n [ngModel]=\"localized[textColumn.name]\"\n [ngModelOptions]=\"{ updateOn: 'blur' }\"\n (ngModelChange)=\"onColumnTextUpdated(localized, textColumn, $event)\"\n [required]=\"required && textColumn.required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n />\n </mat-form-field>\n </div>\n </td>\n </ng-container>\n }\n </elder-table>\n</div>\n" }]
|
|
33057
33073
|
}], ctorParameters: () => [{ type: ElderToastService }, { type: ElderLanguageService }], propDecorators: { textColumnsQuery: [{
|
|
33058
33074
|
type: ContentChildren,
|
|
@@ -33071,8 +33087,8 @@ class ElderLocalizedInputDialogComponent {
|
|
|
33071
33087
|
this.data = data;
|
|
33072
33088
|
}
|
|
33073
33089
|
ngOnInit() { }
|
|
33074
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalizedInputDialogComponent, deps: [{ token: i1$
|
|
33075
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLocalizedInputDialogComponent, isStandalone: true, selector: "elder-localized-input-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme color=\"primary\">\n <mat-toolbar-row class=\"gap-sm\">\n <mat-icon class=\"noselect\">translate</mat-icon>\n <h2 class=\"noselect\"
|
|
33090
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalizedInputDialogComponent, deps: [{ token: i1$6.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33091
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLocalizedInputDialogComponent, isStandalone: true, selector: "elder-localized-input-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme color=\"primary\">\n <mat-toolbar-row class=\"gap-sm\">\n <mat-icon class=\"noselect\">translate</mat-icon>\n <h2 class=\"noselect\">{{ data.title | translate }}</h2>\n <span class=\"flex\"></span>\n @if (data.explicitSave) {\n <button\n mat-icon-button\n type=\"submit\"\n [disabled]=\"data.readonly\"\n [mat-dialog-close]=\"data.localizables\"\n >\n <mat-icon>save</mat-icon>\n </button>\n }\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-sm\">\n <elder-localized-input-table\n class=\"flex\"\n [textColumns]=\"data.textColumns\"\n [(value)]=\"data.localizables\"\n [readonly]=\"data.readonly\"\n [disabled]=\"data.disabled\"\n [required]=\"data.required\"\n >\n </elder-localized-input-table>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: ElderThemeDirective, selector: "[elderTheme]" }, { kind: "directive", type: MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: ElderLocalizedInputTableComponent, selector: "elder-localized-input-table", inputs: ["dense", "textColumns", "defaultLanguageTags"] }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33076
33092
|
}
|
|
33077
33093
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalizedInputDialogComponent, decorators: [{
|
|
33078
33094
|
type: Component,
|
|
@@ -33081,12 +33097,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
33081
33097
|
ElderThemeDirective,
|
|
33082
33098
|
MatToolbarRow,
|
|
33083
33099
|
MatIcon,
|
|
33084
|
-
|
|
33100
|
+
ElderTranslatePipe,
|
|
33085
33101
|
MatIconButton,
|
|
33086
33102
|
MatDialogClose,
|
|
33087
33103
|
ElderLocalizedInputTableComponent,
|
|
33088
|
-
], template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme color=\"primary\">\n <mat-toolbar-row class=\"gap-sm\">\n <mat-icon class=\"noselect\">translate</mat-icon>\n <h2 class=\"noselect\"
|
|
33089
|
-
}], ctorParameters: () => [{ type: i1$
|
|
33104
|
+
], template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme color=\"primary\">\n <mat-toolbar-row class=\"gap-sm\">\n <mat-icon class=\"noselect\">translate</mat-icon>\n <h2 class=\"noselect\">{{ data.title | translate }}</h2>\n <span class=\"flex\"></span>\n @if (data.explicitSave) {\n <button\n mat-icon-button\n type=\"submit\"\n [disabled]=\"data.readonly\"\n [mat-dialog-close]=\"data.localizables\"\n >\n <mat-icon>save</mat-icon>\n </button>\n }\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-sm\">\n <elder-localized-input-table\n class=\"flex\"\n [textColumns]=\"data.textColumns\"\n [(value)]=\"data.localizables\"\n [readonly]=\"data.readonly\"\n [disabled]=\"data.disabled\"\n [required]=\"data.required\"\n >\n </elder-localized-input-table>\n </div>\n</div>\n" }]
|
|
33105
|
+
}], ctorParameters: () => [{ type: i1$6.MatDialogRef }, { type: undefined, decorators: [{
|
|
33090
33106
|
type: Inject,
|
|
33091
33107
|
args: [MAT_DIALOG_DATA]
|
|
33092
33108
|
}] }] });
|
|
@@ -33107,7 +33123,7 @@ class ElderLocalizedInputDialogService {
|
|
|
33107
33123
|
data: options,
|
|
33108
33124
|
});
|
|
33109
33125
|
}
|
|
33110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalizedInputDialogService, deps: [{ token: i1$
|
|
33126
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalizedInputDialogService, deps: [{ token: i1$6.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
33111
33127
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalizedInputDialogService, providedIn: 'root' }); }
|
|
33112
33128
|
}
|
|
33113
33129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalizedInputDialogService, decorators: [{
|
|
@@ -33115,7 +33131,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
33115
33131
|
args: [{
|
|
33116
33132
|
providedIn: 'root',
|
|
33117
33133
|
}]
|
|
33118
|
-
}], ctorParameters: () => [{ type: i1$
|
|
33134
|
+
}], ctorParameters: () => [{ type: i1$6.MatDialog }] });
|
|
33119
33135
|
|
|
33120
33136
|
class LocalisationPickerService {
|
|
33121
33137
|
/***************************************************************************
|
|
@@ -33291,7 +33307,7 @@ class ElderLocalizedInputComponent extends FormFieldBaseComponent {
|
|
|
33291
33307
|
}
|
|
33292
33308
|
}
|
|
33293
33309
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalizedInputComponent, deps: [{ token: ElderLocalizedInputDialogService }, { token: LocalisationPickerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33294
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLocalizedInputComponent, isStandalone: true, selector: "elder-localized-input", inputs: { textColumns: "textColumns", translatedValue: "translatedValue" }, outputs: { translatedValueChange: "translatedValueChange" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"appearance\" [color]=\"color\">\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n\n @if (icon) {\n <mat-icon matPrefix [color]=\"color\">\n {{ icon }}\n </mat-icon>\n }\n\n <button\n matSuffix\n mat-icon-button\n (click)=\"openTranslationPopup($event)\"\n aria-label=\"Search\"\n type=\"button\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput\n type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\"\n [ngModelOptions]=\"{ standalone: true }\"\n />\n\n <mat-hint>{{ hintText$ | async }}</mat-hint>\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$
|
|
33310
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLocalizedInputComponent, isStandalone: true, selector: "elder-localized-input", inputs: { textColumns: "textColumns", translatedValue: "translatedValue" }, outputs: { translatedValueChange: "translatedValueChange" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"appearance\" [color]=\"color\">\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n\n @if (icon) {\n <mat-icon matPrefix [color]=\"color\">\n {{ icon }}\n </mat-icon>\n }\n\n <button\n matSuffix\n mat-icon-button\n (click)=\"openTranslationPopup($event)\"\n aria-label=\"Search\"\n type=\"button\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput\n type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\"\n [ngModelOptions]=\"{ standalone: true }\"\n />\n\n <mat-hint>{{ hintText$ | async }}</mat-hint>\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33295
33311
|
}
|
|
33296
33312
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLocalizedInputComponent, decorators: [{
|
|
33297
33313
|
type: Component,
|
|
@@ -33306,7 +33322,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
33306
33322
|
FormsModule,
|
|
33307
33323
|
MatHint,
|
|
33308
33324
|
AsyncPipe,
|
|
33309
|
-
|
|
33325
|
+
ElderTranslatePipe,
|
|
33310
33326
|
], template: "<mat-form-field [appearance]=\"appearance\" [color]=\"color\">\n @if (label) {\n <mat-label>{{ label | translate }}</mat-label>\n }\n\n @if (icon) {\n <mat-icon matPrefix [color]=\"color\">\n {{ icon }}\n </mat-icon>\n }\n\n <button\n matSuffix\n mat-icon-button\n (click)=\"openTranslationPopup($event)\"\n aria-label=\"Search\"\n type=\"button\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput\n type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\"\n [ngModelOptions]=\"{ standalone: true }\"\n />\n\n <mat-hint>{{ hintText$ | async }}</mat-hint>\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"] }]
|
|
33311
33327
|
}], ctorParameters: () => [{ type: ElderLocalizedInputDialogService }, { type: LocalisationPickerService }], propDecorators: { textColumnsQuery: [{
|
|
33312
33328
|
type: ContentChildren,
|
|
@@ -33366,7 +33382,7 @@ class ElderInitialValueDirective {
|
|
|
33366
33382
|
}
|
|
33367
33383
|
this.initialValue$.next(value);
|
|
33368
33384
|
}
|
|
33369
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderInitialValueDirective, deps: [{ token: i1$
|
|
33385
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderInitialValueDirective, deps: [{ token: i1$3.NgModel, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
33370
33386
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderInitialValueDirective, isStandalone: true, selector: "[elderInitialValue]", exportAs: ["elderInitialValue"], ngImport: i0 }); }
|
|
33371
33387
|
}
|
|
33372
33388
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderInitialValueDirective, decorators: [{
|
|
@@ -33375,7 +33391,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
33375
33391
|
selector: '[elderInitialValue]',
|
|
33376
33392
|
exportAs: 'elderInitialValue',
|
|
33377
33393
|
}]
|
|
33378
|
-
}], ctorParameters: () => [{ type: i1$
|
|
33394
|
+
}], ctorParameters: () => [{ type: i1$3.NgModel, decorators: [{
|
|
33379
33395
|
type: Host
|
|
33380
33396
|
}] }] });
|
|
33381
33397
|
|
|
@@ -33641,7 +33657,7 @@ class ElderSearchInputDirective {
|
|
|
33641
33657
|
});
|
|
33642
33658
|
return CollectionUtil.flatten(arrays);
|
|
33643
33659
|
}
|
|
33644
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchInputDirective, deps: [{ token: ElderSearchContextDirective }, { token: i1$
|
|
33660
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchInputDirective, deps: [{ token: ElderSearchContextDirective }, { token: i1$3.NgModel, host: true }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
33645
33661
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.6", type: ElderSearchInputDirective, isStandalone: true, selector: "[elderSearchInput]", inputs: { valueTransform: ["elderSearchInputTransform", "valueTransform"], resolvePath: ["elderSearchInput", "resolvePath"], fallbackValue: ["elderSearchInputFallback", "fallbackValue"], valueAsId: "valueAsId", queryKey: ["elderSearchInputKey", "queryKey"] }, exportAs: ["elderSearchInput"], ngImport: i0 }); }
|
|
33646
33662
|
}
|
|
33647
33663
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchInputDirective, decorators: [{
|
|
@@ -33650,7 +33666,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
33650
33666
|
selector: '[elderSearchInput]',
|
|
33651
33667
|
exportAs: 'elderSearchInput',
|
|
33652
33668
|
}]
|
|
33653
|
-
}], ctorParameters: () => [{ type: ElderSearchContextDirective }, { type: i1$
|
|
33669
|
+
}], ctorParameters: () => [{ type: ElderSearchContextDirective }, { type: i1$3.NgModel, decorators: [{
|
|
33654
33670
|
type: Host
|
|
33655
33671
|
}] }, { type: i0.DestroyRef }], propDecorators: { valueTransform: [{
|
|
33656
33672
|
type: Input,
|
|
@@ -33743,7 +33759,7 @@ class ElderSearchBoxComponent {
|
|
|
33743
33759
|
this.searchContextDirective.reset();
|
|
33744
33760
|
}
|
|
33745
33761
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchBoxComponent, deps: [{ token: ElderSearchContextDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33746
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "customSearchPanel", first: true, predicate: ElderSearchPanelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "overlayComponent", first: true, predicate: ElderOverlayComponent, descendants: true, isSignal: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto my-xs\"\n [class]=\"'elder-round-form-field'\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n aria-hidden=\"false\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-panel-container{min-width:250px;border-radius:var(--elder-pane-border-radius)}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$
|
|
33762
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "customSearchPanel", first: true, predicate: ElderSearchPanelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "overlayComponent", first: true, predicate: ElderOverlayComponent, descendants: true, isSignal: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto my-xs\"\n [class]=\"'elder-round-form-field'\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n aria-hidden=\"false\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-panel-container{min-width:250px;border-radius:var(--elder-pane-border-radius)}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: 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: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSearchInputDirective, selector: "[elderSearchInput]", inputs: ["elderSearchInputTransform", "elderSearchInput", "elderSearchInputFallback", "valueAsId", "elderSearchInputKey"], exportAs: ["elderSearchInput"] }, { kind: "directive", type: ElderOverlayOriginDirective, selector: "[elderOverlayOrigin]", inputs: ["elderOverlayOrigin"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: ElderDialogPanelComponent, selector: "elder-dialog-panel" }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33747
33763
|
}
|
|
33748
33764
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchBoxComponent, decorators: [{
|
|
33749
33765
|
type: Component,
|
|
@@ -33765,7 +33781,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
33765
33781
|
ElderDialogPanelComponent,
|
|
33766
33782
|
MatButton,
|
|
33767
33783
|
AsyncPipe,
|
|
33768
|
-
|
|
33784
|
+
ElderTranslatePipe,
|
|
33769
33785
|
], template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto my-xs\"\n [class]=\"'elder-round-form-field'\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n aria-hidden=\"false\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-panel-container{min-width:250px;border-radius:var(--elder-pane-border-radius)}\n"] }]
|
|
33770
33786
|
}], ctorParameters: () => [{ type: ElderSearchContextDirective }], propDecorators: { search: [{ type: i0.ViewChild, args: ['search', { isSignal: true }] }], overlayComponent: [{ type: i0.ViewChild, args: [i0.forwardRef(() => ElderOverlayComponent), { isSignal: true }] }], customSearchPanel: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ElderSearchPanelComponent), { isSignal: true }] }], autoPanel: [{
|
|
33771
33787
|
type: Input
|
|
@@ -34032,7 +34048,7 @@ class ElderSearchUrlService {
|
|
|
34032
34048
|
convertValueToArrayOrSingleValue(value) {
|
|
34033
34049
|
return Array.isArray(value) ? `(${value.toString()})` : value;
|
|
34034
34050
|
}
|
|
34035
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchUrlService, deps: [{ token: i1$
|
|
34051
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchUrlService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34036
34052
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchUrlService, providedIn: 'root' }); }
|
|
34037
34053
|
}
|
|
34038
34054
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchUrlService, decorators: [{
|
|
@@ -34040,7 +34056,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
34040
34056
|
args: [{
|
|
34041
34057
|
providedIn: 'root',
|
|
34042
34058
|
}]
|
|
34043
|
-
}], ctorParameters: () => [{ type: i1$
|
|
34059
|
+
}], ctorParameters: () => [{ type: i1$2.Router }] });
|
|
34044
34060
|
|
|
34045
34061
|
class ContextWithUrlFilters {
|
|
34046
34062
|
constructor(context, urlFilters) {
|
|
@@ -34144,7 +34160,6 @@ class ElderSearchModule {
|
|
|
34144
34160
|
ElderOverlayModule,
|
|
34145
34161
|
ElderPanelModule,
|
|
34146
34162
|
ElderFormsDirectivesModule,
|
|
34147
|
-
TranslateModule,
|
|
34148
34163
|
ElderSearchContextDirective,
|
|
34149
34164
|
ElderSearchUrlDirective,
|
|
34150
34165
|
ElderSearchInputDirective,
|
|
@@ -34172,7 +34187,6 @@ class ElderSearchModule {
|
|
|
34172
34187
|
ElderOverlayModule,
|
|
34173
34188
|
ElderPanelModule,
|
|
34174
34189
|
ElderFormsDirectivesModule,
|
|
34175
|
-
TranslateModule,
|
|
34176
34190
|
ElderSearchBoxComponent] }); }
|
|
34177
34191
|
}
|
|
34178
34192
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderSearchModule, decorators: [{
|
|
@@ -34197,7 +34211,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
34197
34211
|
ElderOverlayModule,
|
|
34198
34212
|
ElderPanelModule,
|
|
34199
34213
|
ElderFormsDirectivesModule,
|
|
34200
|
-
TranslateModule,
|
|
34201
34214
|
ElderSearchContextDirective,
|
|
34202
34215
|
ElderSearchUrlDirective,
|
|
34203
34216
|
ElderSearchInputDirective,
|
|
@@ -34345,7 +34358,6 @@ class ElderI18nEntitiesModule {
|
|
|
34345
34358
|
MatTableModule,
|
|
34346
34359
|
MatSortModule,
|
|
34347
34360
|
MatInputModule,
|
|
34348
|
-
TranslateModule,
|
|
34349
34361
|
FormsModule,
|
|
34350
34362
|
ElderTableModule,
|
|
34351
34363
|
MatChipsModule,
|
|
@@ -34374,7 +34386,6 @@ class ElderI18nEntitiesModule {
|
|
|
34374
34386
|
MatTableModule,
|
|
34375
34387
|
MatSortModule,
|
|
34376
34388
|
MatInputModule,
|
|
34377
|
-
TranslateModule,
|
|
34378
34389
|
FormsModule,
|
|
34379
34390
|
ElderTableModule,
|
|
34380
34391
|
MatChipsModule,
|
|
@@ -34407,7 +34418,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
34407
34418
|
MatTableModule,
|
|
34408
34419
|
MatSortModule,
|
|
34409
34420
|
MatInputModule,
|
|
34410
|
-
TranslateModule,
|
|
34411
34421
|
FormsModule,
|
|
34412
34422
|
ElderTableModule,
|
|
34413
34423
|
MatChipsModule,
|
|
@@ -34485,10 +34495,10 @@ class ElderLanguageInterceptor {
|
|
|
34485
34495
|
intercept(req, next) {
|
|
34486
34496
|
const config = this.languageConfig;
|
|
34487
34497
|
const skipInterceptor = config && config.interceptor && config.interceptor.disable;
|
|
34488
|
-
if (!skipInterceptor && this.translate.currentLang) {
|
|
34498
|
+
if (!skipInterceptor && this.translate.currentLang()) {
|
|
34489
34499
|
// Keeps the original request params. as a new HttpParams
|
|
34490
34500
|
let newParams = new HttpParams({ fromString: req.params.toString() });
|
|
34491
|
-
newParams = newParams.set(this._queryParam, this.translate.currentLang);
|
|
34501
|
+
newParams = newParams.set(this._queryParam, this.translate.currentLang());
|
|
34492
34502
|
// Clone the request with params instead of setParams
|
|
34493
34503
|
// Workaround for https://github.com/angular/angular/issues/18812
|
|
34494
34504
|
const requestClone = req.clone({
|
|
@@ -34515,10 +34525,10 @@ class ElderLanguageInterceptor {
|
|
|
34515
34525
|
return this._config;
|
|
34516
34526
|
}
|
|
34517
34527
|
get translate() {
|
|
34518
|
-
if (!this.
|
|
34519
|
-
this.
|
|
34528
|
+
if (!this._languageService) {
|
|
34529
|
+
this._languageService = this.inj.get(ElderLanguageService); // Workaround for cyclic dependency
|
|
34520
34530
|
}
|
|
34521
|
-
return this.
|
|
34531
|
+
return this._languageService;
|
|
34522
34532
|
}
|
|
34523
34533
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34524
34534
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageInterceptor }); }
|
|
@@ -34545,85 +34555,6 @@ function provideElderLanguage(options, config) {
|
|
|
34545
34555
|
]);
|
|
34546
34556
|
}
|
|
34547
34557
|
|
|
34548
|
-
class ElderTranslateService {
|
|
34549
|
-
/***************************************************************************
|
|
34550
|
-
* *
|
|
34551
|
-
* Constructor *
|
|
34552
|
-
* *
|
|
34553
|
-
**************************************************************************/
|
|
34554
|
-
constructor() {
|
|
34555
|
-
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
34556
|
-
this.languageService = inject(ElderLanguageService);
|
|
34557
|
-
this.ngxTranslate = inject(TranslateService);
|
|
34558
|
-
effect(() => {
|
|
34559
|
-
const langs = this.languageService.langs();
|
|
34560
|
-
untracked(() => {
|
|
34561
|
-
this.setLangs(langs);
|
|
34562
|
-
});
|
|
34563
|
-
});
|
|
34564
|
-
effect(() => {
|
|
34565
|
-
const defaultLang = this.languageService.defaultLang();
|
|
34566
|
-
untracked(() => {
|
|
34567
|
-
this.setDefaultLang(defaultLang);
|
|
34568
|
-
});
|
|
34569
|
-
});
|
|
34570
|
-
effect(() => {
|
|
34571
|
-
const currentLang = this.languageService.currentLang();
|
|
34572
|
-
untracked(() => {
|
|
34573
|
-
this.setCurrentLang(currentLang);
|
|
34574
|
-
});
|
|
34575
|
-
});
|
|
34576
|
-
}
|
|
34577
|
-
/***************************************************************************
|
|
34578
|
-
* *
|
|
34579
|
-
* Private Methods *
|
|
34580
|
-
* *
|
|
34581
|
-
**************************************************************************/
|
|
34582
|
-
setLangs(langs) {
|
|
34583
|
-
if (langs?.length) {
|
|
34584
|
-
this.logger.warn('setting translate langs', langs);
|
|
34585
|
-
this.ngxTranslate.addLangs(langs);
|
|
34586
|
-
}
|
|
34587
|
-
}
|
|
34588
|
-
setDefaultLang(defaultLang) {
|
|
34589
|
-
if (defaultLang) {
|
|
34590
|
-
this.logger.warn('setting translate default lang', defaultLang);
|
|
34591
|
-
this.ngxTranslate.setFallbackLang(defaultLang);
|
|
34592
|
-
}
|
|
34593
|
-
}
|
|
34594
|
-
setCurrentLang(currentLang) {
|
|
34595
|
-
if (currentLang) {
|
|
34596
|
-
this.logger.warn('setting translate current lang', currentLang);
|
|
34597
|
-
this.ngxTranslate.use(currentLang);
|
|
34598
|
-
}
|
|
34599
|
-
}
|
|
34600
|
-
/***************************************************************************
|
|
34601
|
-
* *
|
|
34602
|
-
* Public API *
|
|
34603
|
-
* *
|
|
34604
|
-
**************************************************************************/
|
|
34605
|
-
get(key, interpolateParams) {
|
|
34606
|
-
return this.ngxTranslate.get(key, interpolateParams);
|
|
34607
|
-
}
|
|
34608
|
-
instant(key, interpolateParams) {
|
|
34609
|
-
return this.ngxTranslate.instant(key, interpolateParams);
|
|
34610
|
-
}
|
|
34611
|
-
stream(key, interpolateParams) {
|
|
34612
|
-
return this.ngxTranslate.stream(key, interpolateParams);
|
|
34613
|
-
}
|
|
34614
|
-
get onLangChange() {
|
|
34615
|
-
return this.ngxTranslate.onLangChange;
|
|
34616
|
-
}
|
|
34617
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34618
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslateService, providedIn: 'root' }); }
|
|
34619
|
-
}
|
|
34620
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslateService, decorators: [{
|
|
34621
|
-
type: Injectable,
|
|
34622
|
-
args: [{
|
|
34623
|
-
providedIn: 'root',
|
|
34624
|
-
}]
|
|
34625
|
-
}], ctorParameters: () => [] });
|
|
34626
|
-
|
|
34627
34558
|
function provideElderTranslate() {
|
|
34628
34559
|
return makeEnvironmentProviders([
|
|
34629
34560
|
provideTranslateService({
|
|
@@ -34639,18 +34570,6 @@ function provideElderTranslate() {
|
|
|
34639
34570
|
]);
|
|
34640
34571
|
}
|
|
34641
34572
|
|
|
34642
|
-
class ElderTranslatePipe extends TranslatePipe {
|
|
34643
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
34644
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslatePipe, isStandalone: true, name: "translate", pure: false }); }
|
|
34645
|
-
}
|
|
34646
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslatePipe, decorators: [{
|
|
34647
|
-
type: Pipe,
|
|
34648
|
-
args: [{
|
|
34649
|
-
name: 'translate',
|
|
34650
|
-
pure: false,
|
|
34651
|
-
}]
|
|
34652
|
-
}] });
|
|
34653
|
-
|
|
34654
34573
|
class ElderChipListSelectComponent {
|
|
34655
34574
|
/***************************************************************************
|
|
34656
34575
|
* *
|
|
@@ -34817,8 +34736,6 @@ class ElderChipListSelectModule {
|
|
|
34817
34736
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: ElderChipListSelectModule, imports: [
|
|
34818
34737
|
// Angular
|
|
34819
34738
|
CommonModule,
|
|
34820
|
-
// Third Party
|
|
34821
|
-
TranslateModule,
|
|
34822
34739
|
// Material
|
|
34823
34740
|
MatChipsModule,
|
|
34824
34741
|
A11yModule,
|
|
@@ -34826,8 +34743,6 @@ class ElderChipListSelectModule {
|
|
|
34826
34743
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderChipListSelectModule, imports: [
|
|
34827
34744
|
// Angular
|
|
34828
34745
|
CommonModule,
|
|
34829
|
-
// Third Party
|
|
34830
|
-
TranslateModule,
|
|
34831
34746
|
// Material
|
|
34832
34747
|
MatChipsModule,
|
|
34833
34748
|
A11yModule,
|
|
@@ -34839,8 +34754,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
34839
34754
|
imports: [
|
|
34840
34755
|
// Angular
|
|
34841
34756
|
CommonModule,
|
|
34842
|
-
// Third Party
|
|
34843
|
-
TranslateModule,
|
|
34844
34757
|
// Material
|
|
34845
34758
|
MatChipsModule,
|
|
34846
34759
|
A11yModule,
|
|
@@ -35125,7 +35038,6 @@ class ElderDataTransferModule {
|
|
|
35125
35038
|
MatButtonModule,
|
|
35126
35039
|
MatBadgeModule,
|
|
35127
35040
|
MatProgressSpinnerModule,
|
|
35128
|
-
TranslateModule,
|
|
35129
35041
|
ElderPipesModule,
|
|
35130
35042
|
ElderOverlayModule,
|
|
35131
35043
|
MatCardModule,
|
|
@@ -35144,7 +35056,6 @@ class ElderDataTransferModule {
|
|
|
35144
35056
|
MatButtonModule,
|
|
35145
35057
|
MatBadgeModule,
|
|
35146
35058
|
MatProgressSpinnerModule,
|
|
35147
|
-
TranslateModule,
|
|
35148
35059
|
ElderPipesModule,
|
|
35149
35060
|
ElderOverlayModule,
|
|
35150
35061
|
MatCardModule,
|
|
@@ -35165,7 +35076,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
35165
35076
|
MatButtonModule,
|
|
35166
35077
|
MatBadgeModule,
|
|
35167
35078
|
MatProgressSpinnerModule,
|
|
35168
|
-
TranslateModule,
|
|
35169
35079
|
ElderPipesModule,
|
|
35170
35080
|
ElderOverlayModule,
|
|
35171
35081
|
MatCardModule,
|
|
@@ -35419,8 +35329,6 @@ class ElderConnectivityModule {
|
|
|
35419
35329
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: ElderConnectivityModule, imports: [
|
|
35420
35330
|
// Angular
|
|
35421
35331
|
CommonModule,
|
|
35422
|
-
// Third Party
|
|
35423
|
-
TranslateModule,
|
|
35424
35332
|
// Angular Material
|
|
35425
35333
|
MatIconModule,
|
|
35426
35334
|
MatTooltipModule,
|
|
@@ -35431,8 +35339,6 @@ class ElderConnectivityModule {
|
|
|
35431
35339
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderConnectivityModule, imports: [
|
|
35432
35340
|
// Angular
|
|
35433
35341
|
CommonModule,
|
|
35434
|
-
// Third Party
|
|
35435
|
-
TranslateModule,
|
|
35436
35342
|
// Angular Material
|
|
35437
35343
|
MatIconModule,
|
|
35438
35344
|
MatTooltipModule,
|
|
@@ -35447,8 +35353,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
35447
35353
|
imports: [
|
|
35448
35354
|
// Angular
|
|
35449
35355
|
CommonModule,
|
|
35450
|
-
// Third Party
|
|
35451
|
-
TranslateModule,
|
|
35452
35356
|
// Angular Material
|
|
35453
35357
|
MatIconModule,
|
|
35454
35358
|
MatTooltipModule,
|
|
@@ -36476,7 +36380,7 @@ class CsvStreamExporterBuilderService {
|
|
|
36476
36380
|
start(dataSource, csvSpec) {
|
|
36477
36381
|
return new CsvStreamExporterBuilder(this.translateService, dataSource, csvSpec);
|
|
36478
36382
|
}
|
|
36479
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: CsvStreamExporterBuilderService, deps: [{ token:
|
|
36383
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: CsvStreamExporterBuilderService, deps: [{ token: ElderTranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
36480
36384
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: CsvStreamExporterBuilderService, providedIn: 'root' }); }
|
|
36481
36385
|
}
|
|
36482
36386
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: CsvStreamExporterBuilderService, decorators: [{
|
|
@@ -36484,7 +36388,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
36484
36388
|
args: [{
|
|
36485
36389
|
providedIn: 'root',
|
|
36486
36390
|
}]
|
|
36487
|
-
}], ctorParameters: () => [{ type:
|
|
36391
|
+
}], ctorParameters: () => [{ type: ElderTranslateService }] });
|
|
36488
36392
|
|
|
36489
36393
|
class ElderCsvExportBtnComponent {
|
|
36490
36394
|
set dataSource(dataSource) {
|
|
@@ -36875,7 +36779,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
36875
36779
|
class ElderLockWarningService {
|
|
36876
36780
|
constructor() {
|
|
36877
36781
|
this.dialogService = inject(ElderDialogService);
|
|
36878
|
-
this.translateService = inject(
|
|
36782
|
+
this.translateService = inject(ElderTranslateService);
|
|
36879
36783
|
}
|
|
36880
36784
|
/***************************************************************************
|
|
36881
36785
|
* *
|
|
@@ -37119,13 +37023,13 @@ class IframeDialogComponent {
|
|
|
37119
37023
|
close(data) {
|
|
37120
37024
|
this.dialogRef.close(data);
|
|
37121
37025
|
}
|
|
37122
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: IframeDialogComponent, deps: [{ token: i1$
|
|
37026
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: IframeDialogComponent, deps: [{ token: i1$6.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37123
37027
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: IframeDialogComponent, isStandalone: true, selector: "elder-i-frame-dialog", viewQueries: [{ propertyName: "iframeHost", first: true, predicate: IframeHostComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (iframeParams$ | async; as iFrameParams) {\n <div class=\"full\">\n <elder-i-frame-host class=\"full\" [iframeParams]=\"iFrameParams\" (closeRequested)=\"close($event)\">\n </elder-i-frame-host>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: IframeHostComponent, selector: "elder-i-frame-host", inputs: ["iframeParams"], outputs: ["messageReceived", "closeRequested", "message", "close"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37124
37028
|
}
|
|
37125
37029
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: IframeDialogComponent, decorators: [{
|
|
37126
37030
|
type: Component,
|
|
37127
37031
|
args: [{ selector: 'elder-i-frame-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [IframeHostComponent, AsyncPipe], template: "@if (iframeParams$ | async; as iFrameParams) {\n <div class=\"full\">\n <elder-i-frame-host class=\"full\" [iframeParams]=\"iFrameParams\" (closeRequested)=\"close($event)\">\n </elder-i-frame-host>\n </div>\n}\n" }]
|
|
37128
|
-
}], ctorParameters: () => [{ type: i1$
|
|
37032
|
+
}], ctorParameters: () => [{ type: i1$6.MatDialogRef }, { type: undefined, decorators: [{
|
|
37129
37033
|
type: Inject,
|
|
37130
37034
|
args: [MAT_DIALOG_DATA]
|
|
37131
37035
|
}] }], propDecorators: { iframeHost: [{ type: i0.ViewChild, args: [i0.forwardRef(() => IframeHostComponent), { isSignal: true }] }] } });
|
|
@@ -37193,13 +37097,13 @@ class IframeSideContentComponent {
|
|
|
37193
37097
|
queryParamsHandling: 'merge',
|
|
37194
37098
|
});
|
|
37195
37099
|
}
|
|
37196
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: IframeSideContentComponent, deps: [{ token: i1$
|
|
37100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: IframeSideContentComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: ElderShellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37197
37101
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: IframeSideContentComponent, isStandalone: true, selector: "elder-i-frame-side-host", ngImport: i0, template: "@if (iframeParams$ | async; as iFrameParams) {\n <div [style.width]=\"iFrameParams.width\" class=\"full\">\n <elder-i-frame-host class=\"full\" [iframeParams]=\"iFrameParams\" (closeRequested)=\"close($event)\">\n </elder-i-frame-host>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: IframeHostComponent, selector: "elder-i-frame-host", inputs: ["iframeParams"], outputs: ["messageReceived", "closeRequested", "message", "close"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37198
37102
|
}
|
|
37199
37103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: IframeSideContentComponent, decorators: [{
|
|
37200
37104
|
type: Component,
|
|
37201
37105
|
args: [{ selector: 'elder-i-frame-side-host', changeDetection: ChangeDetectionStrategy.OnPush, imports: [IframeHostComponent, AsyncPipe], template: "@if (iframeParams$ | async; as iFrameParams) {\n <div [style.width]=\"iFrameParams.width\" class=\"full\">\n <elder-i-frame-host class=\"full\" [iframeParams]=\"iFrameParams\" (closeRequested)=\"close($event)\">\n </elder-i-frame-host>\n </div>\n}\n" }]
|
|
37202
|
-
}], ctorParameters: () => [{ type: i1$
|
|
37106
|
+
}], ctorParameters: () => [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }, { type: ElderShellService }] });
|
|
37203
37107
|
|
|
37204
37108
|
class IframeService {
|
|
37205
37109
|
constructor() {
|
|
@@ -37581,8 +37485,6 @@ class ElderIFrameModule {
|
|
|
37581
37485
|
CommonModule,
|
|
37582
37486
|
RouterModule,
|
|
37583
37487
|
FormsModule,
|
|
37584
|
-
// Third Party
|
|
37585
|
-
TranslateModule,
|
|
37586
37488
|
// Angular Material
|
|
37587
37489
|
MatIconModule,
|
|
37588
37490
|
MatButtonModule,
|
|
@@ -37606,8 +37508,6 @@ class ElderIFrameModule {
|
|
|
37606
37508
|
CommonModule,
|
|
37607
37509
|
RouterModule,
|
|
37608
37510
|
FormsModule,
|
|
37609
|
-
// Third Party
|
|
37610
|
-
TranslateModule,
|
|
37611
37511
|
// Angular Material
|
|
37612
37512
|
MatIconModule,
|
|
37613
37513
|
MatButtonModule,
|
|
@@ -37628,8 +37528,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
37628
37528
|
CommonModule,
|
|
37629
37529
|
RouterModule,
|
|
37630
37530
|
FormsModule,
|
|
37631
|
-
// Third Party
|
|
37632
|
-
TranslateModule,
|
|
37633
37531
|
// Angular Material
|
|
37634
37532
|
MatIconModule,
|
|
37635
37533
|
MatButtonModule,
|
|
@@ -37769,7 +37667,7 @@ class ElderAuditedEntityComponent {
|
|
|
37769
37667
|
this.auditedCtx$.next(new AuditedEntityCtx(audited));
|
|
37770
37668
|
}
|
|
37771
37669
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderAuditedEntityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37772
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderAuditedEntityComponent, isStandalone: true, selector: "elder-audited-entity", inputs: { appearance: "appearance", dateFormat: "dateFormat", audited: "audited" }, ngImport: i0, template: "@if (auditedCtx$ | async; as ctx) {\n <section class=\"layout-row wrap gap-sm\">\n <mat-form-field [appearance]=\"appearance\">\n <mat-label class=\"layout-row place-start-center gap-xs\">\n <mat-icon class=\"decent noselect\" inline>add_circle_outline</mat-icon>\n <span>{{ 'context.createdAt' | translate }} {{ ctx.audited?.createdAt | timeAgo }}</span>\n </mat-label>\n <input matInput name=\"created\" [value]=\"ctx.audited?.createdAt | date: dateFormat\" readonly />\n <mat-hint>{{ ctx.audited?.createdBy }}</mat-hint>\n </mat-form-field>\n <mat-form-field [appearance]=\"appearance\">\n <mat-label class=\"layout-row place-start-center gap-xs\">\n <mat-icon class=\"decent noselect\">mode_edit_outline</mat-icon>\n <span>{{ 'context.modifiedAt' | translate }} {{ ctx.audited?.modifiedAt | timeAgo }}</span>\n </mat-label>\n <input\n matInput\n name=\"modified\"\n [value]=\"ctx.audited?.modifiedAt | date: dateFormat\"\n readonly\n />\n <mat-hint>{{ ctx.audited?.modifiedBy }}</mat-hint>\n </mat-form-field>\n </section>\n}\n", styles: [".decent{opacity:.5}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: 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: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "
|
|
37670
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderAuditedEntityComponent, isStandalone: true, selector: "elder-audited-entity", inputs: { appearance: "appearance", dateFormat: "dateFormat", audited: "audited" }, ngImport: i0, template: "@if (auditedCtx$ | async; as ctx) {\n <section class=\"layout-row wrap gap-sm\">\n <mat-form-field [appearance]=\"appearance\">\n <mat-label class=\"layout-row place-start-center gap-xs\">\n <mat-icon class=\"decent noselect\" inline>add_circle_outline</mat-icon>\n <span>{{ 'context.createdAt' | translate }} {{ ctx.audited?.createdAt | timeAgo }}</span>\n </mat-label>\n <input matInput name=\"created\" [value]=\"ctx.audited?.createdAt | date: dateFormat\" readonly />\n <mat-hint>{{ ctx.audited?.createdBy }}</mat-hint>\n </mat-form-field>\n <mat-form-field [appearance]=\"appearance\">\n <mat-label class=\"layout-row place-start-center gap-xs\">\n <mat-icon class=\"decent noselect\">mode_edit_outline</mat-icon>\n <span>{{ 'context.modifiedAt' | translate }} {{ ctx.audited?.modifiedAt | timeAgo }}</span>\n </mat-label>\n <input\n matInput\n name=\"modified\"\n [value]=\"ctx.audited?.modifiedAt | date: dateFormat\"\n readonly\n />\n <mat-hint>{{ ctx.audited?.modifiedBy }}</mat-hint>\n </mat-form-field>\n </section>\n}\n", styles: [".decent{opacity:.5}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: 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: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: ElderTranslatePipe, name: "translate" }, { kind: "pipe", type: TimeAgoPipe, name: "timeAgo" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37773
37671
|
}
|
|
37774
37672
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderAuditedEntityComponent, decorators: [{
|
|
37775
37673
|
type: Component,
|
|
@@ -37781,7 +37679,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
37781
37679
|
MatHint,
|
|
37782
37680
|
AsyncPipe,
|
|
37783
37681
|
DatePipe,
|
|
37784
|
-
|
|
37682
|
+
ElderTranslatePipe,
|
|
37785
37683
|
TimeAgoPipe,
|
|
37786
37684
|
], template: "@if (auditedCtx$ | async; as ctx) {\n <section class=\"layout-row wrap gap-sm\">\n <mat-form-field [appearance]=\"appearance\">\n <mat-label class=\"layout-row place-start-center gap-xs\">\n <mat-icon class=\"decent noselect\" inline>add_circle_outline</mat-icon>\n <span>{{ 'context.createdAt' | translate }} {{ ctx.audited?.createdAt | timeAgo }}</span>\n </mat-label>\n <input matInput name=\"created\" [value]=\"ctx.audited?.createdAt | date: dateFormat\" readonly />\n <mat-hint>{{ ctx.audited?.createdBy }}</mat-hint>\n </mat-form-field>\n <mat-form-field [appearance]=\"appearance\">\n <mat-label class=\"layout-row place-start-center gap-xs\">\n <mat-icon class=\"decent noselect\">mode_edit_outline</mat-icon>\n <span>{{ 'context.modifiedAt' | translate }} {{ ctx.audited?.modifiedAt | timeAgo }}</span>\n </mat-label>\n <input\n matInput\n name=\"modified\"\n [value]=\"ctx.audited?.modifiedAt | date: dateFormat\"\n readonly\n />\n <mat-hint>{{ ctx.audited?.modifiedBy }}</mat-hint>\n </mat-form-field>\n </section>\n}\n", styles: [".decent{opacity:.5}\n"] }]
|
|
37787
37685
|
}], ctorParameters: () => [], propDecorators: { appearance: [{
|
|
@@ -37799,13 +37697,11 @@ class ElderAuditModule {
|
|
|
37799
37697
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderAuditModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
37800
37698
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: ElderAuditModule, imports: [CommonModule,
|
|
37801
37699
|
MatInputModule,
|
|
37802
|
-
TranslateModule,
|
|
37803
37700
|
ElderPipesModule,
|
|
37804
37701
|
MatIconModule,
|
|
37805
37702
|
ElderAuditedEntityComponent], exports: [ElderAuditedEntityComponent] }); }
|
|
37806
37703
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderAuditModule, imports: [CommonModule,
|
|
37807
37704
|
MatInputModule,
|
|
37808
|
-
TranslateModule,
|
|
37809
37705
|
ElderPipesModule,
|
|
37810
37706
|
MatIconModule,
|
|
37811
37707
|
ElderAuditedEntityComponent] }); }
|
|
@@ -37817,7 +37713,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
|
|
|
37817
37713
|
imports: [
|
|
37818
37714
|
CommonModule,
|
|
37819
37715
|
MatInputModule,
|
|
37820
|
-
TranslateModule,
|
|
37821
37716
|
ElderPipesModule,
|
|
37822
37717
|
MatIconModule,
|
|
37823
37718
|
ElderAuditedEntityComponent,
|