@elderbyte/ngx-starter 21.14.0-beta.1 → 21.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -35,7 +35,7 @@ import { MatButtonModule, MatIconButton, MatButton, MatIconAnchor, MatAnchor } f
|
|
|
35
35
|
import * as i1$8 from '@angular/material/autocomplete';
|
|
36
36
|
import { MatAutocompleteTrigger, MatAutocomplete, MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
37
37
|
import { MatChipGrid, MatChipRow, MatChipRemove, MatChipInput, MatChipsModule, MatChipSet, MatChipAvatar, MatChipTrailingIcon, MatChipListbox, MatChipOption, MatChip } from '@angular/material/chips';
|
|
38
|
-
import * as i2$
|
|
38
|
+
import * as i2$2 from '@angular/material/input';
|
|
39
39
|
import { MatInput, MatInputModule } from '@angular/material/input';
|
|
40
40
|
import { MatList, MatListSubheaderCssMatStyler, MatListItem, MatListModule } from '@angular/material/list';
|
|
41
41
|
import { MatProgressBar, MatProgressBarModule } from '@angular/material/progress-bar';
|
|
@@ -53,14 +53,15 @@ import * as i1$a from '@angular/material/checkbox';
|
|
|
53
53
|
import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';
|
|
54
54
|
import { MatTooltipModule, MatTooltip } from '@angular/material/tooltip';
|
|
55
55
|
import { MatSelect, MatOption as MatOption$1, MatSelectModule } from '@angular/material/select';
|
|
56
|
-
import {
|
|
56
|
+
import { MatTable, MatColumnDef, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell, MatFooterCellDef, MatFooterCell, MatHeaderRowDef, MatHeaderRow, MatRowDef, MatRow, MatFooterRowDef, MatFooterRow, MatTableModule } from '@angular/material/table';
|
|
57
57
|
import * as i1$7 from '@angular/cdk/table';
|
|
58
58
|
import { CdkTableModule } from '@angular/cdk/table';
|
|
59
59
|
import { MatPaginator, MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';
|
|
60
|
-
import * as
|
|
60
|
+
import * as i4 from '@angular/material/sort';
|
|
61
61
|
import { MatSortModule, MatSort, MatSortHeader } from '@angular/material/sort';
|
|
62
62
|
import { __decorate, __param } from 'tslib';
|
|
63
63
|
import { CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, ScrollingModule } from '@angular/cdk/scrolling';
|
|
64
|
+
import { Subject as Subject$1 } from 'rxjs/internal/Subject';
|
|
64
65
|
import { MatProgressSpinnerModule, MatProgressSpinner } from '@angular/material/progress-spinner';
|
|
65
66
|
import { MatExpansionPanel, MatAccordion, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionModule } from '@angular/material/expansion';
|
|
66
67
|
import * as i1$b from '@angular/cdk/overlay';
|
|
@@ -17156,6 +17157,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
17156
17157
|
args: ['click', ['$event']]
|
|
17157
17158
|
}] } });
|
|
17158
17159
|
|
|
17160
|
+
/**
|
|
17161
|
+
* Determines merge order for table column contributor groups (ascending): lower values are merged first.
|
|
17162
|
+
* BASE groups are laid out first, PROJECTED groups are merged afterwards.
|
|
17163
|
+
*/
|
|
17164
|
+
var ElderTableGroupLayer;
|
|
17165
|
+
(function (ElderTableGroupLayer) {
|
|
17166
|
+
ElderTableGroupLayer[ElderTableGroupLayer["BASE"] = 0] = "BASE";
|
|
17167
|
+
ElderTableGroupLayer[ElderTableGroupLayer["PROJECTED"] = 1] = "PROJECTED";
|
|
17168
|
+
})(ElderTableGroupLayer || (ElderTableGroupLayer = {}));
|
|
17159
17169
|
class ColumnPositionSpec {
|
|
17160
17170
|
static relativeToColumn(col, position) {
|
|
17161
17171
|
return new ColumnPositionSpec(position, col);
|
|
@@ -17169,8 +17179,8 @@ class ColumnPositionSpec {
|
|
|
17169
17179
|
}
|
|
17170
17180
|
}
|
|
17171
17181
|
class ElderColumnGroup {
|
|
17172
|
-
constructor(
|
|
17173
|
-
this.
|
|
17182
|
+
constructor(groupLayer, columnsPosition, columns) {
|
|
17183
|
+
this.groupLayer = groupLayer;
|
|
17174
17184
|
this.columnsPosition = columnsPosition;
|
|
17175
17185
|
this.columns = columns;
|
|
17176
17186
|
}
|
|
@@ -17201,7 +17211,7 @@ class ElderColumnLayout {
|
|
|
17201
17211
|
* *
|
|
17202
17212
|
**************************************************************************/
|
|
17203
17213
|
renderColumns(colGroups) {
|
|
17204
|
-
const groupHierarchy = this.
|
|
17214
|
+
const groupHierarchy = this.sortGroupsByTableGroupLayer(colGroups);
|
|
17205
17215
|
const sorted = [];
|
|
17206
17216
|
// Now we can insert groups in defined order
|
|
17207
17217
|
let previousIndex = {
|
|
@@ -17255,25 +17265,21 @@ class ElderColumnLayout {
|
|
|
17255
17265
|
return previousGroup.startIndex;
|
|
17256
17266
|
}
|
|
17257
17267
|
}
|
|
17258
|
-
|
|
17259
|
-
return colGroups
|
|
17260
|
-
.sort((a, b) => {
|
|
17261
|
-
return naturalValueComparator(a.groupIndex, b.groupIndex);
|
|
17262
|
-
})
|
|
17263
|
-
.reverse();
|
|
17268
|
+
sortGroupsByTableGroupLayer(colGroups) {
|
|
17269
|
+
return colGroups.sort((a, b) => naturalValueComparator(a.groupLayer, b.groupLayer));
|
|
17264
17270
|
}
|
|
17265
17271
|
}
|
|
17266
17272
|
|
|
17267
17273
|
class ElderTableGroup {
|
|
17268
|
-
static create(
|
|
17269
|
-
return ElderTableGroup.of(UuidUtil.weakUuid4(),
|
|
17274
|
+
static create(groupLayer) {
|
|
17275
|
+
return ElderTableGroup.of(UuidUtil.weakUuid4(), groupLayer);
|
|
17270
17276
|
}
|
|
17271
|
-
static of(id,
|
|
17272
|
-
return new ElderTableGroup(id,
|
|
17277
|
+
static of(id, groupLayer) {
|
|
17278
|
+
return new ElderTableGroup(id, groupLayer);
|
|
17273
17279
|
}
|
|
17274
|
-
constructor(id,
|
|
17280
|
+
constructor(id, groupLayer) {
|
|
17275
17281
|
this.id = id;
|
|
17276
|
-
this.
|
|
17282
|
+
this.groupLayer = groupLayer;
|
|
17277
17283
|
}
|
|
17278
17284
|
}
|
|
17279
17285
|
class ElderTableModel {
|
|
@@ -17304,8 +17310,12 @@ class ElderTableModel {
|
|
|
17304
17310
|
* end([])
|
|
17305
17311
|
* @private
|
|
17306
17312
|
*/
|
|
17307
|
-
this.
|
|
17308
|
-
this.displayedColumnsInner$ =
|
|
17313
|
+
this.manualColumns$ = new BehaviorSubject(undefined);
|
|
17314
|
+
this.displayedColumnsInner$ = combineLatest([
|
|
17315
|
+
this.manualColumns$,
|
|
17316
|
+
this.columnDefs$,
|
|
17317
|
+
this.selectionVisible$,
|
|
17318
|
+
]).pipe(map(([manualColumns, columnDefs, selectionVisible]) => this.buildDisplayedColumns(manualColumns, columnDefs, selectionVisible)));
|
|
17309
17319
|
}
|
|
17310
17320
|
/***************************************************************************
|
|
17311
17321
|
* *
|
|
@@ -17319,10 +17329,10 @@ class ElderTableModel {
|
|
|
17319
17329
|
return this.selectionVisible$.getValue();
|
|
17320
17330
|
}
|
|
17321
17331
|
set displayedColumns(columns) {
|
|
17322
|
-
this.
|
|
17332
|
+
this.manualColumns$.next(columns);
|
|
17323
17333
|
}
|
|
17324
17334
|
get displayedColumns() {
|
|
17325
|
-
return this.
|
|
17335
|
+
return this.manualColumns$.getValue();
|
|
17326
17336
|
}
|
|
17327
17337
|
/***************************************************************************
|
|
17328
17338
|
* *
|
|
@@ -17339,17 +17349,17 @@ class ElderTableModel {
|
|
|
17339
17349
|
return this._sortGroups.values$;
|
|
17340
17350
|
}
|
|
17341
17351
|
// ---
|
|
17342
|
-
|
|
17352
|
+
valuesSortedByTableGroupLayer(myMap, groups) {
|
|
17343
17353
|
return Array.from(myMap.entries())
|
|
17344
17354
|
.sort(([a_key], [b_key]) => {
|
|
17345
|
-
const
|
|
17346
|
-
const
|
|
17347
|
-
return naturalValueComparator(
|
|
17355
|
+
const grpAGroupLayer = groups.get(a_key)?.groupLayer ?? ElderTableGroupLayer.PROJECTED;
|
|
17356
|
+
const grpBGroupLayer = groups.get(b_key)?.groupLayer ?? ElderTableGroupLayer.PROJECTED;
|
|
17357
|
+
return naturalValueComparator(grpAGroupLayer, grpBGroupLayer);
|
|
17348
17358
|
})
|
|
17349
17359
|
.map(([a_key, a_value]) => a_value);
|
|
17350
17360
|
}
|
|
17351
17361
|
sortAndFlatten(reactMap) {
|
|
17352
|
-
return reactMap.map$.pipe(map((myMap) => this.
|
|
17362
|
+
return reactMap.map$.pipe(map((myMap) => this.valuesSortedByTableGroupLayer(myMap, this._groups)), map((columns) => CollectionUtil.flatten(columns)));
|
|
17353
17363
|
}
|
|
17354
17364
|
/*
|
|
17355
17365
|
public get sortHeaders$(): Observable<MatSortHeader[]> {
|
|
@@ -17395,24 +17405,22 @@ class ElderTableModel {
|
|
|
17395
17405
|
* Private methods *
|
|
17396
17406
|
* *
|
|
17397
17407
|
**************************************************************************/
|
|
17398
|
-
|
|
17399
|
-
|
|
17400
|
-
|
|
17401
|
-
|
|
17402
|
-
|
|
17403
|
-
|
|
17404
|
-
|
|
17405
|
-
|
|
17406
|
-
|
|
17407
|
-
|
|
17408
|
-
});
|
|
17409
|
-
}
|
|
17410
|
-
}
|
|
17411
|
-
if (this.selectionVisible) {
|
|
17412
|
-
columns = ['select', ...columns];
|
|
17408
|
+
buildDisplayedColumns(manualColumns, columnDefs, selectionVisible) {
|
|
17409
|
+
let columns = manualColumns;
|
|
17410
|
+
if (!columns) {
|
|
17411
|
+
columns = [];
|
|
17412
|
+
// If the user did not define manual columns to display
|
|
17413
|
+
// Assume he wants all his own columns in given order
|
|
17414
|
+
if (columnDefs) {
|
|
17415
|
+
columnDefs.forEach((col) => {
|
|
17416
|
+
columns.push(col.name);
|
|
17417
|
+
});
|
|
17413
17418
|
}
|
|
17414
|
-
|
|
17415
|
-
|
|
17419
|
+
}
|
|
17420
|
+
if (selectionVisible) {
|
|
17421
|
+
columns = ['select', ...columns];
|
|
17422
|
+
}
|
|
17423
|
+
return columns;
|
|
17416
17424
|
}
|
|
17417
17425
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderTableModel, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17418
17426
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderTableModel }); }
|
|
@@ -17562,8 +17570,8 @@ class ElderTableModelQueryGroup {
|
|
|
17562
17570
|
* Static Builder *
|
|
17563
17571
|
* *
|
|
17564
17572
|
**************************************************************************/
|
|
17565
|
-
static start(tableModel,
|
|
17566
|
-
return new ElderTableModelQueryGroup(tableModel, ElderTableGroup.create(
|
|
17573
|
+
static start(tableModel, groupLayer) {
|
|
17574
|
+
return new ElderTableModelQueryGroup(tableModel, ElderTableGroup.create(groupLayer));
|
|
17567
17575
|
}
|
|
17568
17576
|
/***************************************************************************
|
|
17569
17577
|
* *
|
|
@@ -17632,7 +17640,7 @@ class ElderTableModelQueryGroup {
|
|
|
17632
17640
|
return columns.map((c) => new ElderTableColumnDirective(c));
|
|
17633
17641
|
}
|
|
17634
17642
|
updateColumnDefs(columns) {
|
|
17635
|
-
this.tableModel.updateColumnGroup(this.group, new ElderColumnGroup(this.group.
|
|
17643
|
+
this.tableModel.updateColumnGroup(this.group, new ElderColumnGroup(this.group.groupLayer, this.columnsPosition, columns));
|
|
17636
17644
|
}
|
|
17637
17645
|
updateRowDefs(rows) {
|
|
17638
17646
|
this.tableModel.updateRowDefs(this.group, rows);
|
|
@@ -17988,86 +17996,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
17988
17996
|
args: [{ selector: 'elder-data-navigation', imports: [ElderContinuatorComponent, MatPaginator], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"elder-data-navigation-bar layout-row flex-none place-end-center gap-md\">\n @if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"loadMore()\"\n ></elder-continuator>\n } @else if (isActivePaged) {\n @if (currentPage(); as page) {\n <mat-paginator\n class=\"flex-none\"\n [length]=\"total()\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n >\n </mat-paginator>\n }\n } @else {\n <span class=\"mat-caption noselect pr-md\" style=\"color: var(--md-sys-color-outline)\">\n {{ viewData()?.length }}\n </span>\n }\n</div>\n", styles: [".elder-data-navigation-bar{height:var(--elder-data-element-footer-height);overflow:hidden}\n"] }]
|
|
17989
17997
|
}], ctorParameters: () => [], propDecorators: { matPaginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }], elderContinuator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => ElderContinuatorComponent), { isSignal: true }] }] } });
|
|
17990
17998
|
|
|
17991
|
-
/**
|
|
17992
|
-
* Allows to extend an ElderTable from a parent component.
|
|
17993
|
-
*
|
|
17994
|
-
*/
|
|
17995
|
-
class ElderTableExtensionDirective {
|
|
17996
|
-
/***************************************************************************
|
|
17997
|
-
* *
|
|
17998
|
-
* Constructor *
|
|
17999
|
-
* *
|
|
18000
|
-
**************************************************************************/
|
|
18001
|
-
constructor(tableModel, _matSort, parentExtension) {
|
|
18002
|
-
this.tableModel = tableModel;
|
|
18003
|
-
this._matSort = _matSort;
|
|
18004
|
-
this.parentExtension = parentExtension;
|
|
18005
|
-
/***************************************************************************
|
|
18006
|
-
* *
|
|
18007
|
-
* Fields *
|
|
18008
|
-
* *
|
|
18009
|
-
**************************************************************************/
|
|
18010
|
-
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
18011
|
-
this.columnsPosition = ColumnPositionSpec.relativeToPrevGroup('start');
|
|
18012
|
-
this.destroy$ = new Subject();
|
|
18013
|
-
this._extensionGroupIndex = (parentExtension?.extensionGroupIndex ?? 0) + 1;
|
|
18014
|
-
if (this._matSort) {
|
|
18015
|
-
this._matSort.disableClear = true;
|
|
18016
|
-
}
|
|
18017
|
-
}
|
|
18018
|
-
/***************************************************************************
|
|
18019
|
-
* *
|
|
18020
|
-
* Life Cycle *
|
|
18021
|
-
* *
|
|
18022
|
-
**************************************************************************/
|
|
18023
|
-
ngAfterContentInit() {
|
|
18024
|
-
ElderTableModelQueryGroup.start(this.tableModel, this.extensionGroupIndex)
|
|
18025
|
-
.withColumnsPosition(this.columnsPosition)
|
|
18026
|
-
.withColumnDefs(this.columnDefsQuery, this.elderColumnsQuery)
|
|
18027
|
-
.withRowDefs(this.rowDefsQuery)
|
|
18028
|
-
.withSort(this._matSort)
|
|
18029
|
-
.bindUntil(this.destroy$);
|
|
18030
|
-
}
|
|
18031
|
-
ngOnDestroy() {
|
|
18032
|
-
this.destroy$.next();
|
|
18033
|
-
this.destroy$.complete();
|
|
18034
|
-
}
|
|
18035
|
-
/***************************************************************************
|
|
18036
|
-
* *
|
|
18037
|
-
* Properties *
|
|
18038
|
-
* *
|
|
18039
|
-
**************************************************************************/
|
|
18040
|
-
get extensionGroupIndex() {
|
|
18041
|
-
return this._extensionGroupIndex;
|
|
18042
|
-
}
|
|
18043
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderTableExtensionDirective, deps: [{ token: ElderTableModel }, { token: i2$2.MatSort, optional: true }, { token: ElderTableExtensionDirective, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18044
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.15", type: ElderTableExtensionDirective, isStandalone: true, selector: "[elderTableExtension]", inputs: { columnsPosition: "columnsPosition" }, providers: [ElderTableProviders.ExistingOrNewTableModel], queries: [{ propertyName: "columnDefsQuery", predicate: MatColumnDef }, { propertyName: "elderColumnsQuery", predicate: ElderTableColumnDirective }, { propertyName: "rowDefsQuery", predicate: MatRowDef }], ngImport: i0 }); }
|
|
18045
|
-
}
|
|
18046
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderTableExtensionDirective, decorators: [{
|
|
18047
|
-
type: Directive,
|
|
18048
|
-
args: [{
|
|
18049
|
-
selector: '[elderTableExtension]',
|
|
18050
|
-
providers: [ElderTableProviders.ExistingOrNewTableModel],
|
|
18051
|
-
}]
|
|
18052
|
-
}], ctorParameters: () => [{ type: ElderTableModel }, { type: i2$2.MatSort, decorators: [{
|
|
18053
|
-
type: Optional
|
|
18054
|
-
}] }, { type: ElderTableExtensionDirective, decorators: [{
|
|
18055
|
-
type: Optional
|
|
18056
|
-
}, {
|
|
18057
|
-
type: SkipSelf
|
|
18058
|
-
}] }], propDecorators: { columnDefsQuery: [{
|
|
18059
|
-
type: ContentChildren,
|
|
18060
|
-
args: [MatColumnDef]
|
|
18061
|
-
}], elderColumnsQuery: [{
|
|
18062
|
-
type: ContentChildren,
|
|
18063
|
-
args: [ElderTableColumnDirective]
|
|
18064
|
-
}], rowDefsQuery: [{
|
|
18065
|
-
type: ContentChildren,
|
|
18066
|
-
args: [MatRowDef]
|
|
18067
|
-
}], columnsPosition: [{
|
|
18068
|
-
type: Input
|
|
18069
|
-
}] } });
|
|
18070
|
-
|
|
18071
17999
|
/**
|
|
18072
18000
|
* The table navigation bar, typically located below the table,
|
|
18073
18001
|
* containing the pagination control and other table controls.
|
|
@@ -18093,10 +18021,9 @@ class ElderTableComponent extends ElderDataViewBaseComponent {
|
|
|
18093
18021
|
* Constructor *
|
|
18094
18022
|
* *
|
|
18095
18023
|
**************************************************************************/
|
|
18096
|
-
constructor(tableModel, selectionModel, dataViewOptionsProvider, matSort,
|
|
18024
|
+
constructor(tableModel, selectionModel, dataViewOptionsProvider, matSort, zone, interactionController) {
|
|
18097
18025
|
super(selectionModel, dataViewOptionsProvider, interactionController);
|
|
18098
18026
|
this.tableModel = tableModel;
|
|
18099
|
-
this.parentExtension = parentExtension;
|
|
18100
18027
|
this.zone = zone;
|
|
18101
18028
|
/***************************************************************************
|
|
18102
18029
|
* *
|
|
@@ -18138,7 +18065,6 @@ class ElderTableComponent extends ElderDataViewBaseComponent {
|
|
|
18138
18065
|
*/
|
|
18139
18066
|
this.rows$ = new BehaviorSubject([]);
|
|
18140
18067
|
this._matSort = matSort;
|
|
18141
|
-
this._extensionGroupIndex = (parentExtension?.extensionGroupIndex ?? 0) + 1;
|
|
18142
18068
|
if (this._matSort) {
|
|
18143
18069
|
this._matSort.disableClear = true;
|
|
18144
18070
|
}
|
|
@@ -18154,7 +18080,7 @@ class ElderTableComponent extends ElderDataViewBaseComponent {
|
|
|
18154
18080
|
ElderTableModelCdkTableBinding.of(this.tableModel).table(this.matTable).bindUntil(this.destroy$);
|
|
18155
18081
|
}
|
|
18156
18082
|
ngAfterContentInit() {
|
|
18157
|
-
ElderTableModelQueryGroup.start(this.tableModel,
|
|
18083
|
+
ElderTableModelQueryGroup.start(this.tableModel, ElderTableGroupLayer.BASE)
|
|
18158
18084
|
.withColumnsPosition(ColumnPositionSpec.relativeToPrevGroup('start'))
|
|
18159
18085
|
.withColumnDefs(this.columnDefs, this.elderColumns)
|
|
18160
18086
|
.withRowDefs(this.rowDefs)
|
|
@@ -18287,7 +18213,7 @@ class ElderTableComponent extends ElderDataViewBaseComponent {
|
|
|
18287
18213
|
const rows = this.rows$.getValue();
|
|
18288
18214
|
return rows.find((r) => this.getId(untracked(r.entity)) === this.getId(item));
|
|
18289
18215
|
}
|
|
18290
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderTableComponent, deps: [{ token: ElderTableModel }, { token: SelectionModel, optional: true }, { token: ElderDataViewOptionsProvider, optional: true, skipSelf: true }, { token:
|
|
18216
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderTableComponent, deps: [{ token: ElderTableModel }, { token: SelectionModel, optional: true }, { token: ElderDataViewOptionsProvider, optional: true, skipSelf: true }, { token: i4.MatSort, optional: true }, { token: i0.NgZone }, { token: DataViewInteractionControllerDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18291
18217
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ElderTableComponent, isStandalone: true, selector: "elder-table", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, idField: { classPropertyName: "idField", publicName: "idField", isSignal: false, isRequired: false, transformFunction: null }, removingField: { classPropertyName: "removingField", publicName: "removingField", isSignal: false, isRequired: false, transformFunction: null }, hiddenField: { classPropertyName: "hiddenField", publicName: "hiddenField", isSignal: false, isRequired: false, transformFunction: null }, keepSelection: { classPropertyName: "keepSelection", publicName: "keepSelection", isSignal: true, isRequired: false, transformFunction: null }, showFooterRow: { classPropertyName: "showFooterRow", publicName: "showFooterRow", isSignal: true, isRequired: false, transformFunction: null }, denseHorizontal: { classPropertyName: "denseHorizontal", publicName: "denseHorizontal", isSignal: true, isRequired: false, transformFunction: null }, hideHeaderRow: { classPropertyName: "hideHeaderRow", publicName: "hideHeaderRow", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, displayedColumns: { classPropertyName: "displayedColumns", publicName: "displayedColumns", isSignal: false, isRequired: false, transformFunction: null }, selectionVisible: { classPropertyName: "selectionVisible", publicName: "selectionVisible", isSignal: false, isRequired: false, transformFunction: null } }, providers: [
|
|
18292
18218
|
ElderTableProviders.ExistingOrNewTableModel,
|
|
18293
18219
|
{
|
|
@@ -18337,12 +18263,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
18337
18263
|
type: Optional
|
|
18338
18264
|
}, {
|
|
18339
18265
|
type: SkipSelf
|
|
18340
|
-
}] }, { type:
|
|
18341
|
-
type: Optional
|
|
18342
|
-
}] }, { type: ElderTableExtensionDirective, decorators: [{
|
|
18266
|
+
}] }, { type: i4.MatSort, decorators: [{
|
|
18343
18267
|
type: Optional
|
|
18344
|
-
}, {
|
|
18345
|
-
type: SkipSelf
|
|
18346
18268
|
}] }, { type: i0.NgZone }, { type: DataViewInteractionControllerDirective }], propDecorators: { matTable: [{
|
|
18347
18269
|
type: ViewChild,
|
|
18348
18270
|
args: [MatTable, { static: true }]
|
|
@@ -20304,7 +20226,7 @@ class ElderNumberCellDirective {
|
|
|
20304
20226
|
matSortHeader.arrowPosition = 'before';
|
|
20305
20227
|
}
|
|
20306
20228
|
}
|
|
20307
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderNumberCellDirective, deps: [{ token:
|
|
20229
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderNumberCellDirective, deps: [{ token: i4.MatSortHeader, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20308
20230
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.15", type: ElderNumberCellDirective, isStandalone: true, selector: "[elderNumberCell]", host: { properties: { "class.elder-number-cell": "true" } }, ngImport: i0 }); }
|
|
20309
20231
|
}
|
|
20310
20232
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderNumberCellDirective, decorators: [{
|
|
@@ -20315,7 +20237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
20315
20237
|
'[class.elder-number-cell]': 'true',
|
|
20316
20238
|
},
|
|
20317
20239
|
}]
|
|
20318
|
-
}], ctorParameters: () => [{ type:
|
|
20240
|
+
}], ctorParameters: () => [{ type: i4.MatSortHeader, decorators: [{
|
|
20319
20241
|
type: Optional
|
|
20320
20242
|
}] }] });
|
|
20321
20243
|
|
|
@@ -20372,6 +20294,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
20372
20294
|
type: Input
|
|
20373
20295
|
}] } });
|
|
20374
20296
|
|
|
20297
|
+
/**
|
|
20298
|
+
* Adds additonal columns into an ElderTable.
|
|
20299
|
+
*/
|
|
20300
|
+
class ElderProjectedColumnsDirective {
|
|
20301
|
+
/***************************************************************************
|
|
20302
|
+
* *
|
|
20303
|
+
* Constructor *
|
|
20304
|
+
* *
|
|
20305
|
+
**************************************************************************/
|
|
20306
|
+
constructor(tableModel, _matSort) {
|
|
20307
|
+
this.tableModel = tableModel;
|
|
20308
|
+
this._matSort = _matSort;
|
|
20309
|
+
/***************************************************************************
|
|
20310
|
+
* *
|
|
20311
|
+
* Fields *
|
|
20312
|
+
* *
|
|
20313
|
+
**************************************************************************/
|
|
20314
|
+
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
20315
|
+
this.columnsPosition = ColumnPositionSpec.relativeToPrevGroup('start');
|
|
20316
|
+
this.destroy$ = new Subject();
|
|
20317
|
+
if (this._matSort) {
|
|
20318
|
+
this._matSort.disableClear = true;
|
|
20319
|
+
}
|
|
20320
|
+
}
|
|
20321
|
+
/***************************************************************************
|
|
20322
|
+
* *
|
|
20323
|
+
* Life Cycle *
|
|
20324
|
+
* *
|
|
20325
|
+
**************************************************************************/
|
|
20326
|
+
ngAfterContentInit() {
|
|
20327
|
+
ElderTableModelQueryGroup.start(this.tableModel, ElderTableGroupLayer.PROJECTED)
|
|
20328
|
+
.withColumnsPosition(this.columnsPosition)
|
|
20329
|
+
.withColumnDefs(this.columnDefsQuery, this.elderColumnsQuery)
|
|
20330
|
+
.withRowDefs(this.rowDefsQuery)
|
|
20331
|
+
.withSort(this._matSort)
|
|
20332
|
+
.bindUntil(this.destroy$);
|
|
20333
|
+
}
|
|
20334
|
+
ngOnDestroy() {
|
|
20335
|
+
this.destroy$.next();
|
|
20336
|
+
this.destroy$.complete();
|
|
20337
|
+
}
|
|
20338
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderProjectedColumnsDirective, deps: [{ token: ElderTableModel }, { token: i4.MatSort, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20339
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.15", type: ElderProjectedColumnsDirective, isStandalone: true, selector: "[elderProjectedColumns]", inputs: { columnsPosition: "columnsPosition" }, providers: [ElderTableProviders.ExistingOrNewTableModel], queries: [{ propertyName: "columnDefsQuery", predicate: MatColumnDef }, { propertyName: "elderColumnsQuery", predicate: ElderTableColumnDirective }, { propertyName: "rowDefsQuery", predicate: MatRowDef }], ngImport: i0 }); }
|
|
20340
|
+
}
|
|
20341
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderProjectedColumnsDirective, decorators: [{
|
|
20342
|
+
type: Directive,
|
|
20343
|
+
args: [{
|
|
20344
|
+
selector: '[elderProjectedColumns]',
|
|
20345
|
+
providers: [ElderTableProviders.ExistingOrNewTableModel],
|
|
20346
|
+
}]
|
|
20347
|
+
}], ctorParameters: () => [{ type: ElderTableModel }, { type: i4.MatSort, decorators: [{
|
|
20348
|
+
type: Optional
|
|
20349
|
+
}] }], propDecorators: { columnDefsQuery: [{
|
|
20350
|
+
type: ContentChildren,
|
|
20351
|
+
args: [MatColumnDef]
|
|
20352
|
+
}], elderColumnsQuery: [{
|
|
20353
|
+
type: ContentChildren,
|
|
20354
|
+
args: [ElderTableColumnDirective]
|
|
20355
|
+
}], rowDefsQuery: [{
|
|
20356
|
+
type: ContentChildren,
|
|
20357
|
+
args: [MatRowDef]
|
|
20358
|
+
}], columnsPosition: [{
|
|
20359
|
+
type: Input
|
|
20360
|
+
}] } });
|
|
20361
|
+
|
|
20375
20362
|
/**
|
|
20376
20363
|
* Forces a new Elder Table Model, thus breaking this component and its children from a potential parent elder-table.
|
|
20377
20364
|
* With this, nested elder-tables are possible.
|
|
@@ -20547,7 +20534,7 @@ class ElderTableModule {
|
|
|
20547
20534
|
ElderNumberCellDirective,
|
|
20548
20535
|
ElderTableActivationDirective,
|
|
20549
20536
|
ElderTableRowDirective,
|
|
20550
|
-
|
|
20537
|
+
ElderProjectedColumnsDirective,
|
|
20551
20538
|
ElderTableColumnDirective,
|
|
20552
20539
|
ElderTableRootDirective,
|
|
20553
20540
|
ElderDeleteActiveDirective,
|
|
@@ -20558,7 +20545,7 @@ class ElderTableModule {
|
|
|
20558
20545
|
ElderCenterCellDirective,
|
|
20559
20546
|
ElderNumberCellDirective,
|
|
20560
20547
|
ElderTableActivationDirective,
|
|
20561
|
-
|
|
20548
|
+
ElderProjectedColumnsDirective,
|
|
20562
20549
|
ElderTableRootDirective,
|
|
20563
20550
|
ElderDeleteActiveDirective,
|
|
20564
20551
|
ElderTableDropListConnectorDirective] }); }
|
|
@@ -20627,7 +20614,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
20627
20614
|
ElderNumberCellDirective,
|
|
20628
20615
|
ElderTableActivationDirective,
|
|
20629
20616
|
ElderTableRowDirective,
|
|
20630
|
-
|
|
20617
|
+
ElderProjectedColumnsDirective,
|
|
20631
20618
|
ElderTableColumnDirective,
|
|
20632
20619
|
ElderTableRootDirective,
|
|
20633
20620
|
ElderDeleteActiveDirective,
|
|
@@ -20641,7 +20628,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
20641
20628
|
ElderCenterCellDirective,
|
|
20642
20629
|
ElderNumberCellDirective,
|
|
20643
20630
|
ElderTableActivationDirective,
|
|
20644
|
-
|
|
20631
|
+
ElderProjectedColumnsDirective,
|
|
20645
20632
|
ElderTableRootDirective,
|
|
20646
20633
|
ElderDeleteActiveDirective,
|
|
20647
20634
|
ElderTableDropListConnectorDirective,
|
|
@@ -23716,20 +23703,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
23716
23703
|
args: ['elderAutocomplete']
|
|
23717
23704
|
}] } });
|
|
23718
23705
|
|
|
23719
|
-
class ElderSelectSelectionKeysDirective {
|
|
23720
|
-
constructor() {
|
|
23721
|
-
this.selectionKeys = input([], { ...(ngDevMode ? { debugName: "selectionKeys" } : /* istanbul ignore next */ {}), alias: 'elderSelectSelectionKeys' });
|
|
23722
|
-
}
|
|
23723
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderSelectSelectionKeysDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23724
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.15", type: ElderSelectSelectionKeysDirective, isStandalone: true, selector: "[elderSelectSelectionKeys]", inputs: { selectionKeys: { classPropertyName: "selectionKeys", publicName: "elderSelectSelectionKeys", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
23725
|
-
}
|
|
23726
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderSelectSelectionKeysDirective, decorators: [{
|
|
23727
|
-
type: Directive,
|
|
23728
|
-
args: [{
|
|
23729
|
-
selector: '[elderSelectSelectionKeys]',
|
|
23730
|
-
}]
|
|
23731
|
-
}], propDecorators: { selectionKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "elderSelectSelectionKeys", required: false }] }] } });
|
|
23732
|
-
|
|
23733
23706
|
class ElderSelectOnTabDirective {
|
|
23734
23707
|
constructor() {
|
|
23735
23708
|
/***************************************************************************
|
|
@@ -23742,15 +23715,11 @@ class ElderSelectOnTabDirective {
|
|
|
23742
23715
|
this.elderSelect = inject(ElderSelectComponent, {
|
|
23743
23716
|
skipSelf: true,
|
|
23744
23717
|
});
|
|
23745
|
-
this.
|
|
23718
|
+
this.destroy$ = new Subject$1();
|
|
23746
23719
|
this.controlValueAccessor = this.elderSelect;
|
|
23747
23720
|
this.panelOpen = false;
|
|
23748
23721
|
this.autocompleteTextTyped = false;
|
|
23749
23722
|
this.panelNavigatedWithArrowKeys = false;
|
|
23750
|
-
this.selectionKeysDirective = inject(ElderSelectSelectionKeysDirective, {
|
|
23751
|
-
optional: true,
|
|
23752
|
-
});
|
|
23753
|
-
this.selectionKeys = computed(() => this.selectionKeysDirective?.selectionKeys() ?? [], ...(ngDevMode ? [{ debugName: "selectionKeys" }] : /* istanbul ignore next */ []));
|
|
23754
23723
|
}
|
|
23755
23724
|
/***************************************************************************
|
|
23756
23725
|
* *
|
|
@@ -23771,18 +23740,6 @@ class ElderSelectOnTabDirective {
|
|
|
23771
23740
|
this.selectActiveOption();
|
|
23772
23741
|
}
|
|
23773
23742
|
}
|
|
23774
|
-
handleKeydown(event) {
|
|
23775
|
-
if (!this.selectionKeys().includes(event.key)) {
|
|
23776
|
-
return;
|
|
23777
|
-
}
|
|
23778
|
-
if (!this.panelOpen) {
|
|
23779
|
-
return;
|
|
23780
|
-
}
|
|
23781
|
-
event.preventDefault();
|
|
23782
|
-
event.stopPropagation();
|
|
23783
|
-
this.selectActiveOption();
|
|
23784
|
-
this.autoTrigger.closePanel();
|
|
23785
|
-
}
|
|
23786
23743
|
/***************************************************************************
|
|
23787
23744
|
* *
|
|
23788
23745
|
* Life Cycle *
|
|
@@ -23792,6 +23749,10 @@ class ElderSelectOnTabDirective {
|
|
|
23792
23749
|
this.observePanelOpen();
|
|
23793
23750
|
this.observeAutocompleteSelection();
|
|
23794
23751
|
}
|
|
23752
|
+
ngOnDestroy() {
|
|
23753
|
+
this.destroy$.next();
|
|
23754
|
+
this.destroy$.complete();
|
|
23755
|
+
}
|
|
23795
23756
|
/***************************************************************************
|
|
23796
23757
|
* *
|
|
23797
23758
|
* Private methods *
|
|
@@ -23807,7 +23768,7 @@ class ElderSelectOnTabDirective {
|
|
|
23807
23768
|
observePanelOpen() {
|
|
23808
23769
|
const autocomplete = this.autoTrigger.autocomplete;
|
|
23809
23770
|
merge(autocomplete.opened.pipe(map(() => true)), autocomplete.closed.pipe(map(() => false)))
|
|
23810
|
-
.pipe(
|
|
23771
|
+
.pipe(takeUntil(this.destroy$), delay(0))
|
|
23811
23772
|
.subscribe((isOpen) => {
|
|
23812
23773
|
this.panelOpen = isOpen;
|
|
23813
23774
|
if (isOpen) {
|
|
@@ -23822,7 +23783,7 @@ class ElderSelectOnTabDirective {
|
|
|
23822
23783
|
this.autoTrigger.optionSelections
|
|
23823
23784
|
.pipe(
|
|
23824
23785
|
// TODO https://github.com/angular/components/pull/14813
|
|
23825
|
-
|
|
23786
|
+
takeUntil(this.destroy$), tap((opt) => this.logger.debug('[optionSelections] CHANGED ', opt)), map((opt) => opt.isUserInput))
|
|
23826
23787
|
.subscribe((isUserInput) => (this.autocompleteTextTyped = isUserInput));
|
|
23827
23788
|
}
|
|
23828
23789
|
selectActiveOption() {
|
|
@@ -23893,7 +23854,7 @@ class ElderSelectOnTabDirective {
|
|
|
23893
23854
|
});
|
|
23894
23855
|
}
|
|
23895
23856
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderSelectOnTabDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23896
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.15", type: ElderSelectOnTabDirective, isStandalone: true, selector: "[elderSelectOnTab]", host: { listeners: { "keydown.arrowup": "handleVerticalArrowKeyPress()", "keydown.arrowdown": "handleVerticalArrowKeyPress()", "input": "handleInputTyping()", "keydown.tab": "handleTabKeyPress()"
|
|
23857
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.15", type: ElderSelectOnTabDirective, isStandalone: true, selector: "[elderSelectOnTab]", host: { listeners: { "keydown.arrowup": "handleVerticalArrowKeyPress()", "keydown.arrowdown": "handleVerticalArrowKeyPress()", "input": "handleInputTyping()", "keydown.tab": "handleTabKeyPress()" } }, ngImport: i0 }); }
|
|
23897
23858
|
}
|
|
23898
23859
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderSelectOnTabDirective, decorators: [{
|
|
23899
23860
|
type: Directive,
|
|
@@ -23912,9 +23873,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
23912
23873
|
}], handleTabKeyPress: [{
|
|
23913
23874
|
type: HostListener,
|
|
23914
23875
|
args: ['keydown.tab']
|
|
23915
|
-
}], handleKeydown: [{
|
|
23916
|
-
type: HostListener,
|
|
23917
|
-
args: ['keydown', ['$event']]
|
|
23918
23876
|
}] } });
|
|
23919
23877
|
|
|
23920
23878
|
class ElderAutocompleteOptionSelected {
|
|
@@ -29356,6 +29314,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
29356
29314
|
}]
|
|
29357
29315
|
}] });
|
|
29358
29316
|
|
|
29317
|
+
class ElderScrollbarScopeDirective {
|
|
29318
|
+
constructor() {
|
|
29319
|
+
/***************************************************************************
|
|
29320
|
+
* *
|
|
29321
|
+
* State *
|
|
29322
|
+
* *
|
|
29323
|
+
**************************************************************************/
|
|
29324
|
+
this._wideScrollbarMode = signal(false, ...(ngDevMode ? [{ debugName: "_wideScrollbarMode" }] : /* istanbul ignore next */ []));
|
|
29325
|
+
/***************************************************************************
|
|
29326
|
+
* *
|
|
29327
|
+
* Template bindings *
|
|
29328
|
+
* *
|
|
29329
|
+
**************************************************************************/
|
|
29330
|
+
this.wideScrollbarMode = this._wideScrollbarMode.asReadonly();
|
|
29331
|
+
}
|
|
29332
|
+
/***************************************************************************
|
|
29333
|
+
* *
|
|
29334
|
+
* Public API *
|
|
29335
|
+
* *
|
|
29336
|
+
**************************************************************************/
|
|
29337
|
+
activateWideScrollbarMode() {
|
|
29338
|
+
this._wideScrollbarMode.set(true);
|
|
29339
|
+
}
|
|
29340
|
+
deactivateWideScrollbarMode() {
|
|
29341
|
+
this._wideScrollbarMode.set(false);
|
|
29342
|
+
}
|
|
29343
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderScrollbarScopeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29344
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.15", type: ElderScrollbarScopeDirective, isStandalone: true, selector: "[elderScrollbarScope]", host: { properties: { "class.elder-scrollbar-lg": "wideScrollbarMode()" } }, ngImport: i0 }); }
|
|
29345
|
+
}
|
|
29346
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderScrollbarScopeDirective, decorators: [{
|
|
29347
|
+
type: Directive,
|
|
29348
|
+
args: [{
|
|
29349
|
+
selector: '[elderScrollbarScope]',
|
|
29350
|
+
host: {
|
|
29351
|
+
'[class.elder-scrollbar-lg]': 'wideScrollbarMode()',
|
|
29352
|
+
},
|
|
29353
|
+
}]
|
|
29354
|
+
}] });
|
|
29355
|
+
|
|
29359
29356
|
/**
|
|
29360
29357
|
* Bootstrap service that initializes services on startup.
|
|
29361
29358
|
*/
|
|
@@ -29982,7 +29979,7 @@ class ElderShellComponent {
|
|
|
29982
29979
|
return false;
|
|
29983
29980
|
}
|
|
29984
29981
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderShellComponent, deps: [{ token: ElderServicesBootstrap }, { token: ElderShellService }, { token: ElderRouteOutletDrawerService }, { token: i0.ChangeDetectorRef }, { token: GlobalDragDropService }, { token: i0.Renderer2 }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29985
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ElderShellComponent, isStandalone: true, selector: "elder-shell", inputs: { sideNavToggleEnabled: { classPropertyName: "sideNavToggleEnabled", publicName: "sideNavToggleEnabled", isSignal: true, isRequired: false, transformFunction: null }, leftSideAutoFocus: { classPropertyName: "leftSideAutoFocus", publicName: "leftSideAutoFocus", isSignal: true, isRequired: false, transformFunction: null }, rightSideAutoFocus: { classPropertyName: "rightSideAutoFocus", publicName: "rightSideAutoFocus", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, navMenuSvgIcon: { classPropertyName: "navMenuSvgIcon", publicName: "navMenuSvgIcon", isSignal: true, isRequired: false, transformFunction: null }, menuColor: { classPropertyName: "menuColor", publicName: "menuColor", isSignal: true, isRequired: false, transformFunction: null }, menuIconColor: { classPropertyName: "menuIconColor", publicName: "menuIconColor", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "sideContentLeft", first: true, predicate: ElderShellSideLeftDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "sideContentRight", first: true, predicate: ElderShellSideRightDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "centerContent", first: true, predicate: ElderShellCenterDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "staticNavContent", first: true, predicate: ElderShellStaticNavSlotDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "rightSideDrawer", first: true, predicate: ["rightSideDetail"], descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container\n elderThemeApplier\n class=\"full-width\"\n (backdropClick)=\"onBackdropClick($event)\"\n>\n <!-- Left Side Nav -->\n <mat-sidenav\n position=\"start\"\n mode=\"over\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"leftSideAutoFocus()\"\n [opened]=\"leftSideContentOpen()\"\n (closedStart)=\"blurNavIconFocus()\"\n (closed)=\"closeLeftSideContent()\"\n restoreFocus=\"false\"\n >\n <div class=\"layout-col full elder-side-nav\">\n <ng-container *ngTemplateOutlet=\"sideContentLeft || fallbackSideContentLeft\"></ng-container>\n </div>\n </mat-sidenav>\n\n <!-- Main Content -->\n <mat-sidenav-content>\n <div class=\"layout-col full\">\n <ng-container *ngTemplateOutlet=\"centerContent || fallbackCenterContent\"></ng-container>\n </div>\n </mat-sidenav-content>\n\n <!-- Right Side Detail -->\n <mat-sidenav\n mode=\"over\"\n #rightSideDetail\n id=\"elder-right-side-detail\"\n position=\"end\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"rightSideAutoFocus()\"\n [disableClose]=\"true\"\n (keydown.escape)=\"onEscapeRightSide($event)\"\n >\n <div class=\"layout-col full\">\n <ng-container *ngTemplateOutlet=\"sideContentRight || fallbackSideContentRight\"></ng-container>\n </div>\n </mat-sidenav>\n</mat-sidenav-container>\n\n<ng-template #fallbackSideContentLeft>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">No Left Side Content Defined!</p>\n </div>\n</ng-template>\n\n<ng-template #fallbackSideContentRight>\n <router-outlet name=\"side\" class=\"router-flex\"></router-outlet>\n</ng-template>\n\n<ng-template #fallbackCenterContent>\n <div class=\"layout-col full\">\n <!-- Header -->\n <ng-container *ngTemplateOutlet=\"headerTemplate() || defaultHeaderTemplate\"></ng-container>\n\n <!-- Center -->\n <div class=\"layout-row flex\">\n <!-- Static Nav -->\n <ng-container\n *ngTemplateOutlet=\"staticNavTemplate() || defaultStaticNavTemplate\"\n ></ng-container>\n <div class=\"layout-col flex\">\n <!-- Main Content -->\n <ng-container *ngTemplateOutlet=\"centerTemplate() || defaultCenterTemplate\"></ng-container>\n </div>\n </div>\n\n <!-- Footer -->\n <ng-container *ngTemplateOutlet=\"footerTemplate() || defaultFooterTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #defaultHeaderTemplate>\n <elder-toolbar\n [color]=\"color()\"\n class=\"elder-main-toolbar flex-none\"\n style=\"max-width: 100%; min-width: 100%\"\n >\n <!-- Toolbar Prefix: Sidenav Toggle -->\n @if (sideNavToggleEnabled()) {\n <mat-toolbar\n [color]=\"menuColor()\"\n class=\"flex-none elder-toolbar-main-nav-button-container pl-lg\"\n style=\"width: auto\"\n >\n <button\n class=\"elder-logo-btn elder-toolbar-main-nav-button\"\n mat-icon-button\n [color]=\"menuIconColor()\"\n type=\"button\"\n (click)=\"toggleSideNav()\"\n [class.elder-logo-btn]=\"!!navMenuSvgIcon\"\n >\n @if (navMenuSvgIcon()) {\n <mat-icon [svgIcon]=\"navMenuSvgIcon()\"></mat-icon>\n } @else {\n <mat-icon>menu</mat-icon>\n }\n </button>\n </mat-toolbar>\n }\n </elder-toolbar>\n</ng-template>\n\n<ng-template #defaultStaticNavTemplate>\n @if (staticNavOpen()) {\n <div class=\"layout-col elder-static-nav-container\">\n <ng-container *ngTemplateOutlet=\"staticNavContent\"></ng-container>\n </div>\n }\n</ng-template>\n\n<ng-template #defaultCenterTemplate>\n <div class=\"flex layout-row\">\n <!-- Primary Router Outlet -->\n <router-outlet class=\"router-flex\"></router-outlet>\n </div>\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <!-- Default Footer is empty -->\n</ng-template>\n", styles: ["mat-sidenav{margin:0;height:100%;overflow:hidden}mat-sidenav .elder-side-nav{min-width:350px}mat-sidenav-container{margin:0;width:100%;height:100%;overflow:hidden}.elder-logo-btn{display:flex;justify-content:center;align-items:center;padding:0!important}.elder-logo-btn .mat-icon{--mat-icon-button-icon-size: 48px !important;height:var(--mat-icon-button-icon-size);width:var(--mat-icon-button-icon-size)}\n"], dependencies: [{ kind: "component", type: MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "directive", type: ElderThemeApplierDirective, selector: "[elderThemeApplier]" }, { kind: "component", type: MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: ElderToolbarComponent, selector: "elder-toolbar", inputs: ["color"] }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { 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 }); }
|
|
29982
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ElderShellComponent, isStandalone: true, selector: "elder-shell", inputs: { sideNavToggleEnabled: { classPropertyName: "sideNavToggleEnabled", publicName: "sideNavToggleEnabled", isSignal: true, isRequired: false, transformFunction: null }, leftSideAutoFocus: { classPropertyName: "leftSideAutoFocus", publicName: "leftSideAutoFocus", isSignal: true, isRequired: false, transformFunction: null }, rightSideAutoFocus: { classPropertyName: "rightSideAutoFocus", publicName: "rightSideAutoFocus", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, navMenuSvgIcon: { classPropertyName: "navMenuSvgIcon", publicName: "navMenuSvgIcon", isSignal: true, isRequired: false, transformFunction: null }, menuColor: { classPropertyName: "menuColor", publicName: "menuColor", isSignal: true, isRequired: false, transformFunction: null }, menuIconColor: { classPropertyName: "menuIconColor", publicName: "menuIconColor", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "sideContentLeft", first: true, predicate: ElderShellSideLeftDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "sideContentRight", first: true, predicate: ElderShellSideRightDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "centerContent", first: true, predicate: ElderShellCenterDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "staticNavContent", first: true, predicate: ElderShellStaticNavSlotDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "rightSideDrawer", first: true, predicate: ["rightSideDetail"], descendants: true, static: true }], hostDirectives: [{ directive: ElderScrollbarScopeDirective }], ngImport: i0, template: "<mat-sidenav-container\n elderThemeApplier\n class=\"full-width\"\n (backdropClick)=\"onBackdropClick($event)\"\n>\n <!-- Left Side Nav -->\n <mat-sidenav\n position=\"start\"\n mode=\"over\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"leftSideAutoFocus()\"\n [opened]=\"leftSideContentOpen()\"\n (closedStart)=\"blurNavIconFocus()\"\n (closed)=\"closeLeftSideContent()\"\n restoreFocus=\"false\"\n >\n <div class=\"layout-col full elder-side-nav\">\n <ng-container *ngTemplateOutlet=\"sideContentLeft || fallbackSideContentLeft\"></ng-container>\n </div>\n </mat-sidenav>\n\n <!-- Main Content -->\n <mat-sidenav-content>\n <div class=\"layout-col full\">\n <ng-container *ngTemplateOutlet=\"centerContent || fallbackCenterContent\"></ng-container>\n </div>\n </mat-sidenav-content>\n\n <!-- Right Side Detail -->\n <mat-sidenav\n mode=\"over\"\n #rightSideDetail\n id=\"elder-right-side-detail\"\n position=\"end\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"rightSideAutoFocus()\"\n [disableClose]=\"true\"\n (keydown.escape)=\"onEscapeRightSide($event)\"\n >\n <div class=\"layout-col full\">\n <ng-container *ngTemplateOutlet=\"sideContentRight || fallbackSideContentRight\"></ng-container>\n </div>\n </mat-sidenav>\n</mat-sidenav-container>\n\n<ng-template #fallbackSideContentLeft>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">No Left Side Content Defined!</p>\n </div>\n</ng-template>\n\n<ng-template #fallbackSideContentRight>\n <router-outlet name=\"side\" class=\"router-flex\"></router-outlet>\n</ng-template>\n\n<ng-template #fallbackCenterContent>\n <div class=\"layout-col full\">\n <!-- Header -->\n <ng-container *ngTemplateOutlet=\"headerTemplate() || defaultHeaderTemplate\"></ng-container>\n\n <!-- Center -->\n <div class=\"layout-row flex\">\n <!-- Static Nav -->\n <ng-container\n *ngTemplateOutlet=\"staticNavTemplate() || defaultStaticNavTemplate\"\n ></ng-container>\n <div class=\"layout-col flex\">\n <!-- Main Content -->\n <ng-container *ngTemplateOutlet=\"centerTemplate() || defaultCenterTemplate\"></ng-container>\n </div>\n </div>\n\n <!-- Footer -->\n <ng-container *ngTemplateOutlet=\"footerTemplate() || defaultFooterTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #defaultHeaderTemplate>\n <elder-toolbar\n [color]=\"color()\"\n class=\"elder-main-toolbar flex-none\"\n style=\"max-width: 100%; min-width: 100%\"\n >\n <!-- Toolbar Prefix: Sidenav Toggle -->\n @if (sideNavToggleEnabled()) {\n <mat-toolbar\n [color]=\"menuColor()\"\n class=\"flex-none elder-toolbar-main-nav-button-container pl-lg\"\n style=\"width: auto\"\n >\n <button\n class=\"elder-logo-btn elder-toolbar-main-nav-button\"\n mat-icon-button\n [color]=\"menuIconColor()\"\n type=\"button\"\n (click)=\"toggleSideNav()\"\n [class.elder-logo-btn]=\"!!navMenuSvgIcon\"\n >\n @if (navMenuSvgIcon()) {\n <mat-icon [svgIcon]=\"navMenuSvgIcon()\"></mat-icon>\n } @else {\n <mat-icon>menu</mat-icon>\n }\n </button>\n </mat-toolbar>\n }\n </elder-toolbar>\n</ng-template>\n\n<ng-template #defaultStaticNavTemplate>\n @if (staticNavOpen()) {\n <div class=\"layout-col elder-static-nav-container\">\n <ng-container *ngTemplateOutlet=\"staticNavContent\"></ng-container>\n </div>\n }\n</ng-template>\n\n<ng-template #defaultCenterTemplate>\n <div class=\"flex layout-row\">\n <!-- Primary Router Outlet -->\n <router-outlet class=\"router-flex\"></router-outlet>\n </div>\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <!-- Default Footer is empty -->\n</ng-template>\n", styles: ["mat-sidenav{margin:0;height:100%;overflow:hidden}mat-sidenav .elder-side-nav{min-width:350px}mat-sidenav-container{margin:0;width:100%;height:100%;overflow:hidden}.elder-logo-btn{display:flex;justify-content:center;align-items:center;padding:0!important}.elder-logo-btn .mat-icon{--mat-icon-button-icon-size: 48px !important;height:var(--mat-icon-button-icon-size);width:var(--mat-icon-button-icon-size)}\n"], dependencies: [{ kind: "component", type: MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "directive", type: ElderThemeApplierDirective, selector: "[elderThemeApplier]" }, { kind: "component", type: MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: ElderToolbarComponent, selector: "elder-toolbar", inputs: ["color"] }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { 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 }); }
|
|
29986
29983
|
}
|
|
29987
29984
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderShellComponent, decorators: [{
|
|
29988
29985
|
type: Component,
|
|
@@ -29997,7 +29994,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
29997
29994
|
MatToolbar,
|
|
29998
29995
|
MatIconButton,
|
|
29999
29996
|
MatIcon,
|
|
30000
|
-
], template: "<mat-sidenav-container\n elderThemeApplier\n class=\"full-width\"\n (backdropClick)=\"onBackdropClick($event)\"\n>\n <!-- Left Side Nav -->\n <mat-sidenav\n position=\"start\"\n mode=\"over\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"leftSideAutoFocus()\"\n [opened]=\"leftSideContentOpen()\"\n (closedStart)=\"blurNavIconFocus()\"\n (closed)=\"closeLeftSideContent()\"\n restoreFocus=\"false\"\n >\n <div class=\"layout-col full elder-side-nav\">\n <ng-container *ngTemplateOutlet=\"sideContentLeft || fallbackSideContentLeft\"></ng-container>\n </div>\n </mat-sidenav>\n\n <!-- Main Content -->\n <mat-sidenav-content>\n <div class=\"layout-col full\">\n <ng-container *ngTemplateOutlet=\"centerContent || fallbackCenterContent\"></ng-container>\n </div>\n </mat-sidenav-content>\n\n <!-- Right Side Detail -->\n <mat-sidenav\n mode=\"over\"\n #rightSideDetail\n id=\"elder-right-side-detail\"\n position=\"end\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"rightSideAutoFocus()\"\n [disableClose]=\"true\"\n (keydown.escape)=\"onEscapeRightSide($event)\"\n >\n <div class=\"layout-col full\">\n <ng-container *ngTemplateOutlet=\"sideContentRight || fallbackSideContentRight\"></ng-container>\n </div>\n </mat-sidenav>\n</mat-sidenav-container>\n\n<ng-template #fallbackSideContentLeft>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">No Left Side Content Defined!</p>\n </div>\n</ng-template>\n\n<ng-template #fallbackSideContentRight>\n <router-outlet name=\"side\" class=\"router-flex\"></router-outlet>\n</ng-template>\n\n<ng-template #fallbackCenterContent>\n <div class=\"layout-col full\">\n <!-- Header -->\n <ng-container *ngTemplateOutlet=\"headerTemplate() || defaultHeaderTemplate\"></ng-container>\n\n <!-- Center -->\n <div class=\"layout-row flex\">\n <!-- Static Nav -->\n <ng-container\n *ngTemplateOutlet=\"staticNavTemplate() || defaultStaticNavTemplate\"\n ></ng-container>\n <div class=\"layout-col flex\">\n <!-- Main Content -->\n <ng-container *ngTemplateOutlet=\"centerTemplate() || defaultCenterTemplate\"></ng-container>\n </div>\n </div>\n\n <!-- Footer -->\n <ng-container *ngTemplateOutlet=\"footerTemplate() || defaultFooterTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #defaultHeaderTemplate>\n <elder-toolbar\n [color]=\"color()\"\n class=\"elder-main-toolbar flex-none\"\n style=\"max-width: 100%; min-width: 100%\"\n >\n <!-- Toolbar Prefix: Sidenav Toggle -->\n @if (sideNavToggleEnabled()) {\n <mat-toolbar\n [color]=\"menuColor()\"\n class=\"flex-none elder-toolbar-main-nav-button-container pl-lg\"\n style=\"width: auto\"\n >\n <button\n class=\"elder-logo-btn elder-toolbar-main-nav-button\"\n mat-icon-button\n [color]=\"menuIconColor()\"\n type=\"button\"\n (click)=\"toggleSideNav()\"\n [class.elder-logo-btn]=\"!!navMenuSvgIcon\"\n >\n @if (navMenuSvgIcon()) {\n <mat-icon [svgIcon]=\"navMenuSvgIcon()\"></mat-icon>\n } @else {\n <mat-icon>menu</mat-icon>\n }\n </button>\n </mat-toolbar>\n }\n </elder-toolbar>\n</ng-template>\n\n<ng-template #defaultStaticNavTemplate>\n @if (staticNavOpen()) {\n <div class=\"layout-col elder-static-nav-container\">\n <ng-container *ngTemplateOutlet=\"staticNavContent\"></ng-container>\n </div>\n }\n</ng-template>\n\n<ng-template #defaultCenterTemplate>\n <div class=\"flex layout-row\">\n <!-- Primary Router Outlet -->\n <router-outlet class=\"router-flex\"></router-outlet>\n </div>\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <!-- Default Footer is empty -->\n</ng-template>\n", styles: ["mat-sidenav{margin:0;height:100%;overflow:hidden}mat-sidenav .elder-side-nav{min-width:350px}mat-sidenav-container{margin:0;width:100%;height:100%;overflow:hidden}.elder-logo-btn{display:flex;justify-content:center;align-items:center;padding:0!important}.elder-logo-btn .mat-icon{--mat-icon-button-icon-size: 48px !important;height:var(--mat-icon-button-icon-size);width:var(--mat-icon-button-icon-size)}\n"] }]
|
|
29997
|
+
], hostDirectives: [ElderScrollbarScopeDirective], template: "<mat-sidenav-container\n elderThemeApplier\n class=\"full-width\"\n (backdropClick)=\"onBackdropClick($event)\"\n>\n <!-- Left Side Nav -->\n <mat-sidenav\n position=\"start\"\n mode=\"over\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"leftSideAutoFocus()\"\n [opened]=\"leftSideContentOpen()\"\n (closedStart)=\"blurNavIconFocus()\"\n (closed)=\"closeLeftSideContent()\"\n restoreFocus=\"false\"\n >\n <div class=\"layout-col full elder-side-nav\">\n <ng-container *ngTemplateOutlet=\"sideContentLeft || fallbackSideContentLeft\"></ng-container>\n </div>\n </mat-sidenav>\n\n <!-- Main Content -->\n <mat-sidenav-content>\n <div class=\"layout-col full\">\n <ng-container *ngTemplateOutlet=\"centerContent || fallbackCenterContent\"></ng-container>\n </div>\n </mat-sidenav-content>\n\n <!-- Right Side Detail -->\n <mat-sidenav\n mode=\"over\"\n #rightSideDetail\n id=\"elder-right-side-detail\"\n position=\"end\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"rightSideAutoFocus()\"\n [disableClose]=\"true\"\n (keydown.escape)=\"onEscapeRightSide($event)\"\n >\n <div class=\"layout-col full\">\n <ng-container *ngTemplateOutlet=\"sideContentRight || fallbackSideContentRight\"></ng-container>\n </div>\n </mat-sidenav>\n</mat-sidenav-container>\n\n<ng-template #fallbackSideContentLeft>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">No Left Side Content Defined!</p>\n </div>\n</ng-template>\n\n<ng-template #fallbackSideContentRight>\n <router-outlet name=\"side\" class=\"router-flex\"></router-outlet>\n</ng-template>\n\n<ng-template #fallbackCenterContent>\n <div class=\"layout-col full\">\n <!-- Header -->\n <ng-container *ngTemplateOutlet=\"headerTemplate() || defaultHeaderTemplate\"></ng-container>\n\n <!-- Center -->\n <div class=\"layout-row flex\">\n <!-- Static Nav -->\n <ng-container\n *ngTemplateOutlet=\"staticNavTemplate() || defaultStaticNavTemplate\"\n ></ng-container>\n <div class=\"layout-col flex\">\n <!-- Main Content -->\n <ng-container *ngTemplateOutlet=\"centerTemplate() || defaultCenterTemplate\"></ng-container>\n </div>\n </div>\n\n <!-- Footer -->\n <ng-container *ngTemplateOutlet=\"footerTemplate() || defaultFooterTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #defaultHeaderTemplate>\n <elder-toolbar\n [color]=\"color()\"\n class=\"elder-main-toolbar flex-none\"\n style=\"max-width: 100%; min-width: 100%\"\n >\n <!-- Toolbar Prefix: Sidenav Toggle -->\n @if (sideNavToggleEnabled()) {\n <mat-toolbar\n [color]=\"menuColor()\"\n class=\"flex-none elder-toolbar-main-nav-button-container pl-lg\"\n style=\"width: auto\"\n >\n <button\n class=\"elder-logo-btn elder-toolbar-main-nav-button\"\n mat-icon-button\n [color]=\"menuIconColor()\"\n type=\"button\"\n (click)=\"toggleSideNav()\"\n [class.elder-logo-btn]=\"!!navMenuSvgIcon\"\n >\n @if (navMenuSvgIcon()) {\n <mat-icon [svgIcon]=\"navMenuSvgIcon()\"></mat-icon>\n } @else {\n <mat-icon>menu</mat-icon>\n }\n </button>\n </mat-toolbar>\n }\n </elder-toolbar>\n</ng-template>\n\n<ng-template #defaultStaticNavTemplate>\n @if (staticNavOpen()) {\n <div class=\"layout-col elder-static-nav-container\">\n <ng-container *ngTemplateOutlet=\"staticNavContent\"></ng-container>\n </div>\n }\n</ng-template>\n\n<ng-template #defaultCenterTemplate>\n <div class=\"flex layout-row\">\n <!-- Primary Router Outlet -->\n <router-outlet class=\"router-flex\"></router-outlet>\n </div>\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <!-- Default Footer is empty -->\n</ng-template>\n", styles: ["mat-sidenav{margin:0;height:100%;overflow:hidden}mat-sidenav .elder-side-nav{min-width:350px}mat-sidenav-container{margin:0;width:100%;height:100%;overflow:hidden}.elder-logo-btn{display:flex;justify-content:center;align-items:center;padding:0!important}.elder-logo-btn .mat-icon{--mat-icon-button-icon-size: 48px !important;height:var(--mat-icon-button-icon-size);width:var(--mat-icon-button-icon-size)}\n"] }]
|
|
30001
29998
|
}], ctorParameters: () => [{ type: ElderServicesBootstrap }, { type: ElderShellService }, { type: ElderRouteOutletDrawerService }, { type: i0.ChangeDetectorRef }, { type: GlobalDragDropService }, { type: i0.Renderer2 }, { type: i0.DestroyRef }], propDecorators: { sideNavToggleEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "sideNavToggleEnabled", required: false }] }], leftSideAutoFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "leftSideAutoFocus", required: false }] }], rightSideAutoFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightSideAutoFocus", required: false }] }], sideContentLeft: [{
|
|
30002
29999
|
type: ContentChild,
|
|
30003
30000
|
args: [ElderShellSideLeftDirective, { read: TemplateRef, static: true }]
|
|
@@ -32435,7 +32432,7 @@ class ElderIntervalPickerComponent {
|
|
|
32435
32432
|
}
|
|
32436
32433
|
}
|
|
32437
32434
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderIntervalPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32438
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", 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 data-testid=\"interval-picker-smart-shift-left\"\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 data-testid=\"interval-picker-smart-shift-right\"\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 data-testid=\"interval-picker-shift-day-left\"\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 data-testid=\"interval-picker-shift-day-right\"\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 data-testid=\"interval-picker-shift-month-left\"\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 data-testid=\"interval-picker-shift-month-right\"\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 data-testid=\"interval-picker-shift-year-left\"\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 data-testid=\"interval-picker-shift-year-right\"\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 data-testid=\"interval-picker-shift-minute-left\"\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 data-testid=\"interval-picker-shift-minute-right\"\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 data-testid=\"interval-picker-shift-hour-left\"\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 data-testid=\"interval-picker-shift-hour-right\"\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$d.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$e.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 }); }
|
|
32435
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", 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 data-testid=\"interval-picker-smart-shift-left\"\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 data-testid=\"interval-picker-smart-shift-right\"\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 data-testid=\"interval-picker-shift-day-left\"\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 data-testid=\"interval-picker-shift-day-right\"\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 data-testid=\"interval-picker-shift-month-left\"\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 data-testid=\"interval-picker-shift-month-right\"\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 data-testid=\"interval-picker-shift-year-left\"\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 data-testid=\"interval-picker-shift-year-right\"\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 data-testid=\"interval-picker-shift-minute-left\"\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 data-testid=\"interval-picker-shift-minute-right\"\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 data-testid=\"interval-picker-shift-hour-left\"\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 data-testid=\"interval-picker-shift-hour-right\"\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$d.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$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$e.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 }); }
|
|
32439
32436
|
}
|
|
32440
32437
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderIntervalPickerComponent, decorators: [{
|
|
32441
32438
|
type: Component,
|
|
@@ -33868,6 +33865,7 @@ class ElderSearchPanelComponent {
|
|
|
33868
33865
|
this.overlay = signal(undefined, ...(ngDevMode ? [{ debugName: "overlay" }] : /* istanbul ignore next */ []));
|
|
33869
33866
|
const overlay$ = toObservable(this.overlay).pipe(filter((overlay) => !!overlay));
|
|
33870
33867
|
this.open$ = overlay$.pipe(switchMap((overlay) => overlay.attachedChange.pipe(startWith(overlay.attached))));
|
|
33868
|
+
this.isOpen = toSignal(this.open$);
|
|
33871
33869
|
}
|
|
33872
33870
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderSearchPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33873
33871
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.15", type: ElderSearchPanelComponent, isStandalone: true, selector: "elder-search-panel", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -35558,74 +35556,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
35558
35556
|
}] });
|
|
35559
35557
|
|
|
35560
35558
|
/**
|
|
35561
|
-
*
|
|
35559
|
+
* Directive that activates wide scrollbar mode.
|
|
35560
|
+
* Typically the ScrollbarScope is the global scope on the elder-shell,
|
|
35561
|
+
* but alternatively an ElderWideScrollbarDirective can be used to activate
|
|
35562
|
+
* targeted wide scrollbar.
|
|
35562
35563
|
*/
|
|
35563
|
-
class
|
|
35564
|
-
static { this.DEFAULT_WIDTH = 'lg'; }
|
|
35565
|
-
/***************************************************************************
|
|
35566
|
-
* *
|
|
35567
|
-
* Constructor *
|
|
35568
|
-
* *
|
|
35569
|
-
**************************************************************************/
|
|
35564
|
+
class ElderWideScrollbarDirective {
|
|
35570
35565
|
constructor() {
|
|
35571
|
-
|
|
35572
|
-
/***************************************************************************
|
|
35573
|
-
* *
|
|
35574
|
-
* Fields *
|
|
35575
|
-
* *
|
|
35576
|
-
**************************************************************************/
|
|
35577
|
-
this._size = ElderScrollbarDirective.DEFAULT_WIDTH;
|
|
35578
|
-
this.enabled = true; // no size input is needed, we have a default
|
|
35566
|
+
this.scrollbarScope = inject(ElderScrollbarScopeDirective);
|
|
35579
35567
|
}
|
|
35580
35568
|
/***************************************************************************
|
|
35581
35569
|
* *
|
|
35582
|
-
*
|
|
35583
|
-
* *
|
|
35584
|
-
**************************************************************************/
|
|
35585
|
-
/**
|
|
35586
|
-
* Optional input to select a specific {@link ElderSize}
|
|
35587
|
-
* @return size with default value lg
|
|
35588
|
-
*/
|
|
35589
|
-
get size() {
|
|
35590
|
-
return this._size;
|
|
35591
|
-
}
|
|
35592
|
-
set size(value) {
|
|
35593
|
-
this._size = value;
|
|
35594
|
-
this.elementClass = this.buildClass(value);
|
|
35595
|
-
}
|
|
35596
|
-
/***************************************************************************
|
|
35597
|
-
* *
|
|
35598
|
-
* Private Methods *
|
|
35570
|
+
* Lifecycle methods *
|
|
35599
35571
|
* *
|
|
35600
35572
|
**************************************************************************/
|
|
35601
|
-
|
|
35602
|
-
|
|
35573
|
+
ngOnInit() {
|
|
35574
|
+
this.scrollbarScope.activateWideScrollbarMode();
|
|
35603
35575
|
}
|
|
35604
|
-
|
|
35605
|
-
|
|
35576
|
+
ngOnDestroy() {
|
|
35577
|
+
this.scrollbarScope.deactivateWideScrollbarMode();
|
|
35606
35578
|
}
|
|
35607
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type:
|
|
35608
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.15", type:
|
|
35579
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderWideScrollbarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35580
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.15", type: ElderWideScrollbarDirective, isStandalone: true, selector: "[elderWideScrollbar]", ngImport: i0 }); }
|
|
35609
35581
|
}
|
|
35610
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type:
|
|
35582
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderWideScrollbarDirective, decorators: [{
|
|
35611
35583
|
type: Directive,
|
|
35612
35584
|
args: [{
|
|
35613
|
-
selector: '[
|
|
35614
|
-
}]
|
|
35615
|
-
}], ctorParameters: () => [], propDecorators: { size: [{
|
|
35616
|
-
type: Input
|
|
35617
|
-
}] } });
|
|
35618
|
-
|
|
35619
|
-
class ElderScrollbarModule {
|
|
35620
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderScrollbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
35621
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.15", ngImport: i0, type: ElderScrollbarModule, imports: [ElderScrollbarDirective], exports: [ElderScrollbarDirective] }); }
|
|
35622
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderScrollbarModule }); }
|
|
35623
|
-
}
|
|
35624
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ElderScrollbarModule, decorators: [{
|
|
35625
|
-
type: NgModule,
|
|
35626
|
-
args: [{
|
|
35627
|
-
imports: [ElderScrollbarDirective],
|
|
35628
|
-
exports: [ElderScrollbarDirective],
|
|
35585
|
+
selector: '[elderWideScrollbar]',
|
|
35629
35586
|
}]
|
|
35630
35587
|
}] });
|
|
35631
35588
|
|
|
@@ -39653,5 +39610,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
39653
39610
|
* Generated bundle index. Do not edit.
|
|
39654
39611
|
*/
|
|
39655
39612
|
|
|
39656
|
-
export { ActivationEventSource, ActivationModel, Arrays, AuditedEntity, AutoStartSpec, Batcher, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, CommonValidationMessageStrategy, ComparatorBuilder, CompositeSort, ConfirmDialogConfig, ContinuableListing, CountryPhoneFormatService, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, CuratedDataSource, CuratedListDataSource, CuratedPagedDataSource, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, CustomMatcherSpec, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextRange, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSelectionController, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceEntityPatch, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewActivationController, DataViewDndControllerService, DataViewDndGroupControllerService, DataViewDndModelUtil, DataViewDragEnteredEvent, DataViewDragExitedEvent, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewInteractionControllerDirective, DataViewItemDropEvent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DomUtil, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, DynamicValidationMessageStrategy, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAppearanceSettingsComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteModule, ElderBadgeDirective, ElderBasicPaneLayoutComponent, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCenterCellDirective, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsIncludeExcludeDirective, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderCompositeSortComponent, ElderCompositeSortDcDirective, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderContinuatorComponent, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataActivationDirective, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewDndDirective, ElderDataViewDndGroupDirective, ElderDataViewItemDragDirective, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDeleteActiveDirective, ElderDetailDialogComponent, ElderDetailDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFilterChipTemplateComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGenericResizableLayoutComponent, ElderGridActivationDirective, ElderGridComponent, ElderGridModule, ElderGridNavigationBarDirective, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderIntervalPickerBindingDirective, ElderIntervalPickerComponent, ElderIntervalPickerToggleComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalDndSupportDirective, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderLock, ElderLockContext, ElderLockContextDirective, ElderLockManagerService, ElderLockWarningService, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectChipsOptionsDirective, ElderMultiSelectFormField, ElderMultiTranslateHttpLoader, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPaneActionsComponent, ElderPaneComponent, ElderPaneContentComponent, ElderPaneHeaderComponent, ElderPaneSubtitleComponent, ElderPaneTitleComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderPopoverComponent, ElderPopoverContentDirective, ElderPopoverTriggerDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRailNavDirective, ElderRepeatPipe, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderResizableDirective, ElderResizablePaneLayoutComponent, ElderResizeBehaviorDirective, ElderResizeContainerComponent, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchIncludeExcludeDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSearchUrlDirective, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectOptionComponent, ElderSelectSelectionKeysDirective, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderShellStaticNavSlotDirective, ElderSinglePaneWrapperComponent, ElderSingleStateCheckboxDirective, ElderStackCardDirective, ElderStaticNavToggleComponent, ElderStopEventPropagationDirective, ElderSuggestionPanelComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableDropListConnectorDirective, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableNavigationBarDirective, ElderTableProviders, ElderTableRootDirective, ElderTableSelectionCellComponent, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTileComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToggleTextInputDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTranslatePipe, ElderTranslateService, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderWordAutocompleteDirective, EntitiesChangeEvent, EntityDelta, EntityIdUtil, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FallbackValidationMessageStrategy, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IncludeExcludeSelectionModel, IncludeExcludeState, IncludeExcludeValue, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalFormatUtil, IsoIntervalParsePipe, IsoIntervalPipe, ItemActivationEvent, ItemActivationOptions, ItemModel, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalDataFilter, LocalListDataSource, LocalPagedDataSource, Locale, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, ModifierKeyService, ModifierKeyState, MultiModelBaseComponent, NamedColorDirective, NamedColorSelectDirective, NamedColorSelectValueComponent, NextNumberUtil, ObjectFieldMatcher, ObjectPathResolver, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, PhoneFormatService, PhonePipe, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, ResizeObserverDirective, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, RoutedTabActivationFailed, SearchInputState, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionChangedEvent, SelectionEventSource, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, SimpleSearchInput, Sort, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TargetValue, TemplateCompositeControl, TemplatedSelectionDialogComponent, TemporalPlainDateInterval, TemporalUtil, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, Translated, TranslatedConverter, TranslatedEnumValue, TranslatedText, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UnreachableCaseError, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueChangeEvent, ValueWrapper, ViewDropModelUpdateInstruction, ViewProviders, WebLocalStorage, WebSessionStorage, WebappDomainFragmentSpec, WebappDomainSpec, WebappDomainSpecService, WebappDomainSwitcherDirective, WebappUrlFragmentSwitcherConfig, WeightPipe, alphaNumStringComparator, booleanTransformFn, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createElderDefaultTranslateLoader, createSelectionModel, elderChipColorLevels, elderChipColorStates, elderNamedColorRoles, elderNamedColorToken, elderNamedColors, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isLocalDataSource, isLocalListDataSource, isLocalPagedDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, provideElderBrandAssets, provideElderDefaults, provideElderLanguage, provideElderTranslate, proxyControlContainer, registerLocale, runInZone, someSignal, themeInit };
|
|
39613
|
+
export { ActivationEventSource, ActivationModel, Arrays, AuditedEntity, AutoStartSpec, Batcher, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, CommonValidationMessageStrategy, ComparatorBuilder, CompositeSort, ConfirmDialogConfig, ContinuableListing, CountryPhoneFormatService, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, CuratedDataSource, CuratedListDataSource, CuratedPagedDataSource, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, CustomMatcherSpec, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextRange, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSelectionController, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceEntityPatch, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewActivationController, DataViewDndControllerService, DataViewDndGroupControllerService, DataViewDndModelUtil, DataViewDragEnteredEvent, DataViewDragExitedEvent, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewInteractionControllerDirective, DataViewItemDropEvent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DomUtil, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, DynamicValidationMessageStrategy, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAppearanceSettingsComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteModule, ElderBadgeDirective, ElderBasicPaneLayoutComponent, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCenterCellDirective, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsIncludeExcludeDirective, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderCompositeSortComponent, ElderCompositeSortDcDirective, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderContinuatorComponent, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataActivationDirective, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewDndDirective, ElderDataViewDndGroupDirective, ElderDataViewItemDragDirective, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDeleteActiveDirective, ElderDetailDialogComponent, ElderDetailDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFilterChipTemplateComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGenericResizableLayoutComponent, ElderGridActivationDirective, ElderGridComponent, ElderGridModule, ElderGridNavigationBarDirective, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderIntervalPickerBindingDirective, ElderIntervalPickerComponent, ElderIntervalPickerToggleComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalDndSupportDirective, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderLock, ElderLockContext, ElderLockContextDirective, ElderLockManagerService, ElderLockWarningService, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectChipsOptionsDirective, ElderMultiSelectFormField, ElderMultiTranslateHttpLoader, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPaneActionsComponent, ElderPaneComponent, ElderPaneContentComponent, ElderPaneHeaderComponent, ElderPaneSubtitleComponent, ElderPaneTitleComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderPopoverComponent, ElderPopoverContentDirective, ElderPopoverTriggerDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderProjectedColumnsDirective, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRailNavDirective, ElderRepeatPipe, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderResizableDirective, ElderResizablePaneLayoutComponent, ElderResizeBehaviorDirective, ElderResizeContainerComponent, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarScopeDirective, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchIncludeExcludeDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSearchUrlDirective, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectOptionComponent, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderShellStaticNavSlotDirective, ElderSinglePaneWrapperComponent, ElderSingleStateCheckboxDirective, ElderStackCardDirective, ElderStaticNavToggleComponent, ElderStopEventPropagationDirective, ElderSuggestionPanelComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableDropListConnectorDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableNavigationBarDirective, ElderTableProviders, ElderTableRootDirective, ElderTableSelectionCellComponent, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTileComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToggleTextInputDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTranslatePipe, ElderTranslateService, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderWideScrollbarDirective, ElderWordAutocompleteDirective, EntitiesChangeEvent, EntityDelta, EntityIdUtil, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FallbackValidationMessageStrategy, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IncludeExcludeSelectionModel, IncludeExcludeState, IncludeExcludeValue, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalFormatUtil, IsoIntervalParsePipe, IsoIntervalPipe, ItemActivationEvent, ItemActivationOptions, ItemModel, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalDataFilter, LocalListDataSource, LocalPagedDataSource, Locale, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, ModifierKeyService, ModifierKeyState, MultiModelBaseComponent, NamedColorDirective, NamedColorSelectDirective, NamedColorSelectValueComponent, NextNumberUtil, ObjectFieldMatcher, ObjectPathResolver, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, PhoneFormatService, PhonePipe, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, ResizeObserverDirective, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, RoutedTabActivationFailed, SearchInputState, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionChangedEvent, SelectionEventSource, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, SimpleSearchInput, Sort, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TargetValue, TemplateCompositeControl, TemplatedSelectionDialogComponent, TemporalPlainDateInterval, TemporalUtil, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, Translated, TranslatedConverter, TranslatedEnumValue, TranslatedText, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UnreachableCaseError, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueChangeEvent, ValueWrapper, ViewDropModelUpdateInstruction, ViewProviders, WebLocalStorage, WebSessionStorage, WebappDomainFragmentSpec, WebappDomainSpec, WebappDomainSpecService, WebappDomainSwitcherDirective, WebappUrlFragmentSwitcherConfig, WeightPipe, alphaNumStringComparator, booleanTransformFn, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createElderDefaultTranslateLoader, createSelectionModel, elderChipColorLevels, elderChipColorStates, elderNamedColorRoles, elderNamedColorToken, elderNamedColors, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isLocalDataSource, isLocalListDataSource, isLocalPagedDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, provideElderBrandAssets, provideElderDefaults, provideElderLanguage, provideElderTranslate, proxyControlContainer, registerLocale, runInZone, someSignal, themeInit };
|
|
39657
39614
|
//# sourceMappingURL=elderbyte-ngx-starter.mjs.map
|