@elderbyte/ngx-starter 19.5.0 → 19.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/elderbyte-ngx-starter.mjs +816 -29
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/data/datasource/data-source.d.ts +2 -0
- package/lib/common/data/datasource/local/local-list-data-source.d.ts +1 -1
- package/lib/common/data/sort-context.d.ts +1 -0
- package/lib/components/data-view/common/drag-and-drop/data-view-dnd-controller.service.d.ts +70 -0
- package/lib/components/data-view/common/drag-and-drop/elder-data-view-dnd.directive.d.ts +66 -0
- package/lib/components/data-view/common/drag-and-drop/elder-data-view-item-drag.directive.d.ts +38 -0
- package/lib/components/data-view/common/drag-and-drop/events/data-view-drag-entered-event.d.ts +16 -0
- package/lib/components/data-view/common/drag-and-drop/events/data-view-drag-exited-event.d.ts +12 -0
- package/lib/components/data-view/common/drag-and-drop/events/data-view-item-drop-event.d.ts +74 -0
- package/lib/components/data-view/common/drag-and-drop/events/public_api.d.ts +3 -0
- package/lib/components/data-view/common/drag-and-drop/grouping/data-view-dnd-group-controller.service.d.ts +42 -0
- package/lib/components/data-view/common/drag-and-drop/grouping/elder-data-view-dnd-group.directive.d.ts +30 -0
- package/lib/components/data-view/common/drag-and-drop/grouping/public_api.d.ts +2 -0
- package/lib/components/data-view/common/drag-and-drop/local-data/data-view-dnd-model-util.d.ts +40 -0
- package/lib/components/data-view/common/drag-and-drop/local-data/elder-local-dnd-support.directive.d.ts +54 -0
- package/lib/components/data-view/common/drag-and-drop/local-data/public_api.d.ts +2 -0
- package/lib/components/data-view/common/drag-and-drop/public_api.d.ts +7 -0
- package/lib/components/data-view/common/elder-data-common.module.d.ts +14 -9
- package/lib/components/data-view/common/public_api.d.ts +1 -0
- package/lib/components/data-view/table/drag-and-drop/elder-table-drop-list-connector.directive.d.ts +37 -0
- package/lib/components/data-view/table/drag-and-drop/public_api.d.ts +1 -0
- package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +5 -1
- package/lib/components/data-view/table/elder-table.module.d.ts +26 -23
- package/package.json +1 -1
- package/theming/components/_elder-table-theme.scss +24 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as i2 from '@angular/common';
|
|
2
2
|
import { formatDate, CommonModule, formatCurrency, getCurrencySymbol, NgIf, AsyncPipe, NgFor, NgClass, NgTemplateOutlet, NgStyle, formatNumber, DecimalPipe, DatePipe, registerLocaleData, CurrencyPipe } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Pipe, LOCALE_ID, Inject, NgModule, Optional, SkipSelf, Input, Output, Directive, forwardRef, ViewChild, inject, ElementRef, DestroyRef, model, signal, computed, untracked, HostBinding, ViewChildren, ContentChild, Injectable, ChangeDetectionStrategy, Component, Host, APP_INITIALIZER, TemplateRef, HostListener, EventEmitter, input, ViewEncapsulation, InjectionToken, output, effect, ContentChildren, viewChild, viewChildren, booleanAttribute, contentChild
|
|
4
|
+
import { Pipe, LOCALE_ID, Inject, NgModule, Optional, SkipSelf, Input, Output, Directive, forwardRef, ViewChild, inject, ElementRef, DestroyRef, model, signal, computed, untracked, HostBinding, ViewChildren, ContentChild, Injectable, ChangeDetectionStrategy, Component, Host, APP_INITIALIZER, TemplateRef, HostListener, EventEmitter, input, ViewEncapsulation, InjectionToken, output, effect, ContentChildren, contentChildren, viewChild, viewChildren, booleanAttribute, contentChild } from '@angular/core';
|
|
5
5
|
import * as i1 from '@angular/platform-browser';
|
|
6
6
|
import { Duration, Period, TemporalQueries, LocalTime, Instant, LocalDate, nativeJs, ZoneId, DateTimeFormatter, convert, ZonedDateTime, Temporal as Temporal$1 } from '@js-joda/core';
|
|
7
7
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
8
|
-
import { timer, defer, ReplaySubject, concat, finalize, exhaustMap, BehaviorSubject, Subject, switchMap, of, combineLatest, EMPTY, merge, throwError, forkJoin, mergeWith, Observable, from, toArray, zip, mergeMap as mergeMap$1, fromEvent, skipUntil, map as map$1, combineLatestWith as combineLatestWith$1, NEVER } from 'rxjs';
|
|
8
|
+
import { timer, defer, ReplaySubject, concat, finalize, exhaustMap, BehaviorSubject, Subject, switchMap, of, combineLatest, EMPTY, merge, throwError, forkJoin, mergeWith, Observable, from, toArray, zip, mergeMap as mergeMap$1, fromEvent, mergeAll, skipUntil, map as map$1, combineLatestWith as combineLatestWith$1, NEVER } from 'rxjs';
|
|
9
9
|
import { tap, takeUntil, takeWhile, map, filter, distinctUntilChanged, debounceTime, catchError, first, take, switchMap as switchMap$1, mergeMap, expand, reduce, startWith, skip, delay, share, combineLatestWith, skipWhile, timeout } from 'rxjs/operators';
|
|
10
10
|
import { Temporal } from '@js-temporal/polyfill';
|
|
11
11
|
import * as i1$1 from '@angular/common/http';
|
|
12
12
|
import { HttpParams, HttpEventType, HttpRequest, HttpClient, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
13
13
|
import { DataSource } from '@angular/cdk/collections';
|
|
14
|
-
import { outputToObservable, takeUntilDestroyed, toSignal, toObservable } from '@angular/core/rxjs-interop';
|
|
14
|
+
import { outputToObservable, takeUntilDestroyed, toSignal, toObservable, outputFromObservable } from '@angular/core/rxjs-interop';
|
|
15
15
|
import * as i1$4 from '@angular/forms';
|
|
16
16
|
import { ControlContainer, NG_VALUE_ACCESSOR, NG_VALIDATORS, NgControl, NgModel, FormsModule, UntypedFormControl, ReactiveFormsModule, NgForm, Validators } from '@angular/forms';
|
|
17
17
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
@@ -38,19 +38,20 @@ import * as i1$a from '@angular/material/autocomplete';
|
|
|
38
38
|
import { MatAutocompleteTrigger, MatAutocomplete, MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
39
39
|
import * as i1$8 from '@angular/material/chips';
|
|
40
40
|
import { MatChipGrid, MatChipRow, MatChipRemove, MatChipInput, MatChipsModule, MatChip, MatChipAvatar, MatChipSet, MatChipTrailingIcon, MatChipListbox, MatChipOption } from '@angular/material/chips';
|
|
41
|
-
import * as i2$
|
|
41
|
+
import * as i2$5 from '@angular/material/input';
|
|
42
42
|
import { MatInput, MatInputModule } from '@angular/material/input';
|
|
43
43
|
import { MatList, MatListSubheaderCssMatStyler, MatListItem, MatListModule } from '@angular/material/list';
|
|
44
44
|
import { MatProgressBar, MatProgressBarModule } from '@angular/material/progress-bar';
|
|
45
45
|
import * as i1$6 from '@angular/material/snack-bar';
|
|
46
46
|
import { MAT_SNACK_BAR_DATA, MatSnackBarLabel, MatSnackBarActions, MatSnackBarAction, MatSnackBarModule } from '@angular/material/snack-bar';
|
|
47
|
-
import
|
|
47
|
+
import * as i2$2 from '@angular/cdk/drag-drop';
|
|
48
|
+
import { transferArrayItem, moveItemInArray, CdkDropList, CdkDrag, DragDropModule, CdkDropListGroup } from '@angular/cdk/drag-drop';
|
|
48
49
|
import { MatDivider, MatDividerModule } from '@angular/material/divider';
|
|
49
50
|
import * as i8 from '@angular/material/menu';
|
|
50
51
|
import { MatMenuTrigger, MatMenu, MatMenuItem, MatMenuModule } from '@angular/material/menu';
|
|
51
52
|
import * as i1$7 from '@angular/material/dialog';
|
|
52
53
|
import { MatDialogClose, MAT_DIALOG_DATA, MatDialogConfig, MatDialogModule } from '@angular/material/dialog';
|
|
53
|
-
import * as i2$
|
|
54
|
+
import * as i2$3 from '@angular/material/badge';
|
|
54
55
|
import { MatBadge, MatBadgeModule } from '@angular/material/badge';
|
|
55
56
|
import * as i1$c from '@angular/material/checkbox';
|
|
56
57
|
import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';
|
|
@@ -60,7 +61,7 @@ import { MatPaginator, MatPaginatorIntl, MatPaginatorModule } from '@angular/mat
|
|
|
60
61
|
import { MatColumnDef, MatRowDef, MatTable, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell, MatFooterCellDef, MatFooterCell, MatHeaderRowDef, MatHeaderRow, MatRow, MatFooterRowDef, MatFooterRow, MatTableModule } from '@angular/material/table';
|
|
61
62
|
import * as i1$9 from '@angular/cdk/table';
|
|
62
63
|
import { CdkTableModule } from '@angular/cdk/table';
|
|
63
|
-
import * as i2$
|
|
64
|
+
import * as i2$4 from '@angular/material/sort';
|
|
64
65
|
import { MatSortModule, MatSort, MatSortHeader } from '@angular/material/sort';
|
|
65
66
|
import { CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, ScrollingModule } from '@angular/cdk/scrolling';
|
|
66
67
|
import * as i3 from '@angular/cdk/layout';
|
|
@@ -3762,6 +3763,9 @@ class SortContext {
|
|
|
3762
3763
|
findSort(prop) {
|
|
3763
3764
|
return this.sortsSnapshot.filter((f) => f.prop === prop).find((first) => true);
|
|
3764
3765
|
}
|
|
3766
|
+
isEmpty() {
|
|
3767
|
+
return !this._sorts.getValue() || this._sorts.getValue().length === 0;
|
|
3768
|
+
}
|
|
3765
3769
|
/***************************************************************************
|
|
3766
3770
|
* *
|
|
3767
3771
|
* Public API *
|
|
@@ -5359,13 +5363,18 @@ class LocalListDataSource extends DataSourceBase {
|
|
|
5359
5363
|
saveAll(toSave) {
|
|
5360
5364
|
toSave.forEach((entity) => this.save(entity));
|
|
5361
5365
|
}
|
|
5362
|
-
save(entity) {
|
|
5366
|
+
save(entity, index) {
|
|
5363
5367
|
const id = this.getId(entity);
|
|
5364
5368
|
const newData = [...this.data];
|
|
5365
5369
|
const existingIndex = newData.findIndex((entity) => this.getId(entity) === id);
|
|
5366
5370
|
let created = false;
|
|
5367
5371
|
if (existingIndex === -1) {
|
|
5368
|
-
|
|
5372
|
+
if (index !== null) {
|
|
5373
|
+
newData.splice(index, 0, entity);
|
|
5374
|
+
}
|
|
5375
|
+
else {
|
|
5376
|
+
newData.push(entity);
|
|
5377
|
+
}
|
|
5369
5378
|
created = true;
|
|
5370
5379
|
}
|
|
5371
5380
|
else {
|
|
@@ -5488,6 +5497,12 @@ function isDataSource(object) {
|
|
|
5488
5497
|
function isListDataSource(object) {
|
|
5489
5498
|
return object.findAllFiltered !== undefined;
|
|
5490
5499
|
}
|
|
5500
|
+
function isLocalListDataSource(object) {
|
|
5501
|
+
return isListDataSource(object) &&
|
|
5502
|
+
object.delete !== undefined &&
|
|
5503
|
+
object.save !== undefined &&
|
|
5504
|
+
object.replaceAll !== undefined;
|
|
5505
|
+
}
|
|
5491
5506
|
function isPagedDataSource(object) {
|
|
5492
5507
|
return object.findAllPaged !== undefined;
|
|
5493
5508
|
}
|
|
@@ -14683,6 +14698,695 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
14683
14698
|
args: [ELDER_DATA_VIEW]
|
|
14684
14699
|
}] }, { type: ActivationModel }] });
|
|
14685
14700
|
|
|
14701
|
+
class DataViewDragEnteredEvent {
|
|
14702
|
+
constructor(
|
|
14703
|
+
/** Data context into which the user has moved the item. */
|
|
14704
|
+
context,
|
|
14705
|
+
/** Item that was moved into the container. */
|
|
14706
|
+
item,
|
|
14707
|
+
/** Index at which the item has entered the container. */
|
|
14708
|
+
currentIndex) {
|
|
14709
|
+
this.context = context;
|
|
14710
|
+
this.item = item;
|
|
14711
|
+
this.currentIndex = currentIndex;
|
|
14712
|
+
}
|
|
14713
|
+
}
|
|
14714
|
+
|
|
14715
|
+
class DataViewDragExitedEvent {
|
|
14716
|
+
constructor(
|
|
14717
|
+
/** Data context from which the user has a removed an item. */
|
|
14718
|
+
context,
|
|
14719
|
+
/** Item that was removed from the container. */
|
|
14720
|
+
item) {
|
|
14721
|
+
this.context = context;
|
|
14722
|
+
this.item = item;
|
|
14723
|
+
}
|
|
14724
|
+
}
|
|
14725
|
+
|
|
14726
|
+
class DataViewItemDropEvent {
|
|
14727
|
+
/***************************************************************************
|
|
14728
|
+
* *
|
|
14729
|
+
* Constructor *
|
|
14730
|
+
* *
|
|
14731
|
+
**************************************************************************/
|
|
14732
|
+
constructor(
|
|
14733
|
+
/**
|
|
14734
|
+
* fromStack The stack where the card originated from
|
|
14735
|
+
*/
|
|
14736
|
+
fromContext,
|
|
14737
|
+
/**
|
|
14738
|
+
* toStack The stack where the card is dropped to
|
|
14739
|
+
*/
|
|
14740
|
+
toContext,
|
|
14741
|
+
/**
|
|
14742
|
+
* card The row-item domain model
|
|
14743
|
+
*/
|
|
14744
|
+
item,
|
|
14745
|
+
/**
|
|
14746
|
+
* fromIndex Index of the item when it was picked up fromContext.
|
|
14747
|
+
*/
|
|
14748
|
+
fromIndex,
|
|
14749
|
+
/**
|
|
14750
|
+
* toIndex Current index of the item in toContext.
|
|
14751
|
+
*/
|
|
14752
|
+
toIndex,
|
|
14753
|
+
/**
|
|
14754
|
+
* isPointerOverContainer Whether the user's pointer was over the container when the item was dropped.
|
|
14755
|
+
*/
|
|
14756
|
+
isPointerOverContainer) {
|
|
14757
|
+
this.fromContext = fromContext;
|
|
14758
|
+
this.toContext = toContext;
|
|
14759
|
+
this.item = item;
|
|
14760
|
+
this.fromIndex = fromIndex;
|
|
14761
|
+
this.toIndex = toIndex;
|
|
14762
|
+
this.isPointerOverContainer = isPointerOverContainer;
|
|
14763
|
+
}
|
|
14764
|
+
/***************************************************************************
|
|
14765
|
+
* *
|
|
14766
|
+
* Public API *
|
|
14767
|
+
* *
|
|
14768
|
+
**************************************************************************/
|
|
14769
|
+
/**
|
|
14770
|
+
* Returns true if the drop happened across drop contexts.
|
|
14771
|
+
*/
|
|
14772
|
+
isCrossContextDrop() {
|
|
14773
|
+
return this.fromContext !== this.toContext;
|
|
14774
|
+
}
|
|
14775
|
+
/**
|
|
14776
|
+
* Returns true if the drop happened at the exact same position as the drag started
|
|
14777
|
+
*/
|
|
14778
|
+
isSamePositionDrop() {
|
|
14779
|
+
return this.fromContext === this.toContext && this.fromIndex === this.toIndex;
|
|
14780
|
+
}
|
|
14781
|
+
/**
|
|
14782
|
+
* Returns message string stating the drag. Useful for logging.
|
|
14783
|
+
*/
|
|
14784
|
+
getDragLogMessage() {
|
|
14785
|
+
if (this.isSamePositionDrop()) {
|
|
14786
|
+
return ('Item was dragged from context ' +
|
|
14787
|
+
this.fromContext.id +
|
|
14788
|
+
' at index ' +
|
|
14789
|
+
this.fromIndex +
|
|
14790
|
+
' but dropped at the same position.');
|
|
14791
|
+
}
|
|
14792
|
+
else if (this.isCrossContextDrop()) {
|
|
14793
|
+
return ('Item was dragged from context ' +
|
|
14794
|
+
this.fromContext.id +
|
|
14795
|
+
' at index ' +
|
|
14796
|
+
this.fromIndex +
|
|
14797
|
+
' to context ' +
|
|
14798
|
+
this.toContext.id +
|
|
14799
|
+
' at index ' +
|
|
14800
|
+
this.toIndex);
|
|
14801
|
+
}
|
|
14802
|
+
else {
|
|
14803
|
+
return ('Item was dragged within context ' +
|
|
14804
|
+
this.fromContext.id +
|
|
14805
|
+
' from index ' +
|
|
14806
|
+
this.fromIndex +
|
|
14807
|
+
' to index ' +
|
|
14808
|
+
this.toIndex);
|
|
14809
|
+
}
|
|
14810
|
+
}
|
|
14811
|
+
}
|
|
14812
|
+
|
|
14813
|
+
/**
|
|
14814
|
+
* Controller service for a single data view with drag and drop support
|
|
14815
|
+
* (ElderDataViewDndDirective).
|
|
14816
|
+
*/
|
|
14817
|
+
class DataViewDndControllerService {
|
|
14818
|
+
/***************************************************************************
|
|
14819
|
+
* *
|
|
14820
|
+
* Constructor *
|
|
14821
|
+
* *
|
|
14822
|
+
**************************************************************************/
|
|
14823
|
+
constructor() {
|
|
14824
|
+
/***************************************************************************
|
|
14825
|
+
* *
|
|
14826
|
+
* Fields *
|
|
14827
|
+
* *
|
|
14828
|
+
**************************************************************************/
|
|
14829
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
14830
|
+
this._dropList$ = new BehaviorSubject(null);
|
|
14831
|
+
this._dataView$ = new BehaviorSubject(null);
|
|
14832
|
+
this._canDragItemPredicate$ = new BehaviorSubject(null);
|
|
14833
|
+
this._ignoreSamePositionDrops$ = new BehaviorSubject(false);
|
|
14834
|
+
this.itemDropped$ = new Subject();
|
|
14835
|
+
this.dropListEntered$ = new Subject();
|
|
14836
|
+
this.dropListExited$ = new Subject();
|
|
14837
|
+
}
|
|
14838
|
+
/***************************************************************************
|
|
14839
|
+
* *
|
|
14840
|
+
* Properties *
|
|
14841
|
+
* *
|
|
14842
|
+
**************************************************************************/
|
|
14843
|
+
get dropList$() {
|
|
14844
|
+
return this._dropList$.pipe(filter((dropList) => !!dropList));
|
|
14845
|
+
}
|
|
14846
|
+
get canDragItemPredicate$() {
|
|
14847
|
+
return this._canDragItemPredicate$.asObservable();
|
|
14848
|
+
}
|
|
14849
|
+
/***************************************************************************
|
|
14850
|
+
* *
|
|
14851
|
+
* Public API *
|
|
14852
|
+
* *
|
|
14853
|
+
**************************************************************************/
|
|
14854
|
+
registerDataView(dataView) {
|
|
14855
|
+
if (dataView === null) {
|
|
14856
|
+
throw new Error('dataView must not be null!');
|
|
14857
|
+
}
|
|
14858
|
+
this._dataView$.next(dataView);
|
|
14859
|
+
}
|
|
14860
|
+
register(cdkDropList) {
|
|
14861
|
+
if (cdkDropList === null) {
|
|
14862
|
+
throw new Error('cdkDropList must not be null!');
|
|
14863
|
+
}
|
|
14864
|
+
this._dropList$.next(cdkDropList);
|
|
14865
|
+
}
|
|
14866
|
+
setCanDragItemPredicate(predicate) {
|
|
14867
|
+
this._canDragItemPredicate$.next(predicate);
|
|
14868
|
+
}
|
|
14869
|
+
setIgnoreSamePositionDrops(ignoreSamePositionDrops) {
|
|
14870
|
+
this._ignoreSamePositionDrops$.next(ignoreSamePositionDrops);
|
|
14871
|
+
}
|
|
14872
|
+
/***************************************************************************
|
|
14873
|
+
* *
|
|
14874
|
+
* Event Handling *
|
|
14875
|
+
* *
|
|
14876
|
+
**************************************************************************/
|
|
14877
|
+
onItemDropped(event) {
|
|
14878
|
+
this.handleItemDropped(event);
|
|
14879
|
+
}
|
|
14880
|
+
onDropListEntered(event) {
|
|
14881
|
+
this.handleDropListEntered(event);
|
|
14882
|
+
}
|
|
14883
|
+
onDropListExited(event) {
|
|
14884
|
+
this.handleDropListExited(event);
|
|
14885
|
+
}
|
|
14886
|
+
/***************************************************************************
|
|
14887
|
+
* *
|
|
14888
|
+
* Private Methods *
|
|
14889
|
+
* *
|
|
14890
|
+
**************************************************************************/
|
|
14891
|
+
handleItemDropped(cdkEvent) {
|
|
14892
|
+
const event = this.buildItemDropEvent(cdkEvent);
|
|
14893
|
+
if (event.isSamePositionDrop() && this._ignoreSamePositionDrops$.getValue()) {
|
|
14894
|
+
return;
|
|
14895
|
+
}
|
|
14896
|
+
this.itemDropped$.next(event);
|
|
14897
|
+
}
|
|
14898
|
+
buildItemDropEvent(cdkEvent) {
|
|
14899
|
+
return new DataViewItemDropEvent(cdkEvent.previousContainer.data, cdkEvent.container.data, cdkEvent.item.data, cdkEvent.previousIndex, cdkEvent.currentIndex, cdkEvent.isPointerOverContainer);
|
|
14900
|
+
}
|
|
14901
|
+
handleDropListEntered(cdkEvent) {
|
|
14902
|
+
this.dropListEntered$.next(this.buildDragEnteredEvent(cdkEvent));
|
|
14903
|
+
}
|
|
14904
|
+
buildDragEnteredEvent(cdkEvent) {
|
|
14905
|
+
return new DataViewDragEnteredEvent(cdkEvent.container.data, cdkEvent.item.data, cdkEvent.currentIndex);
|
|
14906
|
+
}
|
|
14907
|
+
handleDropListExited(cdkEvent) {
|
|
14908
|
+
this.dropListExited$.next(this.buildDragExitedEvent(cdkEvent));
|
|
14909
|
+
}
|
|
14910
|
+
buildDragExitedEvent(cdkEvent) {
|
|
14911
|
+
return new DataViewDragExitedEvent(cdkEvent.container.data, cdkEvent.item.data);
|
|
14912
|
+
}
|
|
14913
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: DataViewDndControllerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
14914
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: DataViewDndControllerService }); }
|
|
14915
|
+
}
|
|
14916
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: DataViewDndControllerService, decorators: [{
|
|
14917
|
+
type: Injectable
|
|
14918
|
+
}], ctorParameters: () => [] });
|
|
14919
|
+
|
|
14920
|
+
/**
|
|
14921
|
+
* Directive adding drag and drop support on an Elder data view.
|
|
14922
|
+
*/
|
|
14923
|
+
class ElderDataViewDndDirective {
|
|
14924
|
+
/***************************************************************************
|
|
14925
|
+
* *
|
|
14926
|
+
* Constructor *
|
|
14927
|
+
* *
|
|
14928
|
+
**************************************************************************/
|
|
14929
|
+
constructor(dndController, _dataView) {
|
|
14930
|
+
this.dndController = dndController;
|
|
14931
|
+
this._dataView = _dataView;
|
|
14932
|
+
/***************************************************************************
|
|
14933
|
+
* *
|
|
14934
|
+
* Fields *
|
|
14935
|
+
* *
|
|
14936
|
+
**************************************************************************/
|
|
14937
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
14938
|
+
/** Used to disconnect obsolete event bindings. */
|
|
14939
|
+
this._unsubscribeEventBindings = new Subject();
|
|
14940
|
+
/** Controls if drag and drop is generally enabled or not. */
|
|
14941
|
+
this.canDrag = input(false, { transform: booleanTransformFn });
|
|
14942
|
+
/** Allows connecting different drop views together. */
|
|
14943
|
+
this.dropConnectedTo = input([]);
|
|
14944
|
+
/** Predicate to determine if an item is draggable or not. */
|
|
14945
|
+
this.canDragItemPredicate = input(() => true);
|
|
14946
|
+
/** Predicate to determine if one can enter a drop view. */
|
|
14947
|
+
this.canEnterPredicate = input(() => true);
|
|
14948
|
+
/** If ture, will ignore drop events where the item was dropped at the same position from where it was dragged. */
|
|
14949
|
+
this.ignoreSamePositionDrops = input(false, { transform: booleanTransformFn });
|
|
14950
|
+
/** Fired when an item is dropped. */
|
|
14951
|
+
this.itemDropped = outputFromObservable(this.dndController.itemDropped$);
|
|
14952
|
+
/** Fired when a drop view is entered while dragging. */
|
|
14953
|
+
this.dropListEntered = outputFromObservable(this.dndController.dropListEntered$);
|
|
14954
|
+
/** Fired when a drop view is exited while dragging. */
|
|
14955
|
+
this.dropListExited = outputFromObservable(this.dndController.dropListExited$);
|
|
14956
|
+
this.dndController.registerDataView(_dataView);
|
|
14957
|
+
this._dataContext = toSignal(this._dataView.dataContext$);
|
|
14958
|
+
this._dropList = toSignal(this.dndController.dropList$);
|
|
14959
|
+
effect(() => {
|
|
14960
|
+
this.bindEvents(this._dropList());
|
|
14961
|
+
});
|
|
14962
|
+
effect(() => {
|
|
14963
|
+
this.bindCanDrag(this._dropList(), this.canDrag());
|
|
14964
|
+
});
|
|
14965
|
+
effect(() => {
|
|
14966
|
+
this.bindConnectedTo(this._dropList(), this.dropConnectedTo());
|
|
14967
|
+
});
|
|
14968
|
+
effect(() => {
|
|
14969
|
+
this.bindCanEnterPredicate(this._dropList(), this.canEnterPredicate());
|
|
14970
|
+
});
|
|
14971
|
+
effect(() => {
|
|
14972
|
+
this.bindData(this._dropList(), this._dataContext());
|
|
14973
|
+
});
|
|
14974
|
+
effect(() => {
|
|
14975
|
+
this.controller.setCanDragItemPredicate(this.canDragItemPredicate());
|
|
14976
|
+
});
|
|
14977
|
+
effect(() => {
|
|
14978
|
+
this.controller.setIgnoreSamePositionDrops(this.ignoreSamePositionDrops());
|
|
14979
|
+
});
|
|
14980
|
+
}
|
|
14981
|
+
/***************************************************************************
|
|
14982
|
+
* *
|
|
14983
|
+
* Properties *
|
|
14984
|
+
* *
|
|
14985
|
+
**************************************************************************/
|
|
14986
|
+
get controller() {
|
|
14987
|
+
return this.dndController;
|
|
14988
|
+
}
|
|
14989
|
+
/***************************************************************************
|
|
14990
|
+
* *
|
|
14991
|
+
* Private Methods *
|
|
14992
|
+
* *
|
|
14993
|
+
**************************************************************************/
|
|
14994
|
+
bindEvents(dropList) {
|
|
14995
|
+
this._unsubscribeEventBindings.next();
|
|
14996
|
+
if (dropList) {
|
|
14997
|
+
dropList.dropped
|
|
14998
|
+
.pipe(takeUntil(this._unsubscribeEventBindings))
|
|
14999
|
+
.subscribe((event) => this.dndController.onItemDropped(event));
|
|
15000
|
+
dropList.entered
|
|
15001
|
+
.pipe(takeUntil(this._unsubscribeEventBindings))
|
|
15002
|
+
.subscribe((event) => this.dndController.onDropListEntered(event));
|
|
15003
|
+
dropList.exited
|
|
15004
|
+
.pipe(takeUntil(this._unsubscribeEventBindings))
|
|
15005
|
+
.subscribe((event) => this.dndController.onDropListExited(event));
|
|
15006
|
+
}
|
|
15007
|
+
}
|
|
15008
|
+
bindCanDrag(dropList, canDrag) {
|
|
15009
|
+
if (dropList) {
|
|
15010
|
+
dropList.disabled = !canDrag;
|
|
15011
|
+
}
|
|
15012
|
+
}
|
|
15013
|
+
bindConnectedTo(dropList, connectedTo) {
|
|
15014
|
+
if (dropList) {
|
|
15015
|
+
dropList.connectedTo = connectedTo;
|
|
15016
|
+
}
|
|
15017
|
+
}
|
|
15018
|
+
bindCanEnterPredicate(dropList, canEnterPredicate) {
|
|
15019
|
+
if (dropList && canEnterPredicate) {
|
|
15020
|
+
dropList.enterPredicate = this.dropEnterPredicate(canEnterPredicate);
|
|
15021
|
+
}
|
|
15022
|
+
}
|
|
15023
|
+
dropEnterPredicate(predicate) {
|
|
15024
|
+
return (drag, drop) => {
|
|
15025
|
+
if (predicate) {
|
|
15026
|
+
return predicate(drag.data, drop.data);
|
|
15027
|
+
}
|
|
15028
|
+
return true;
|
|
15029
|
+
};
|
|
15030
|
+
}
|
|
15031
|
+
bindData(cdkDropList, dataContext) {
|
|
15032
|
+
if (cdkDropList && dataContext) {
|
|
15033
|
+
cdkDropList.data = dataContext;
|
|
15034
|
+
}
|
|
15035
|
+
}
|
|
15036
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderDataViewDndDirective, deps: [{ token: DataViewDndControllerService }, { token: ELDER_DATA_VIEW }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15037
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.4", type: ElderDataViewDndDirective, isStandalone: true, selector: "[elderDataViewDnd]", inputs: { canDrag: { classPropertyName: "canDrag", publicName: "canDrag", isSignal: true, isRequired: false, transformFunction: null }, dropConnectedTo: { classPropertyName: "dropConnectedTo", publicName: "dropConnectedTo", isSignal: true, isRequired: false, transformFunction: null }, canDragItemPredicate: { classPropertyName: "canDragItemPredicate", publicName: "canDragItemPredicate", isSignal: true, isRequired: false, transformFunction: null }, canEnterPredicate: { classPropertyName: "canEnterPredicate", publicName: "canEnterPredicate", isSignal: true, isRequired: false, transformFunction: null }, ignoreSamePositionDrops: { classPropertyName: "ignoreSamePositionDrops", publicName: "ignoreSamePositionDrops", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemDropped: "itemDropped", dropListEntered: "dropListEntered", dropListExited: "dropListExited" }, providers: [DataViewDndControllerService], ngImport: i0 }); }
|
|
15038
|
+
}
|
|
15039
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderDataViewDndDirective, decorators: [{
|
|
15040
|
+
type: Directive,
|
|
15041
|
+
args: [{
|
|
15042
|
+
selector: '[elderDataViewDnd]',
|
|
15043
|
+
providers: [DataViewDndControllerService],
|
|
15044
|
+
}]
|
|
15045
|
+
}], ctorParameters: () => [{ type: DataViewDndControllerService }, { type: undefined, decorators: [{
|
|
15046
|
+
type: Inject,
|
|
15047
|
+
args: [ELDER_DATA_VIEW]
|
|
15048
|
+
}] }] });
|
|
15049
|
+
|
|
15050
|
+
/**
|
|
15051
|
+
* Controller service for a single DataViewDndGroup.
|
|
15052
|
+
*/
|
|
15053
|
+
class DataViewDndGroupControllerService {
|
|
15054
|
+
/***************************************************************************
|
|
15055
|
+
* *
|
|
15056
|
+
* Constructor *
|
|
15057
|
+
* *
|
|
15058
|
+
**************************************************************************/
|
|
15059
|
+
constructor() {
|
|
15060
|
+
/***************************************************************************
|
|
15061
|
+
* *
|
|
15062
|
+
* Fields *
|
|
15063
|
+
* *
|
|
15064
|
+
**************************************************************************/
|
|
15065
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
15066
|
+
this._dropViews$ = new BehaviorSubject([]);
|
|
15067
|
+
/**
|
|
15068
|
+
* Subject emitting each time an item is dropped on any drop view of this group.
|
|
15069
|
+
*/
|
|
15070
|
+
this.itemDropped$ = new Subject();
|
|
15071
|
+
this._dropViews$
|
|
15072
|
+
.pipe(takeUntilDestroyed(),
|
|
15073
|
+
// merge all itemDropEvent streams from each child into one main itemDropEvent stream
|
|
15074
|
+
mergeMap$1((views) => this.getItemDropObservables(views)), mergeAll())
|
|
15075
|
+
.subscribe((event) => this.handleItemDrop(event));
|
|
15076
|
+
}
|
|
15077
|
+
/***************************************************************************
|
|
15078
|
+
* *
|
|
15079
|
+
* Public API *
|
|
15080
|
+
* *
|
|
15081
|
+
**************************************************************************/
|
|
15082
|
+
setDropViews(dropViews) {
|
|
15083
|
+
this._dropViews$.next(dropViews);
|
|
15084
|
+
}
|
|
15085
|
+
/***************************************************************************
|
|
15086
|
+
* *
|
|
15087
|
+
* Private Methods *
|
|
15088
|
+
* *
|
|
15089
|
+
**************************************************************************/
|
|
15090
|
+
getItemDropObservables(views) {
|
|
15091
|
+
return views.map((v) => this.getItemDropObservable(v));
|
|
15092
|
+
}
|
|
15093
|
+
getItemDropObservable(dropView) {
|
|
15094
|
+
return dropView.controller.itemDropped$.asObservable();
|
|
15095
|
+
}
|
|
15096
|
+
handleItemDrop(dropEvent) {
|
|
15097
|
+
this.itemDropped$.next(dropEvent);
|
|
15098
|
+
}
|
|
15099
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: DataViewDndGroupControllerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15100
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: DataViewDndGroupControllerService }); }
|
|
15101
|
+
}
|
|
15102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: DataViewDndGroupControllerService, decorators: [{
|
|
15103
|
+
type: Injectable
|
|
15104
|
+
}], ctorParameters: () => [] });
|
|
15105
|
+
|
|
15106
|
+
/**
|
|
15107
|
+
* Directive to group multiple drop data view together.
|
|
15108
|
+
* Placing this directive to any element will automatically connect
|
|
15109
|
+
* all ElderDataViewDndDirective elements beneath it.
|
|
15110
|
+
*/
|
|
15111
|
+
class ElderDataViewDndGroupDirective {
|
|
15112
|
+
/***************************************************************************
|
|
15113
|
+
* *
|
|
15114
|
+
* Constructor *
|
|
15115
|
+
* *
|
|
15116
|
+
**************************************************************************/
|
|
15117
|
+
constructor(groupController) {
|
|
15118
|
+
this.groupController = groupController;
|
|
15119
|
+
/***************************************************************************
|
|
15120
|
+
* *
|
|
15121
|
+
* Fields *
|
|
15122
|
+
* *
|
|
15123
|
+
**************************************************************************/
|
|
15124
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
15125
|
+
this.dropViews = contentChildren((ElderDataViewDndDirective), { descendants: true });
|
|
15126
|
+
this.itemDropped = outputFromObservable(this.groupController.itemDropped$);
|
|
15127
|
+
effect(() => {
|
|
15128
|
+
this.groupController.setDropViews(this.dropViews());
|
|
15129
|
+
});
|
|
15130
|
+
}
|
|
15131
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderDataViewDndGroupDirective, deps: [{ token: DataViewDndGroupControllerService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15132
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.4", type: ElderDataViewDndGroupDirective, isStandalone: true, selector: "[elderDataViewDndGroup]", outputs: { itemDropped: "itemDropped" }, providers: [DataViewDndGroupControllerService], queries: [{ propertyName: "dropViews", predicate: (ElderDataViewDndDirective), descendants: true, isSignal: true }], hostDirectives: [{ directive: i2$2.CdkDropListGroup }], ngImport: i0 }); }
|
|
15133
|
+
}
|
|
15134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderDataViewDndGroupDirective, decorators: [{
|
|
15135
|
+
type: Directive,
|
|
15136
|
+
args: [{
|
|
15137
|
+
selector: '[elderDataViewDndGroup]',
|
|
15138
|
+
hostDirectives: [CdkDropListGroup], // auto-connects all contained cdkDropLists
|
|
15139
|
+
providers: [DataViewDndGroupControllerService],
|
|
15140
|
+
}]
|
|
15141
|
+
}], ctorParameters: () => [{ type: DataViewDndGroupControllerService }] });
|
|
15142
|
+
|
|
15143
|
+
/**
|
|
15144
|
+
* Support util for updating data view models
|
|
15145
|
+
* according to drop events.
|
|
15146
|
+
*/
|
|
15147
|
+
class DataViewDndModelUtil {
|
|
15148
|
+
/***************************************************************************
|
|
15149
|
+
* *
|
|
15150
|
+
* Fields *
|
|
15151
|
+
* *
|
|
15152
|
+
**************************************************************************/
|
|
15153
|
+
static { this.log = LoggerFactory.getLogger('DataViewDndModelUtil'); }
|
|
15154
|
+
/***************************************************************************
|
|
15155
|
+
* *
|
|
15156
|
+
* Public API *
|
|
15157
|
+
* *
|
|
15158
|
+
**************************************************************************/
|
|
15159
|
+
static updateModel(itemDropEvent) {
|
|
15160
|
+
if (!this.supportsModelUpdate(itemDropEvent)) {
|
|
15161
|
+
throw Error('Cannot handle item drop, since either source or target data source is not a local list');
|
|
15162
|
+
}
|
|
15163
|
+
const instructions = ViewDropModelUpdateInstruction.of(itemDropEvent);
|
|
15164
|
+
if (itemDropEvent.isCrossContextDrop()) {
|
|
15165
|
+
// Dragged from one context to another
|
|
15166
|
+
this.moveItemAcrossContexts(instructions);
|
|
15167
|
+
}
|
|
15168
|
+
else {
|
|
15169
|
+
// Dragged and dropped inside the same context
|
|
15170
|
+
this.moveItemWithinContext(instructions);
|
|
15171
|
+
}
|
|
15172
|
+
}
|
|
15173
|
+
static supportsModelUpdate(itemDropEvent) {
|
|
15174
|
+
return (isLocalListDataSource(itemDropEvent.fromContext.dataSource) ||
|
|
15175
|
+
isLocalListDataSource(itemDropEvent.toContext.dataSource));
|
|
15176
|
+
}
|
|
15177
|
+
static moveItemAcrossContexts(instructions) {
|
|
15178
|
+
transferArrayItem(instructions.fromDataSource.data, instructions.toDataSource.data, instructions.fromIndex, instructions.toIndex);
|
|
15179
|
+
instructions.fromContext.refresh();
|
|
15180
|
+
instructions.toContext.refresh();
|
|
15181
|
+
}
|
|
15182
|
+
static moveItemWithinContext(instructions) {
|
|
15183
|
+
moveItemInArray(instructions.fromDataSource.data, instructions.fromIndex, instructions.toIndex);
|
|
15184
|
+
instructions.fromContext.refresh();
|
|
15185
|
+
}
|
|
15186
|
+
}
|
|
15187
|
+
class ViewDropModelUpdateInstruction {
|
|
15188
|
+
static of(dropEvent) {
|
|
15189
|
+
return new ViewDropModelUpdateInstruction(dropEvent.item, dropEvent.fromContext, dropEvent.toContext, dropEvent.fromIndex, dropEvent.toIndex);
|
|
15190
|
+
}
|
|
15191
|
+
constructor(item, fromContext, toContext, fromIndex, toIndex) {
|
|
15192
|
+
this.item = item;
|
|
15193
|
+
this.fromContext = fromContext;
|
|
15194
|
+
this.toContext = toContext;
|
|
15195
|
+
this.fromIndex = fromIndex;
|
|
15196
|
+
this.toIndex = toIndex;
|
|
15197
|
+
}
|
|
15198
|
+
/***************************************************************************
|
|
15199
|
+
* *
|
|
15200
|
+
* Properties *
|
|
15201
|
+
* *
|
|
15202
|
+
**************************************************************************/
|
|
15203
|
+
get fromDataSource() {
|
|
15204
|
+
return this.fromContext.dataSource;
|
|
15205
|
+
}
|
|
15206
|
+
get toDataSource() {
|
|
15207
|
+
return this.toContext.dataSource;
|
|
15208
|
+
}
|
|
15209
|
+
}
|
|
15210
|
+
|
|
15211
|
+
/**
|
|
15212
|
+
* Adds support for automatic model updates
|
|
15213
|
+
* according to occurring drag and drop on data views.
|
|
15214
|
+
*/
|
|
15215
|
+
class ElderLocalDndSupportDirective {
|
|
15216
|
+
/***************************************************************************
|
|
15217
|
+
* *
|
|
15218
|
+
* Constructor *
|
|
15219
|
+
* *
|
|
15220
|
+
**************************************************************************/
|
|
15221
|
+
constructor(dropView, dropGroup, dropViewController, dropGroupController, _dataView) {
|
|
15222
|
+
this.dropView = dropView;
|
|
15223
|
+
this.dropGroup = dropGroup;
|
|
15224
|
+
this.dropViewController = dropViewController;
|
|
15225
|
+
this.dropGroupController = dropGroupController;
|
|
15226
|
+
this._dataView = _dataView;
|
|
15227
|
+
/***************************************************************************
|
|
15228
|
+
* *
|
|
15229
|
+
* Fields *
|
|
15230
|
+
* *
|
|
15231
|
+
**************************************************************************/
|
|
15232
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
15233
|
+
if (dropView) {
|
|
15234
|
+
this.initSingleDropViewModelTracking();
|
|
15235
|
+
}
|
|
15236
|
+
else if (dropGroup) {
|
|
15237
|
+
this.initDropGroupModelTracking();
|
|
15238
|
+
}
|
|
15239
|
+
else {
|
|
15240
|
+
throw Error('Directive must be placed next to ElderDataViewDndDirective or DataViewDropGroupDirective');
|
|
15241
|
+
}
|
|
15242
|
+
}
|
|
15243
|
+
/***************************************************************************
|
|
15244
|
+
* *
|
|
15245
|
+
* Single Drop View Mode *
|
|
15246
|
+
* *
|
|
15247
|
+
**************************************************************************/
|
|
15248
|
+
initSingleDropViewModelTracking() {
|
|
15249
|
+
this._dataView.dataContext$.pipe(takeUntilDestroyed()).subscribe((dataContext) => {
|
|
15250
|
+
this.dataContext = dataContext;
|
|
15251
|
+
if (dataContext && !isLocalListDataSource(dataContext.dataSource)) {
|
|
15252
|
+
throw new Error('Cannot initialize single drop view model tracking. Unsupported dataSource.');
|
|
15253
|
+
}
|
|
15254
|
+
this.dataSource = dataContext?.dataSource;
|
|
15255
|
+
});
|
|
15256
|
+
this.dropViewController.itemDropped$
|
|
15257
|
+
.pipe(takeUntilDestroyed())
|
|
15258
|
+
.subscribe((event) => this.handleItemDrop(event));
|
|
15259
|
+
}
|
|
15260
|
+
handleItemDrop(itemDropEvent) {
|
|
15261
|
+
if (!this.dataContext || !this.dataSource) {
|
|
15262
|
+
this.log.error('Cannot handle itemDropEvent since either dataContext or dataSource is null.');
|
|
15263
|
+
return;
|
|
15264
|
+
}
|
|
15265
|
+
if (this.isSortDefined()) {
|
|
15266
|
+
this.log.error('Cannot handle itemDropEvent since dataContext has an active sort definition:', this.dataContext.sort);
|
|
15267
|
+
return;
|
|
15268
|
+
}
|
|
15269
|
+
this.updateModel(itemDropEvent);
|
|
15270
|
+
}
|
|
15271
|
+
isSortDefined() {
|
|
15272
|
+
return !this.dataContext?.sort.isEmpty();
|
|
15273
|
+
}
|
|
15274
|
+
/***************************************************************************
|
|
15275
|
+
* *
|
|
15276
|
+
* Drop Group Mode *
|
|
15277
|
+
* *
|
|
15278
|
+
**************************************************************************/
|
|
15279
|
+
initDropGroupModelTracking() {
|
|
15280
|
+
this.dropGroupController.itemDropped$
|
|
15281
|
+
.pipe(takeUntilDestroyed())
|
|
15282
|
+
.subscribe((event) => this.handleGroupDrop(event));
|
|
15283
|
+
}
|
|
15284
|
+
handleGroupDrop(itemDropEvent) {
|
|
15285
|
+
this.updateModel(itemDropEvent);
|
|
15286
|
+
}
|
|
15287
|
+
/***************************************************************************
|
|
15288
|
+
* *
|
|
15289
|
+
* Private Methods *
|
|
15290
|
+
* *
|
|
15291
|
+
**************************************************************************/
|
|
15292
|
+
updateModel(itemDropEvent) {
|
|
15293
|
+
DataViewDndModelUtil.updateModel(itemDropEvent);
|
|
15294
|
+
}
|
|
15295
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderLocalDndSupportDirective, deps: [{ token: ElderDataViewDndDirective, optional: true }, { token: ElderDataViewDndGroupDirective, optional: true }, { token: DataViewDndControllerService, optional: true }, { token: DataViewDndGroupControllerService, optional: true }, { token: ELDER_DATA_VIEW, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15296
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.4", type: ElderLocalDndSupportDirective, isStandalone: true, selector: "[elderLocalDndSupport]", ngImport: i0 }); }
|
|
15297
|
+
}
|
|
15298
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderLocalDndSupportDirective, decorators: [{
|
|
15299
|
+
type: Directive,
|
|
15300
|
+
args: [{
|
|
15301
|
+
selector: '[elderLocalDndSupport]',
|
|
15302
|
+
}]
|
|
15303
|
+
}], ctorParameters: () => [{ type: ElderDataViewDndDirective, decorators: [{
|
|
15304
|
+
type: Optional
|
|
15305
|
+
}] }, { type: ElderDataViewDndGroupDirective, decorators: [{
|
|
15306
|
+
type: Optional
|
|
15307
|
+
}] }, { type: DataViewDndControllerService, decorators: [{
|
|
15308
|
+
type: Optional
|
|
15309
|
+
}] }, { type: DataViewDndGroupControllerService, decorators: [{
|
|
15310
|
+
type: Optional
|
|
15311
|
+
}] }, { type: undefined, decorators: [{
|
|
15312
|
+
type: Optional
|
|
15313
|
+
}, {
|
|
15314
|
+
type: Inject,
|
|
15315
|
+
args: [ELDER_DATA_VIEW]
|
|
15316
|
+
}] }] });
|
|
15317
|
+
|
|
15318
|
+
/**
|
|
15319
|
+
* Adds drag and drop support for items of elder data view.
|
|
15320
|
+
*/
|
|
15321
|
+
class ElderDataViewItemDragDirective {
|
|
15322
|
+
/***************************************************************************
|
|
15323
|
+
* *
|
|
15324
|
+
* Constructor *
|
|
15325
|
+
* *
|
|
15326
|
+
**************************************************************************/
|
|
15327
|
+
constructor(dndController, cdkDrag) {
|
|
15328
|
+
this.dndController = dndController;
|
|
15329
|
+
this.cdkDrag = cdkDrag;
|
|
15330
|
+
/***************************************************************************
|
|
15331
|
+
* *
|
|
15332
|
+
* Fields *
|
|
15333
|
+
* *
|
|
15334
|
+
**************************************************************************/
|
|
15335
|
+
/** The item that is being dragged. */
|
|
15336
|
+
this.item = input.required({ alias: 'elderElderDataViewItemDrag' });
|
|
15337
|
+
/** Controls if the item can be dragged or not.
|
|
15338
|
+
* We explicitly initialize with null and don't use booleanTransformFn since we need to know if the
|
|
15339
|
+
* user defined this or if we should fall back to a superior predicate fn.
|
|
15340
|
+
* */
|
|
15341
|
+
this.canDragItem = input(null); // this is on purpose
|
|
15342
|
+
const canDragItemPredicate = this.dndController ?
|
|
15343
|
+
toSignal(dndController.canDragItemPredicate$)
|
|
15344
|
+
: signal(null);
|
|
15345
|
+
effect(() => {
|
|
15346
|
+
this.bindCanDragItem(this.cdkDrag, this.canDragItem(), canDragItemPredicate());
|
|
15347
|
+
});
|
|
15348
|
+
effect(() => {
|
|
15349
|
+
this.bindData(this.cdkDrag, this.item());
|
|
15350
|
+
});
|
|
15351
|
+
}
|
|
15352
|
+
/***************************************************************************
|
|
15353
|
+
* *
|
|
15354
|
+
* Private Methods *
|
|
15355
|
+
* *
|
|
15356
|
+
**************************************************************************/
|
|
15357
|
+
bindCanDragItem(cdkDrag, canDragItem, canDragItemPredicate) {
|
|
15358
|
+
if (cdkDrag) {
|
|
15359
|
+
let canDrag;
|
|
15360
|
+
if (canDragItem !== null) {
|
|
15361
|
+
canDrag = canDragItem;
|
|
15362
|
+
}
|
|
15363
|
+
else if (canDragItemPredicate !== null) {
|
|
15364
|
+
canDrag = canDragItemPredicate(untracked(this.item)); // we only want to read the signal here
|
|
15365
|
+
}
|
|
15366
|
+
else {
|
|
15367
|
+
canDrag = true; // positive fall back since drag prevention is opt-in
|
|
15368
|
+
}
|
|
15369
|
+
cdkDrag.disabled = !canDrag;
|
|
15370
|
+
}
|
|
15371
|
+
}
|
|
15372
|
+
bindData(cdkDrag, item) {
|
|
15373
|
+
if (cdkDrag) {
|
|
15374
|
+
cdkDrag.data = item;
|
|
15375
|
+
}
|
|
15376
|
+
}
|
|
15377
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderDataViewItemDragDirective, deps: [{ token: DataViewDndControllerService, optional: true }, { token: i2$2.CdkDrag }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15378
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.4", type: ElderDataViewItemDragDirective, isStandalone: true, selector: "[elderElderDataViewItemDrag]", inputs: { item: { classPropertyName: "item", publicName: "elderElderDataViewItemDrag", isSignal: true, isRequired: true, transformFunction: null }, canDragItem: { classPropertyName: "canDragItem", publicName: "canDragItem", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i2$2.CdkDrag }], ngImport: i0 }); }
|
|
15379
|
+
}
|
|
15380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderDataViewItemDragDirective, decorators: [{
|
|
15381
|
+
type: Directive,
|
|
15382
|
+
args: [{
|
|
15383
|
+
selector: '[elderElderDataViewItemDrag]',
|
|
15384
|
+
hostDirectives: [CdkDrag] // adds cdkDrag to host
|
|
15385
|
+
}]
|
|
15386
|
+
}], ctorParameters: () => [{ type: DataViewDndControllerService, decorators: [{
|
|
15387
|
+
type: Optional
|
|
15388
|
+
}] }, { type: i2$2.CdkDrag }] });
|
|
15389
|
+
|
|
14686
15390
|
class ElderChipLabelDirective {
|
|
14687
15391
|
/***************************************************************************
|
|
14688
15392
|
* *
|
|
@@ -15090,7 +15794,7 @@ class ElderBadgeDirective {
|
|
|
15090
15794
|
createElderBadgeComponent() {
|
|
15091
15795
|
return this.viewContainerRef.createComponent(ElderBadgeComponent);
|
|
15092
15796
|
}
|
|
15093
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderBadgeDirective, deps: [{ token: i1.DomSanitizer }, { token: i0.ViewContainerRef }, { token: i2$
|
|
15797
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderBadgeDirective, deps: [{ token: i1.DomSanitizer }, { token: i0.ViewContainerRef }, { token: i2$3.MatBadge }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15094
15798
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.4", type: ElderBadgeDirective, isStandalone: true, selector: "[elderBadge]", inputs: { badgeColor: "badgeColor", badgeIcon: "badgeIcon", elderBadge: "elderBadge", colorSpec: "colorSpec", avatarSpec: "avatarSpec" }, host: { properties: { "style": "this.style" } }, ngImport: i0 }); }
|
|
15095
15799
|
}
|
|
15096
15800
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderBadgeDirective, decorators: [{
|
|
@@ -15099,7 +15803,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
15099
15803
|
selector: '[elderBadge]',
|
|
15100
15804
|
standalone: true,
|
|
15101
15805
|
}]
|
|
15102
|
-
}], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.ViewContainerRef }, { type: i2$
|
|
15806
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.ViewContainerRef }, { type: i2$3.MatBadge }, { type: i0.DestroyRef }], propDecorators: { style: [{
|
|
15103
15807
|
type: HostBinding,
|
|
15104
15808
|
args: ['style']
|
|
15105
15809
|
}], badgeColor: [{
|
|
@@ -15214,6 +15918,7 @@ class ElderDataCommonModule {
|
|
|
15214
15918
|
MatTooltipModule,
|
|
15215
15919
|
// translations
|
|
15216
15920
|
TranslateModule,
|
|
15921
|
+
DragDropModule,
|
|
15217
15922
|
ElderBadgeModule,
|
|
15218
15923
|
ElderDataToolbarComponent,
|
|
15219
15924
|
ElderToolbarContentDirective,
|
|
@@ -15222,14 +15927,22 @@ class ElderDataCommonModule {
|
|
|
15222
15927
|
ElderCompositeSortDcDirective,
|
|
15223
15928
|
ElderSelectionMasterCheckboxComponent,
|
|
15224
15929
|
DataContextSelectionDirective,
|
|
15225
|
-
DataContextStateIndicatorComponent
|
|
15930
|
+
DataContextStateIndicatorComponent,
|
|
15931
|
+
ElderDataViewDndDirective,
|
|
15932
|
+
ElderDataViewItemDragDirective,
|
|
15933
|
+
ElderLocalDndSupportDirective,
|
|
15934
|
+
ElderDataViewDndGroupDirective], exports: [ElderDataToolbarComponent,
|
|
15226
15935
|
ElderToolbarContentDirective,
|
|
15227
15936
|
ElderSingleSortComponent,
|
|
15228
15937
|
ElderCompositeSortComponent,
|
|
15229
15938
|
ElderCompositeSortDcDirective,
|
|
15230
15939
|
ElderSelectionMasterCheckboxComponent,
|
|
15231
15940
|
DataContextSelectionDirective,
|
|
15232
|
-
DataContextStateIndicatorComponent
|
|
15941
|
+
DataContextStateIndicatorComponent,
|
|
15942
|
+
ElderDataViewDndDirective,
|
|
15943
|
+
ElderDataViewItemDragDirective,
|
|
15944
|
+
ElderLocalDndSupportDirective,
|
|
15945
|
+
ElderDataViewDndGroupDirective] }); }
|
|
15233
15946
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderDataCommonModule, imports: [CommonModule,
|
|
15234
15947
|
RouterModule,
|
|
15235
15948
|
// Material
|
|
@@ -15244,6 +15957,7 @@ class ElderDataCommonModule {
|
|
|
15244
15957
|
MatTooltipModule,
|
|
15245
15958
|
// translations
|
|
15246
15959
|
TranslateModule,
|
|
15960
|
+
DragDropModule,
|
|
15247
15961
|
ElderBadgeModule,
|
|
15248
15962
|
ElderDataToolbarComponent,
|
|
15249
15963
|
ElderSingleSortComponent,
|
|
@@ -15269,6 +15983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
15269
15983
|
MatTooltipModule,
|
|
15270
15984
|
// translations
|
|
15271
15985
|
TranslateModule,
|
|
15986
|
+
DragDropModule,
|
|
15272
15987
|
ElderBadgeModule,
|
|
15273
15988
|
ElderDataToolbarComponent,
|
|
15274
15989
|
ElderToolbarContentDirective,
|
|
@@ -15278,6 +15993,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
15278
15993
|
ElderSelectionMasterCheckboxComponent,
|
|
15279
15994
|
DataContextSelectionDirective,
|
|
15280
15995
|
DataContextStateIndicatorComponent,
|
|
15996
|
+
ElderDataViewDndDirective,
|
|
15997
|
+
ElderDataViewItemDragDirective,
|
|
15998
|
+
ElderLocalDndSupportDirective,
|
|
15999
|
+
ElderDataViewDndGroupDirective,
|
|
15281
16000
|
],
|
|
15282
16001
|
exports: [
|
|
15283
16002
|
ElderDataToolbarComponent,
|
|
@@ -15288,6 +16007,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
15288
16007
|
ElderSelectionMasterCheckboxComponent,
|
|
15289
16008
|
DataContextSelectionDirective,
|
|
15290
16009
|
DataContextStateIndicatorComponent,
|
|
16010
|
+
ElderDataViewDndDirective,
|
|
16011
|
+
ElderDataViewItemDragDirective,
|
|
16012
|
+
ElderLocalDndSupportDirective,
|
|
16013
|
+
ElderDataViewDndGroupDirective,
|
|
15291
16014
|
],
|
|
15292
16015
|
}]
|
|
15293
16016
|
}] });
|
|
@@ -15307,7 +16030,7 @@ class ElderContinuatorComponent {
|
|
|
15307
16030
|
this.chunkSizeChange = output();
|
|
15308
16031
|
}
|
|
15309
16032
|
onChunkSizeChange(newSize) {
|
|
15310
|
-
if (newSize !== untracked(this.chunkSize)) {
|
|
16033
|
+
if (newSize && newSize !== untracked(this.chunkSize)) {
|
|
15311
16034
|
this.chunkSizeChange.emit(newSize);
|
|
15312
16035
|
}
|
|
15313
16036
|
}
|
|
@@ -16178,6 +16901,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
16178
16901
|
type: Input
|
|
16179
16902
|
}] } });
|
|
16180
16903
|
|
|
16904
|
+
/**
|
|
16905
|
+
* Directive which defines its host table as a CdkDropList and connects
|
|
16906
|
+
* it with the drag and drop controller service of the parent data view.
|
|
16907
|
+
*
|
|
16908
|
+
* This is needed since our elder-table wraps the mat-table.
|
|
16909
|
+
* If we someday switch to a more composition-based approach we might not need this anymore.
|
|
16910
|
+
*/
|
|
16911
|
+
class ElderTableDropListConnectorDirective {
|
|
16912
|
+
/***************************************************************************
|
|
16913
|
+
* *
|
|
16914
|
+
* Constructor *
|
|
16915
|
+
* *
|
|
16916
|
+
**************************************************************************/
|
|
16917
|
+
constructor(dndController, elderTable, cdkDropList) {
|
|
16918
|
+
this.dndController = dndController;
|
|
16919
|
+
this.elderTable = elderTable;
|
|
16920
|
+
this.cdkDropList = cdkDropList;
|
|
16921
|
+
/***************************************************************************
|
|
16922
|
+
* *
|
|
16923
|
+
* Fields *
|
|
16924
|
+
* *
|
|
16925
|
+
**************************************************************************/
|
|
16926
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
16927
|
+
// we want drag and drop to be opt-in, so disable by default.
|
|
16928
|
+
this.disableDrag(cdkDropList);
|
|
16929
|
+
cdkDropList.id = elderTable.id();
|
|
16930
|
+
if (this.dndController) {
|
|
16931
|
+
this.dndController.register(cdkDropList);
|
|
16932
|
+
}
|
|
16933
|
+
}
|
|
16934
|
+
/***************************************************************************
|
|
16935
|
+
* *
|
|
16936
|
+
* Private Methods *
|
|
16937
|
+
* *
|
|
16938
|
+
**************************************************************************/
|
|
16939
|
+
disableDrag(cdkDropList) {
|
|
16940
|
+
cdkDropList.disabled = true;
|
|
16941
|
+
}
|
|
16942
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTableDropListConnectorDirective, deps: [{ token: DataViewDndControllerService, optional: true }, { token: ElderTableComponent }, { token: i2$2.CdkDropList }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
16943
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.4", type: ElderTableDropListConnectorDirective, isStandalone: true, selector: "[elderTableDropListConnector]", hostDirectives: [{ directive: i2$2.CdkDropList }], ngImport: i0 }); }
|
|
16944
|
+
}
|
|
16945
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTableDropListConnectorDirective, decorators: [{
|
|
16946
|
+
type: Directive,
|
|
16947
|
+
args: [{
|
|
16948
|
+
selector: '[elderTableDropListConnector]',
|
|
16949
|
+
hostDirectives: [CdkDropList], // adds ckdDropList to host
|
|
16950
|
+
}]
|
|
16951
|
+
}], ctorParameters: () => [{ type: DataViewDndControllerService, decorators: [{
|
|
16952
|
+
type: Optional
|
|
16953
|
+
}] }, { type: ElderTableComponent }, { type: i2$2.CdkDropList }] });
|
|
16954
|
+
|
|
16181
16955
|
class ElderTableSelectionCellComponent {
|
|
16182
16956
|
/***************************************************************************
|
|
16183
16957
|
* *
|
|
@@ -16268,7 +17042,7 @@ class ElderTableExtensionDirective {
|
|
|
16268
17042
|
get extensionGroupIndex() {
|
|
16269
17043
|
return this._extensionGroupIndex;
|
|
16270
17044
|
}
|
|
16271
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTableExtensionDirective, deps: [{ token: ElderTableModel }, { token: i2$
|
|
17045
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTableExtensionDirective, deps: [{ token: ElderTableModel }, { token: i2$4.MatSort, optional: true }, { token: ElderTableExtensionDirective, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
16272
17046
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.4", 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 }); }
|
|
16273
17047
|
}
|
|
16274
17048
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTableExtensionDirective, decorators: [{
|
|
@@ -16278,7 +17052,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
16278
17052
|
providers: [ElderTableProviders.ExistingOrNewTableModel],
|
|
16279
17053
|
standalone: true,
|
|
16280
17054
|
}]
|
|
16281
|
-
}], ctorParameters: () => [{ type: ElderTableModel }, { type: i2$
|
|
17055
|
+
}], ctorParameters: () => [{ type: ElderTableModel }, { type: i2$4.MatSort, decorators: [{
|
|
16282
17056
|
type: Optional
|
|
16283
17057
|
}] }, { type: ElderTableExtensionDirective, decorators: [{
|
|
16284
17058
|
type: Optional
|
|
@@ -16320,6 +17094,10 @@ class ElderTableComponent extends ElderDataViewBaseComponent {
|
|
|
16320
17094
|
*/
|
|
16321
17095
|
this.loadNextQueued = false;
|
|
16322
17096
|
this.pageSizeOptions = input([30, 50, 100, 150, 250]);
|
|
17097
|
+
/**
|
|
17098
|
+
* ID of table component.
|
|
17099
|
+
*/
|
|
17100
|
+
this.id = input();
|
|
16323
17101
|
/**
|
|
16324
17102
|
* When this field is present and true,
|
|
16325
17103
|
* the coresponding row is marked to be in the processed of being removed.
|
|
@@ -16500,18 +17278,18 @@ class ElderTableComponent extends ElderDataViewBaseComponent {
|
|
|
16500
17278
|
const rows = this.rows$.getValue();
|
|
16501
17279
|
return rows.find((r) => this.getId(untracked(r.entity)) === this.getId(item));
|
|
16502
17280
|
}
|
|
16503
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTableComponent, deps: [{ token: ElderTableModel }, { token: SelectionModel, optional: true }, { token: ElderDataViewOptionsProvider, optional: true, skipSelf: true }, { token: i2$
|
|
16504
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: ElderTableComponent, isStandalone: true, selector: "elder-table", inputs: { pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", 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 }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, denseHorizontal: { classPropertyName: "denseHorizontal", publicName: "denseHorizontal", isSignal: true, isRequired: false, transformFunction: null }, toolbarTemplate: { classPropertyName: "toolbarTemplate", publicName: "toolbarTemplate", isSignal: false, 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: [
|
|
17281
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTableComponent, deps: [{ token: ElderTableModel }, { token: SelectionModel, optional: true }, { token: ElderDataViewOptionsProvider, optional: true, skipSelf: true }, { token: i2$4.MatSort, optional: true }, { token: ElderTableExtensionDirective, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17282
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: ElderTableComponent, isStandalone: true, selector: "elder-table", inputs: { pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, 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 }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, denseHorizontal: { classPropertyName: "denseHorizontal", publicName: "denseHorizontal", isSignal: true, isRequired: false, transformFunction: null }, toolbarTemplate: { classPropertyName: "toolbarTemplate", publicName: "toolbarTemplate", isSignal: false, 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: [
|
|
16505
17283
|
ElderTableProviders.ExistingOrNewTableModel,
|
|
16506
17284
|
{
|
|
16507
17285
|
provide: ELDER_DATA_VIEW,
|
|
16508
17286
|
useExisting: forwardRef(() => ElderTableComponent),
|
|
16509
17287
|
},
|
|
16510
|
-
], queries: [{ propertyName: "columnDefs", predicate: MatColumnDef }, { propertyName: "elderColumns", predicate: ElderTableColumnDirective }, { propertyName: "rowDefs", predicate: MatRowDef }, { propertyName: "toolbarRowTemplateQuery", predicate: ElderTableToolbarDirective, read: TemplateRef }], viewQueries: [{ propertyName: "matTable", first: true, predicate: MatTable, descendants: true, static: true }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "elderContinuator", first: true, predicate: ElderContinuatorComponent, descendants: true }, { propertyName: "rowsQuery", predicate: ElderTableRowDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"full\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\" [class.elder-table-dense-horizontal]=\"denseHorizontal()\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates(); track toolbarRowTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarRowTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n <!-- Scrollable Table -->\n <div\n class=\"elder-table-inner layout-col {{\n isDataValid(viewData()) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !canLoadMore()\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dc())\"\n [elderDataContextSelection]=\"dc()\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- selection Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef>\n <elder-selection-master-checkbox></elder-selection-master-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let entity\">\n <elder-table-selection-cell\n [entity]=\"entity\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"dataSelection.selectionState().anySelected\"\n ></elder-table-selection-cell>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner()\"\n [elderTableRow]=\"entity\"\n [highlightSelection]=\"interactionMode === 'selection'\"\n [class.dense]=\"dense()\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n (click)=\"onItemClick(entity)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooter()) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n </table>\n </div>\n\n @if (!isDataValid(viewData())) {\n <elder-data-context-state-indicator class=\"flex\" [dataContext]=\"dataContext\">\n </elder-data-context-state-indicator>\n }\n\n <mat-progress-bar\n class=\"flex-none mt-auto\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <div class=\"layout-row flex-none place-end-center gap-md elder-table-footer\">\n @if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"dataContinuable.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 }\n </div>\n </div>\n</div>\n", styles: [":host{min-width:0;min-height:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: ["listenToHost", "eventThrottle", "offsetFactor", "ignoreScrollEvent", "containerId", "scrollContainer"], outputs: ["closeToEnd", "scrolling"] }, { kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: DataContextSelectionDirective, selector: "[elderDataContextSelection]", inputs: ["elderDataContextSelectionModel", "elderDataContextSelection"], exportAs: ["elderDataContextSelection"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: ElderSelectionMasterCheckboxComponent, selector: "elder-selection-master-checkbox" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: ElderTableRowDirective, selector: "tr[elderTableRow]", inputs: ["elderTableRow", "highlightSelection"], exportAs: ["elderTableRow"] }, { kind: "directive", type: MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "component", type: MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "component", type: DataContextStateIndicatorComponent, selector: "elder-data-context-state-indicator", inputs: ["dataContext"] }, { kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: ElderContinuatorComponent, selector: "elder-continuator", inputs: ["loadedCount", "total", "canLoadMore", "chunkSizeOptions", "chunkSize"], outputs: ["loadMoreRequested", "chunkSizeChange"] }, { kind: "component", type: ElderTableSelectionCellComponent, selector: "elder-table-selection-cell", inputs: ["entity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
17288
|
+
], queries: [{ propertyName: "columnDefs", predicate: MatColumnDef }, { propertyName: "elderColumns", predicate: ElderTableColumnDirective }, { propertyName: "rowDefs", predicate: MatRowDef }, { propertyName: "toolbarRowTemplateQuery", predicate: ElderTableToolbarDirective, read: TemplateRef }], viewQueries: [{ propertyName: "matTable", first: true, predicate: MatTable, descendants: true, static: true }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "elderContinuator", first: true, predicate: ElderContinuatorComponent, descendants: true }, { propertyName: "rowsQuery", predicate: ElderTableRowDirective, descendants: true }], exportAs: ["elderTable"], usesInheritance: true, ngImport: i0, template: "<div class=\"full\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\" [class.elder-table-dense-horizontal]=\"denseHorizontal()\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates(); track toolbarRowTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarRowTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n <!-- Scrollable Table -->\n <div\n class=\"elder-table-inner layout-col {{\n isDataValid(viewData()) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !canLoadMore()\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n [id]=\"id()\"\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dc())\"\n [elderDataContextSelection]=\"dc()\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n elderTableDropListConnector\n >\n <!-- selection Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef>\n <elder-selection-master-checkbox></elder-selection-master-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let entity\">\n <elder-table-selection-cell\n [entity]=\"entity\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"dataSelection.selectionState().anySelected\"\n ></elder-table-selection-cell>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner()\"\n [elderElderDataViewItemDrag]=\"entity\"\n [elderTableRow]=\"entity\"\n [highlightSelection]=\"interactionMode === 'selection'\"\n [class.dense]=\"dense()\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n (click)=\"onItemClick(entity)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooter()) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n </table>\n </div>\n\n @if (!isDataValid(viewData())) {\n <elder-data-context-state-indicator class=\"flex\" [dataContext]=\"dataContext\">\n </elder-data-context-state-indicator>\n }\n\n <mat-progress-bar\n class=\"flex-none mt-auto\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <div class=\"layout-row flex-none place-end-center gap-md elder-table-footer\">\n @if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"dataContinuable.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 }\n </div>\n </div>\n</div>\n", styles: [":host{min-width:0;min-height:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: ["listenToHost", "eventThrottle", "offsetFactor", "ignoreScrollEvent", "containerId", "scrollContainer"], outputs: ["closeToEnd", "scrolling"] }, { kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: DataContextSelectionDirective, selector: "[elderDataContextSelection]", inputs: ["elderDataContextSelectionModel", "elderDataContextSelection"], exportAs: ["elderDataContextSelection"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: ElderSelectionMasterCheckboxComponent, selector: "elder-selection-master-checkbox" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: ElderTableRowDirective, selector: "tr[elderTableRow]", inputs: ["elderTableRow", "highlightSelection"], exportAs: ["elderTableRow"] }, { kind: "directive", type: MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "component", type: MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "component", type: DataContextStateIndicatorComponent, selector: "elder-data-context-state-indicator", inputs: ["dataContext"] }, { kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: ElderDataViewItemDragDirective, selector: "[elderElderDataViewItemDrag]", inputs: ["elderElderDataViewItemDrag", "canDragItem"] }, { kind: "directive", type: ElderTableDropListConnectorDirective, selector: "[elderTableDropListConnector]" }, { kind: "component", type: ElderContinuatorComponent, selector: "elder-continuator", inputs: ["loadedCount", "total", "canLoadMore", "chunkSizeOptions", "chunkSize"], outputs: ["loadMoreRequested", "chunkSizeChange"] }, { kind: "component", type: ElderTableSelectionCellComponent, selector: "elder-table-selection-cell", inputs: ["entity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16511
17289
|
}
|
|
16512
17290
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTableComponent, decorators: [{
|
|
16513
17291
|
type: Component,
|
|
16514
|
-
args: [{ selector: 'elder-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
17292
|
+
args: [{ selector: 'elder-table', exportAs: 'elderTable', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
16515
17293
|
ElderTableProviders.ExistingOrNewTableModel,
|
|
16516
17294
|
{
|
|
16517
17295
|
provide: ELDER_DATA_VIEW,
|
|
@@ -16540,16 +17318,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
16540
17318
|
DataContextStateIndicatorComponent,
|
|
16541
17319
|
MatProgressBar,
|
|
16542
17320
|
MatPaginator,
|
|
17321
|
+
ElderDataViewItemDragDirective,
|
|
17322
|
+
ElderTableDropListConnectorDirective,
|
|
16543
17323
|
ElderContinuatorComponent,
|
|
16544
17324
|
ElderTableSelectionCellComponent,
|
|
16545
|
-
], template: "<div class=\"full\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\" [class.elder-table-dense-horizontal]=\"denseHorizontal()\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates(); track toolbarRowTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarRowTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n <!-- Scrollable Table -->\n <div\n class=\"elder-table-inner layout-col {{\n isDataValid(viewData()) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !canLoadMore()\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dc())\"\n [elderDataContextSelection]=\"dc()\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- selection Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef>\n <elder-selection-master-checkbox></elder-selection-master-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let entity\">\n <elder-table-selection-cell\n [entity]=\"entity\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"dataSelection.selectionState().anySelected\"\n ></elder-table-selection-cell>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner()\"\n [elderTableRow]=\"entity\"\n [highlightSelection]=\"interactionMode === 'selection'\"\n [class.dense]=\"dense()\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n (click)=\"onItemClick(entity)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooter()) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n </table>\n </div>\n\n @if (!isDataValid(viewData())) {\n <elder-data-context-state-indicator class=\"flex\" [dataContext]=\"dataContext\">\n </elder-data-context-state-indicator>\n }\n\n <mat-progress-bar\n class=\"flex-none mt-auto\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <div class=\"layout-row flex-none place-end-center gap-md elder-table-footer\">\n @if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"dataContinuable.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 }\n </div>\n </div>\n</div>\n", styles: [":host{min-width:0;min-height:0}\n"] }]
|
|
17325
|
+
], template: "<div class=\"full\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\" [class.elder-table-dense-horizontal]=\"denseHorizontal()\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates(); track toolbarRowTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarRowTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n <!-- Scrollable Table -->\n <div\n class=\"elder-table-inner layout-col {{\n isDataValid(viewData()) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !canLoadMore()\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n [id]=\"id()\"\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dc())\"\n [elderDataContextSelection]=\"dc()\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n elderTableDropListConnector\n >\n <!-- selection Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef>\n <elder-selection-master-checkbox></elder-selection-master-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let entity\">\n <elder-table-selection-cell\n [entity]=\"entity\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"dataSelection.selectionState().anySelected\"\n ></elder-table-selection-cell>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner()\"\n [elderElderDataViewItemDrag]=\"entity\"\n [elderTableRow]=\"entity\"\n [highlightSelection]=\"interactionMode === 'selection'\"\n [class.dense]=\"dense()\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n (click)=\"onItemClick(entity)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooter()) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n </table>\n </div>\n\n @if (!isDataValid(viewData())) {\n <elder-data-context-state-indicator class=\"flex\" [dataContext]=\"dataContext\">\n </elder-data-context-state-indicator>\n }\n\n <mat-progress-bar\n class=\"flex-none mt-auto\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <div class=\"layout-row flex-none place-end-center gap-md elder-table-footer\">\n @if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"dataContinuable.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 }\n </div>\n </div>\n</div>\n", styles: [":host{min-width:0;min-height:0}\n"] }]
|
|
16546
17326
|
}], ctorParameters: () => [{ type: ElderTableModel }, { type: SelectionModel, decorators: [{
|
|
16547
17327
|
type: Optional
|
|
16548
17328
|
}] }, { type: ElderDataViewOptionsProvider, decorators: [{
|
|
16549
17329
|
type: Optional
|
|
16550
17330
|
}, {
|
|
16551
17331
|
type: SkipSelf
|
|
16552
|
-
}] }, { type: i2$
|
|
17332
|
+
}] }, { type: i2$4.MatSort, decorators: [{
|
|
16553
17333
|
type: Optional
|
|
16554
17334
|
}] }, { type: ElderTableExtensionDirective, decorators: [{
|
|
16555
17335
|
type: Optional
|
|
@@ -18512,7 +19292,7 @@ class ElderNumberCellDirective {
|
|
|
18512
19292
|
matSortHeader.arrowPosition = 'before';
|
|
18513
19293
|
}
|
|
18514
19294
|
}
|
|
18515
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderNumberCellDirective, deps: [{ token: i2$
|
|
19295
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderNumberCellDirective, deps: [{ token: i2$4.MatSortHeader, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18516
19296
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.4", type: ElderNumberCellDirective, isStandalone: true, selector: "[elderNumberCell]", host: { properties: { "class.elder-number-cell": "true" } }, ngImport: i0 }); }
|
|
18517
19297
|
}
|
|
18518
19298
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderNumberCellDirective, decorators: [{
|
|
@@ -18524,7 +19304,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
18524
19304
|
},
|
|
18525
19305
|
standalone: true,
|
|
18526
19306
|
}]
|
|
18527
|
-
}], ctorParameters: () => [{ type: i2$
|
|
19307
|
+
}], ctorParameters: () => [{ type: i2$4.MatSortHeader, decorators: [{
|
|
18528
19308
|
type: Optional
|
|
18529
19309
|
}] }] });
|
|
18530
19310
|
|
|
@@ -18789,6 +19569,7 @@ class ElderTableModule {
|
|
|
18789
19569
|
MatBadgeModule,
|
|
18790
19570
|
MatProgressBarModule,
|
|
18791
19571
|
CdkTableModule,
|
|
19572
|
+
DragDropModule,
|
|
18792
19573
|
MatTableModule,
|
|
18793
19574
|
MatPaginatorModule,
|
|
18794
19575
|
MatSortModule,
|
|
@@ -18811,7 +19592,8 @@ class ElderTableModule {
|
|
|
18811
19592
|
ElderTableExtensionDirective,
|
|
18812
19593
|
ElderTableColumnDirective,
|
|
18813
19594
|
ElderTableRootDirective,
|
|
18814
|
-
ElderDeleteActiveDirective
|
|
19595
|
+
ElderDeleteActiveDirective,
|
|
19596
|
+
ElderTableDropListConnectorDirective], exports: [ElderTableComponent,
|
|
18815
19597
|
ElderTableToolbarDirective,
|
|
18816
19598
|
ElderDataCommonModule,
|
|
18817
19599
|
ElderTableSortDirective,
|
|
@@ -18820,7 +19602,8 @@ class ElderTableModule {
|
|
|
18820
19602
|
ElderTableActivationDirective,
|
|
18821
19603
|
ElderTableExtensionDirective,
|
|
18822
19604
|
ElderTableRootDirective,
|
|
18823
|
-
ElderDeleteActiveDirective
|
|
19605
|
+
ElderDeleteActiveDirective,
|
|
19606
|
+
ElderTableDropListConnectorDirective] }); }
|
|
18824
19607
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderTableModule, providers: [
|
|
18825
19608
|
{
|
|
18826
19609
|
provide: MatPaginatorIntl,
|
|
@@ -18838,6 +19621,7 @@ class ElderTableModule {
|
|
|
18838
19621
|
MatBadgeModule,
|
|
18839
19622
|
MatProgressBarModule,
|
|
18840
19623
|
CdkTableModule,
|
|
19624
|
+
DragDropModule,
|
|
18841
19625
|
MatTableModule,
|
|
18842
19626
|
MatPaginatorModule,
|
|
18843
19627
|
MatSortModule,
|
|
@@ -18867,6 +19651,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
18867
19651
|
MatBadgeModule,
|
|
18868
19652
|
MatProgressBarModule,
|
|
18869
19653
|
CdkTableModule,
|
|
19654
|
+
DragDropModule,
|
|
18870
19655
|
MatTableModule,
|
|
18871
19656
|
MatPaginatorModule,
|
|
18872
19657
|
MatSortModule,
|
|
@@ -18890,6 +19675,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
18890
19675
|
ElderTableColumnDirective,
|
|
18891
19676
|
ElderTableRootDirective,
|
|
18892
19677
|
ElderDeleteActiveDirective,
|
|
19678
|
+
ElderTableDropListConnectorDirective,
|
|
18893
19679
|
],
|
|
18894
19680
|
exports: [
|
|
18895
19681
|
ElderTableComponent,
|
|
@@ -18902,6 +19688,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
18902
19688
|
ElderTableExtensionDirective,
|
|
18903
19689
|
ElderTableRootDirective,
|
|
18904
19690
|
ElderDeleteActiveDirective,
|
|
19691
|
+
ElderTableDropListConnectorDirective,
|
|
18905
19692
|
],
|
|
18906
19693
|
providers: [
|
|
18907
19694
|
{
|
|
@@ -30426,7 +31213,7 @@ class ElderIntervalPickerComponent {
|
|
|
30426
31213
|
}
|
|
30427
31214
|
}
|
|
30428
31215
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderIntervalPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30429
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: ElderIntervalPickerComponent, isStandalone: true, selector: "elder-interval-picker", inputs: { emitType: { classPropertyName: "emitType", publicName: "emitType", isSignal: true, isRequired: false, transformFunction: null }, autoEmitMode: { classPropertyName: "autoEmitMode", publicName: "autoEmitMode", isSignal: true, isRequired: false, transformFunction: null }, intervalInputMode: { classPropertyName: "intervalInputMode", publicName: "intervalInputMode", isSignal: true, isRequired: false, transformFunction: null }, showAnchor: { classPropertyName: "showAnchor", publicName: "showAnchor", isSignal: true, isRequired: false, transformFunction: null }, anchorReadOnly: { classPropertyName: "anchorReadOnly", publicName: "anchorReadOnly", isSignal: true, isRequired: false, transformFunction: null }, externalAnchorDateTime: { classPropertyName: "externalAnchorDateTime", publicName: "externalAnchorDateTime", isSignal: true, isRequired: false, transformFunction: null }, externalInterval: { classPropertyName: "externalInterval", publicName: "externalInterval", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { intervalChange: "intervalChange" }, providers: [{ provide: DateAdapter, useClass: CustomDateAdapter }], viewQueries: [{ propertyName: "calendarStart", first: true, predicate: ["rangeCalendarStart"], descendants: true }, { propertyName: "calendarEnd", first: true, predicate: ["rangeCalendarEnd"], descendants: true }, { propertyName: "calendarStartElRef", first: true, predicate: ["rangeCalendarStart"], descendants: true, read: ElementRef }, { propertyName: "calendarEndElRef", first: true, predicate: ["rangeCalendarEnd"], descendants: true, read: ElementRef }, { propertyName: "startDateInput", first: true, predicate: ["startDateInput"], descendants: true }, { propertyName: "endDateInput", first: true, predicate: ["endDateInput"], descendants: true }], ngImport: i0, template: "<div class=\"interval-picker-component p-md layout-col gap-xxl\">\n <div class=\"layout-row gap-xxl place-between-start\" style=\"gap: 5%\">\n <div class=\"layout-col gap-md pt-xs\">\n <div class=\"layout-col\">\n <div class=\"layout-row select-buttons-container gap-sm\">\n <div class=\"layout-col gap-xs place-start-stretch\">\n <button mat-button type=\"button\" (click)=\"controller.select.selectCurrentDay()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.anchorDay' | translate }}\n } @else {\n {{ 'intervalPicker.today' | translate }}\n }\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectYesterday()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.last' | translate }} 1 {{ 'intervalPicker.day' | translate }}\n } @else {\n {{ 'intervalPicker.yesterday' | translate }}\n }\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLastSevenDaysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 7\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLastThirtyDaysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 30\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLast365daysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 365\n {{ 'intervalPicker.days' | translate }}\n </button>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"pt-sm\"></div>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLastFiveMinutes()\">\n {{ 'intervalPicker.last' | translate }} 5\n {{ 'intervalPicker.minutes' | translate }}\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLastHour()\">\n {{ 'intervalPicker.last' | translate }} {{ 'intervalPicker.hour' | translate }}\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLast24Hours()\">\n {{ 'intervalPicker.last' | translate }} 24\n {{ 'intervalPicker.hours' | translate }}\n </button>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"layout-col\">\n <!-- smart shift -->\n <div class=\"layout-row place-around-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.smartShift(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ presenter.smartShiftMessage() }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.smartShift(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- calendars and input controls -->\n <div\n class=\"layout-row place-around-center\"\n style=\"align-items: flex-start; min-height: 280px\"\n >\n <mat-calendar\n #rangeCalendarStart\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setStartDateFromJSDate($event)\"\n [maxDate]=\"presenter.endDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n <mat-calendar\n #rangeCalendarEnd\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setEndDateFromJSDate($event)\"\n [minDate]=\"presenter.startDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n </div>\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"startDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.startDateHtmlString()\"\n (ngModelChange)=\"controller.form.setStartDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endDate' | translate }}</mat-label>\n <input\n #endDateInput\n name=\"endDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.endDateHtmlString()\"\n (ngModelChange)=\"controller.form.setEndDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n </div>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startTime' | translate }}</mat-label>\n <input\n name=\"startTimeInput\"\n matInput\n type=\"time\"\n #startTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.startTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setStartTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.clearStartTime()\"\n [disabled]=\"!presenter.isStartTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endTime' | translate }}</mat-label>\n <input\n name=\"endTimeInput\"\n matInput\n type=\"time\"\n #endTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.endTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setEndTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.clearEndTime()\"\n [disabled]=\"!presenter.isEndTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n }\n <br />\n </div>\n <div class=\"pt-xs\" style=\"width: 25%\">\n <div class=\"layout-col gap-lg\">\n <div class=\"layout-col gap-xs place-start-start\">\n <!-- select current -->\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentWeek()\">\n {{ 'intervalPicker.currentPeriod.week' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentMonth()\">\n {{ 'intervalPicker.currentPeriod.month' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentQuarter()\">\n {{ 'intervalPicker.currentPeriod.quarter' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentYear()\">\n {{ 'intervalPicker.currentPeriod.year' | translate }}\n </button>\n </div>\n <div class=\"fixed-shifts-container\">\n <div class=\"layout-col place-start-stretch\">\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftDay(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.day' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftDay(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.month' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftYear(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.year' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftYear(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n\n @if (true) {\n <!-- shift minute -->\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.minute' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- shift hour -->\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftHour(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.hour' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftHour(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"layout-row place-between-center gap-xxl pt-sm\">\n <div>\n @if (showAnchor()) {\n <div class=\"layout-row flex-none gap-md\">\n <mat-menu #anchorMenu=\"matMenu\">\n @if (presenter.startDateHtmlString()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToEndDateTime()\"\n [disabled]=\"!presenter.startDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">login</mat-icon>\n <span>{{ 'intervalPicker.endDate' | translate }}</span>\n </button>\n }\n @if (presenter.endDateHtmlString()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToStartDateTime()\"\n [disabled]=\"!presenter.endDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">logout</mat-icon>\n <span>{{ 'intervalPicker.startDate' | translate }}</span>\n </button>\n }\n @if (presenter.isFixedAnchorDateSet()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.resetAnchor()\"\n [disabled]=\"!presenter.isFixedAnchorDateSet() || anchorReadOnly()\"\n >\n <mat-icon>close</mat-icon>\n <span>{{ 'intervalPicker.clear' | translate }}</span>\n </button>\n }\n </mat-menu>\n\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"anchorDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.anchorDateHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorDateFromString($event)\"\n [readonly]=\"anchorReadOnly()\"\n />\n @if (!anchorReadOnly()) {\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n [matMenuTriggerFor]=\"anchorMenu\"\n [disabled]=\"presenter.isAnchorMenuDisabled()\"\n >\n <mat-icon class=\"material-symbols-outlined\">more_horiz</mat-icon>\n </button>\n }\n </mat-form-field>\n @if (intervalInputMode() === 'date-time-range') {\n <mat-form-field class=\"input-control-container-short\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorTime' | translate }}</mat-label>\n <input\n matInput\n name=\"anchorTimeInput\"\n type=\"time\"\n #anchorTimeControl=\"ngModel\"\n step=\"1\"\n [readonly]=\"anchorReadOnly()\"\n [ngModel]=\"presenter.anchorTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.anchor.resetAnchorTime()\"\n [disabled]=\"anchorReadOnly() || presenter.isAnchorTimeMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n }\n </div>\n }\n </div>\n <!-- result interval -->\n <div class=\"layout-col place-center-center\">\n <div class=\"date-interval mat-caption pt-xs\">\n @if (presenter.startDateTimeAsJSDate()) {\n {{ presenter.startDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.startDateNotSet' | translate }}\n }\n <span> - </span>\n @if (presenter.endDateTimeAsJSDate()) {\n {{ presenter.endDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.endDateNotSet' | translate }}\n }\n </div>\n <div>\n <span class=\"mat-caption\">{{ presenter.deltaHumanReadable() || ' ' }}</span>\n </div>\n </div>\n <div class=\"layout-row gap-lg\">\n <button\n type=\"button\"\n mat-flat-button\n color=\"primary\"\n (click)=\"controller.clearInterval()\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n {{ 'intervalPicker.clear' | translate }}\n </button>\n\n @if (!this.autoEmitMode()) {\n <button type=\"button\" color=\"primary\" mat-flat-button (click)=\"controller.manualEmit()\">\n {{ 'actions.ok' | translate }}\n </button>\n }\n </div>\n</div>\n", styles: [".interval-picker-component{min-width:840px;max-width:100%}.fixed-shifts-container{max-width:160px}.input-control-container{width:192px;max-width:100%}.input-control-container-short{width:140px;max-width:100%}.select-buttons-container button{white-space:nowrap;text-align:left;justify-content:flex-start}::ng-deep .interval-picker-component .mat-calendar-body-cell.elder-custom-anchor-date .mat-calendar-body-cell-content{border-radius:50%;background-color:#def;background-color:#b4d2ebbf}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$e.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$4.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: CommonModule }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31216
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: ElderIntervalPickerComponent, isStandalone: true, selector: "elder-interval-picker", inputs: { emitType: { classPropertyName: "emitType", publicName: "emitType", isSignal: true, isRequired: false, transformFunction: null }, autoEmitMode: { classPropertyName: "autoEmitMode", publicName: "autoEmitMode", isSignal: true, isRequired: false, transformFunction: null }, intervalInputMode: { classPropertyName: "intervalInputMode", publicName: "intervalInputMode", isSignal: true, isRequired: false, transformFunction: null }, showAnchor: { classPropertyName: "showAnchor", publicName: "showAnchor", isSignal: true, isRequired: false, transformFunction: null }, anchorReadOnly: { classPropertyName: "anchorReadOnly", publicName: "anchorReadOnly", isSignal: true, isRequired: false, transformFunction: null }, externalAnchorDateTime: { classPropertyName: "externalAnchorDateTime", publicName: "externalAnchorDateTime", isSignal: true, isRequired: false, transformFunction: null }, externalInterval: { classPropertyName: "externalInterval", publicName: "externalInterval", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { intervalChange: "intervalChange" }, providers: [{ provide: DateAdapter, useClass: CustomDateAdapter }], viewQueries: [{ propertyName: "calendarStart", first: true, predicate: ["rangeCalendarStart"], descendants: true }, { propertyName: "calendarEnd", first: true, predicate: ["rangeCalendarEnd"], descendants: true }, { propertyName: "calendarStartElRef", first: true, predicate: ["rangeCalendarStart"], descendants: true, read: ElementRef }, { propertyName: "calendarEndElRef", first: true, predicate: ["rangeCalendarEnd"], descendants: true, read: ElementRef }, { propertyName: "startDateInput", first: true, predicate: ["startDateInput"], descendants: true }, { propertyName: "endDateInput", first: true, predicate: ["endDateInput"], descendants: true }], ngImport: i0, template: "<div class=\"interval-picker-component p-md layout-col gap-xxl\">\n <div class=\"layout-row gap-xxl place-between-start\" style=\"gap: 5%\">\n <div class=\"layout-col gap-md pt-xs\">\n <div class=\"layout-col\">\n <div class=\"layout-row select-buttons-container gap-sm\">\n <div class=\"layout-col gap-xs place-start-stretch\">\n <button mat-button type=\"button\" (click)=\"controller.select.selectCurrentDay()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.anchorDay' | translate }}\n } @else {\n {{ 'intervalPicker.today' | translate }}\n }\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectYesterday()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.last' | translate }} 1 {{ 'intervalPicker.day' | translate }}\n } @else {\n {{ 'intervalPicker.yesterday' | translate }}\n }\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLastSevenDaysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 7\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLastThirtyDaysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 30\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"controller.select.selectLast365daysIncludingToday()\"\n >\n {{ 'intervalPicker.last' | translate }} 365\n {{ 'intervalPicker.days' | translate }}\n </button>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"pt-sm\"></div>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLastFiveMinutes()\">\n {{ 'intervalPicker.last' | translate }} 5\n {{ 'intervalPicker.minutes' | translate }}\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLastHour()\">\n {{ 'intervalPicker.last' | translate }} {{ 'intervalPicker.hour' | translate }}\n </button>\n <button mat-button type=\"button\" (click)=\"controller.select.selectLast24Hours()\">\n {{ 'intervalPicker.last' | translate }} 24\n {{ 'intervalPicker.hours' | translate }}\n </button>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"layout-col\">\n <!-- smart shift -->\n <div class=\"layout-row place-around-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.smartShift(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ presenter.smartShiftMessage() }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.smartShift(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- calendars and input controls -->\n <div\n class=\"layout-row place-around-center\"\n style=\"align-items: flex-start; min-height: 280px\"\n >\n <mat-calendar\n #rangeCalendarStart\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setStartDateFromJSDate($event)\"\n [maxDate]=\"presenter.endDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n <mat-calendar\n #rangeCalendarEnd\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setEndDateFromJSDate($event)\"\n [minDate]=\"presenter.startDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n </div>\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"startDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.startDateHtmlString()\"\n (ngModelChange)=\"controller.form.setStartDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endDate' | translate }}</mat-label>\n <input\n #endDateInput\n name=\"endDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.endDateHtmlString()\"\n (ngModelChange)=\"controller.form.setEndDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n </div>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startTime' | translate }}</mat-label>\n <input\n name=\"startTimeInput\"\n matInput\n type=\"time\"\n #startTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.startTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setStartTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.clearStartTime()\"\n [disabled]=\"!presenter.isStartTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endTime' | translate }}</mat-label>\n <input\n name=\"endTimeInput\"\n matInput\n type=\"time\"\n #endTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.endTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setEndTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.clearEndTime()\"\n [disabled]=\"!presenter.isEndTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n }\n <br />\n </div>\n <div class=\"pt-xs\" style=\"width: 25%\">\n <div class=\"layout-col gap-lg\">\n <div class=\"layout-col gap-xs place-start-start\">\n <!-- select current -->\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentWeek()\">\n {{ 'intervalPicker.currentPeriod.week' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentMonth()\">\n {{ 'intervalPicker.currentPeriod.month' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentQuarter()\">\n {{ 'intervalPicker.currentPeriod.quarter' | translate }}\n </button>\n <button type=\"button\" mat-button (click)=\"controller.select.selectCurrentYear()\">\n {{ 'intervalPicker.currentPeriod.year' | translate }}\n </button>\n </div>\n <div class=\"fixed-shifts-container\">\n <div class=\"layout-col place-start-stretch\">\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftDay(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.day' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftDay(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.month' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftYear(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.year' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftYear(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n\n @if (true) {\n <!-- shift minute -->\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.minute' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- shift hour -->\n <div class=\"layout-row place-between-center\">\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftHour(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.hour' | translate }}</span>\n <button\n type=\"button\"\n mat-icon-button\n (click)=\"controller.shift.shiftHour(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"layout-row place-between-center gap-xxl pt-sm\">\n <div>\n @if (showAnchor()) {\n <div class=\"layout-row flex-none gap-md\">\n <mat-menu #anchorMenu=\"matMenu\">\n @if (presenter.startDateHtmlString()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToEndDateTime()\"\n [disabled]=\"!presenter.startDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">login</mat-icon>\n <span>{{ 'intervalPicker.endDate' | translate }}</span>\n </button>\n }\n @if (presenter.endDateHtmlString()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToStartDateTime()\"\n [disabled]=\"!presenter.endDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">logout</mat-icon>\n <span>{{ 'intervalPicker.startDate' | translate }}</span>\n </button>\n }\n @if (presenter.isFixedAnchorDateSet()) {\n <button\n type=\"button\"\n mat-menu-item\n (click)=\"controller.anchor.resetAnchor()\"\n [disabled]=\"!presenter.isFixedAnchorDateSet() || anchorReadOnly()\"\n >\n <mat-icon>close</mat-icon>\n <span>{{ 'intervalPicker.clear' | translate }}</span>\n </button>\n }\n </mat-menu>\n\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"anchorDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.anchorDateHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorDateFromString($event)\"\n [readonly]=\"anchorReadOnly()\"\n />\n @if (!anchorReadOnly()) {\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n [matMenuTriggerFor]=\"anchorMenu\"\n [disabled]=\"presenter.isAnchorMenuDisabled()\"\n >\n <mat-icon class=\"material-symbols-outlined\">more_horiz</mat-icon>\n </button>\n }\n </mat-form-field>\n @if (intervalInputMode() === 'date-time-range') {\n <mat-form-field class=\"input-control-container-short\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorTime' | translate }}</mat-label>\n <input\n matInput\n name=\"anchorTimeInput\"\n type=\"time\"\n #anchorTimeControl=\"ngModel\"\n step=\"1\"\n [readonly]=\"anchorReadOnly()\"\n [ngModel]=\"presenter.anchorTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorTimeFromString($event)\"\n />\n <button\n type=\"button\"\n mat-icon-button\n matSuffix\n (click)=\"controller.anchor.resetAnchorTime()\"\n [disabled]=\"anchorReadOnly() || presenter.isAnchorTimeMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n }\n </div>\n }\n </div>\n <!-- result interval -->\n <div class=\"layout-col place-center-center\">\n <div class=\"date-interval mat-caption pt-xs\">\n @if (presenter.startDateTimeAsJSDate()) {\n {{ presenter.startDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.startDateNotSet' | translate }}\n }\n <span> - </span>\n @if (presenter.endDateTimeAsJSDate()) {\n {{ presenter.endDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.endDateNotSet' | translate }}\n }\n </div>\n <div>\n <span class=\"mat-caption\">{{ presenter.deltaHumanReadable() || ' ' }}</span>\n </div>\n </div>\n <div class=\"layout-row gap-lg\">\n <button\n type=\"button\"\n mat-flat-button\n color=\"primary\"\n (click)=\"controller.clearInterval()\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n {{ 'intervalPicker.clear' | translate }}\n </button>\n\n @if (!this.autoEmitMode()) {\n <button type=\"button\" color=\"primary\" mat-flat-button (click)=\"controller.manualEmit()\">\n {{ 'actions.ok' | translate }}\n </button>\n }\n </div>\n</div>\n", styles: [".interval-picker-component{min-width:840px;max-width:100%}.fixed-shifts-container{max-width:160px}.input-control-container{width:192px;max-width:100%}.input-control-container-short{width:140px;max-width:100%}.select-buttons-container button{white-space:nowrap;text-align:left;justify-content:flex-start}::ng-deep .interval-picker-component .mat-calendar-body-cell.elder-custom-anchor-date .mat-calendar-body-cell-content{border-radius:50%;background-color:#def;background-color:#b4d2ebbf}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$e.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$5.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: CommonModule }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30430
31217
|
}
|
|
30431
31218
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderIntervalPickerComponent, decorators: [{
|
|
30432
31219
|
type: Component,
|
|
@@ -31310,7 +32097,7 @@ class ElderLocalizedInputTableComponent extends FormFieldBaseComponent {
|
|
|
31310
32097
|
return localizables;
|
|
31311
32098
|
}
|
|
31312
32099
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderLocalizedInputTableComponent, deps: [{ token: ElderToastService }, { token: ElderLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31313
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: ElderLocalizedInputTableComponent, isStandalone: true, selector: "elder-localized-input-table", inputs: { dense: "dense", float: "float", embedded: "embedded", textColumns: "textColumns", defaultLanguageTags: "defaultLanguageTags" }, providers: buildFormIntegrationProviders(ElderLocalizedInputTableComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-col full\">\n <elder-table\n matSort\n class=\"flex\"\n [data]=\"data\"\n [selectionVisible]=\"true\"\n [selectionMultiEnabled]=\"true\"\n [dense]=\"dense\"\n >\n <elder-data-toolbar\n *elderTableToolbar\n [canAdd]=\"!isLocked\"\n [canRemove]=\"!isLocked\"\n [canMore]=\"false\"\n (requestNew)=\"onNewRequested()\"\n (requestRemove)=\"onRemoveRequested($event)\"\n >\n <ng-template elderToolbarContent=\"left.actions\">\n <div class=\"layout-col place-start-center\">\n <h4 elderCardSubtitle style=\"margin: 0\">{{ label ?? placeholder }}</h4>\n </div>\n </ng-template>\n </elder-data-toolbar>\n\n <ng-container matColumnDef=\"locale\">\n <th mat-header-cell *matHeaderCellDef style=\"width: 100px\" mat-sort-header>Locale</th>\n <td mat-cell *matCellDef=\"let localized\">\n <mat-chip-set\n ><mat-chip highlighted>{{ localized.locale }}</mat-chip></mat-chip-set\n >\n </td>\n </ng-container>\n\n <ng-container\n *ngFor=\"let textColumn of textColumns$ | async\"\n matColumnDef=\"{{ textColumn.name }}\"\n >\n <th mat-header-cell *matHeaderCellDef>{{ textColumn.title | translate }}</th>\n <td mat-cell *matCellDef=\"let localized\">\n <div class=\"layout-row place-center-center\">\n <mat-form-field class=\"full-width\" appearance=\"fill\" elderDense>\n <!--\n <mat-label>{{textColumn.title | translate}} ({{localized.locale}})</mat-label>\n -->\n <!--\n <span matTextPrefix>{{textColumn.title | translate}}</span>\n -->\n <input\n matInput\n type=\"text\"\n name=\"i18n-{{ localized.locale }}-{{ textColumn.name }}\"\n [ngModel]=\"localized[textColumn.name]\"\n [ngModelOptions]=\"{ updateOn: 'blur' }\"\n (ngModelChange)=\"onColumnTextUpdated(localized, textColumn, $event)\"\n [required]=\"required && textColumn.required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n />\n </mat-form-field>\n </div>\n </td>\n </ng-container>\n </elder-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ElderTableComponent, selector: "elder-table", inputs: ["pageSizeOptions", "idField", "removingField", "hiddenField", "keepSelection", "showFooter", "denseHorizontal", "toolbarTemplate", "data", "displayedColumns", "selectionVisible"] }, { kind: "directive", type: MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "directive", type: ElderTableToolbarDirective, selector: "[elderTableToolbar]" }, { kind: "component", type: ElderDataToolbarComponent, selector: "elder-data-toolbar", inputs: ["canAdd", "canRemove", "canMore", "confirmRemoval", "keepSelectionAfterRemoval", "selectionModel"], outputs: ["requestNew", "requestRemove"] }, { kind: "directive", type: ElderToolbarContentDirective, selector: "[elderToolbarContent]", inputs: ["elderToolbarContent"] }, { kind: "directive", type: ElderCardSubtitleDirective, selector: "elder-card-subtitle, [elder-card-subtitle], [elderCardSubtitle]" }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: ElderLocalizedInputTableComponent, isStandalone: true, selector: "elder-localized-input-table", inputs: { dense: "dense", float: "float", embedded: "embedded", textColumns: "textColumns", defaultLanguageTags: "defaultLanguageTags" }, providers: buildFormIntegrationProviders(ElderLocalizedInputTableComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-col full\">\n <elder-table\n matSort\n class=\"flex\"\n [data]=\"data\"\n [selectionVisible]=\"true\"\n [selectionMultiEnabled]=\"true\"\n [dense]=\"dense\"\n >\n <elder-data-toolbar\n *elderTableToolbar\n [canAdd]=\"!isLocked\"\n [canRemove]=\"!isLocked\"\n [canMore]=\"false\"\n (requestNew)=\"onNewRequested()\"\n (requestRemove)=\"onRemoveRequested($event)\"\n >\n <ng-template elderToolbarContent=\"left.actions\">\n <div class=\"layout-col place-start-center\">\n <h4 elderCardSubtitle style=\"margin: 0\">{{ label ?? placeholder }}</h4>\n </div>\n </ng-template>\n </elder-data-toolbar>\n\n <ng-container matColumnDef=\"locale\">\n <th mat-header-cell *matHeaderCellDef style=\"width: 100px\" mat-sort-header>Locale</th>\n <td mat-cell *matCellDef=\"let localized\">\n <mat-chip-set\n ><mat-chip highlighted>{{ localized.locale }}</mat-chip></mat-chip-set\n >\n </td>\n </ng-container>\n\n <ng-container\n *ngFor=\"let textColumn of textColumns$ | async\"\n matColumnDef=\"{{ textColumn.name }}\"\n >\n <th mat-header-cell *matHeaderCellDef>{{ textColumn.title | translate }}</th>\n <td mat-cell *matCellDef=\"let localized\">\n <div class=\"layout-row place-center-center\">\n <mat-form-field class=\"full-width\" appearance=\"fill\" elderDense>\n <!--\n <mat-label>{{textColumn.title | translate}} ({{localized.locale}})</mat-label>\n -->\n <!--\n <span matTextPrefix>{{textColumn.title | translate}}</span>\n -->\n <input\n matInput\n type=\"text\"\n name=\"i18n-{{ localized.locale }}-{{ textColumn.name }}\"\n [ngModel]=\"localized[textColumn.name]\"\n [ngModelOptions]=\"{ updateOn: 'blur' }\"\n (ngModelChange)=\"onColumnTextUpdated(localized, textColumn, $event)\"\n [required]=\"required && textColumn.required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n />\n </mat-form-field>\n </div>\n </td>\n </ng-container>\n </elder-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ElderTableComponent, selector: "elder-table", inputs: ["pageSizeOptions", "id", "idField", "removingField", "hiddenField", "keepSelection", "showFooter", "denseHorizontal", "toolbarTemplate", "data", "displayedColumns", "selectionVisible"], exportAs: ["elderTable"] }, { kind: "directive", type: MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "directive", type: ElderTableToolbarDirective, selector: "[elderTableToolbar]" }, { kind: "component", type: ElderDataToolbarComponent, selector: "elder-data-toolbar", inputs: ["canAdd", "canRemove", "canMore", "confirmRemoval", "keepSelectionAfterRemoval", "selectionModel"], outputs: ["requestNew", "requestRemove"] }, { kind: "directive", type: ElderToolbarContentDirective, selector: "[elderToolbarContent]", inputs: ["elderToolbarContent"] }, { kind: "directive", type: ElderCardSubtitleDirective, selector: "elder-card-subtitle, [elder-card-subtitle], [elderCardSubtitle]" }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31314
32101
|
}
|
|
31315
32102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ElderLocalizedInputTableComponent, decorators: [{
|
|
31316
32103
|
type: Component,
|
|
@@ -37266,5 +38053,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
37266
38053
|
* Generated bundle index. Do not edit.
|
|
37267
38054
|
*/
|
|
37268
38055
|
|
|
37269
|
-
export { ActivationEventSource, ActivationModel, Arrays, AuditedEntity, AutoStartSpec, Batcher, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, CompositeSort, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, CustomMatcherSpec, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceEntityPatch, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewActivationController, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeChipAvatarDirective, ElderBadgeChipDirective, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, 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, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, 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, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridActivationDirective, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderIntervalPickerBindingDirective, ElderIntervalPickerComponent, ElderIntervalPickerToggleComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultiTranslateHttpLoader, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPageExitLockIndicatorComponent, ElderPaneActionsComponent, ElderPaneComponent, ElderPaneContentComponent, ElderPaneHeaderComponent, ElderPaneSubtitleComponent, ElderPaneTitleComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, 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, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSinglePaneWrapperComponent, ElderSingleSortComponent, ElderSingleStateCheckboxDirective, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSuggestionPanelComponent, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSelectionCellComponent, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTileComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, 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, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalDataFilter, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageExitGuardModule, PageExitGuardService, PageExitLock, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, RoutedTabActivationFailed, SearchInputState, SearchQuery, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, SimpleSearchInput, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, 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, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, booleanTransformFn, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
|
|
38056
|
+
export { ActivationEventSource, ActivationModel, Arrays, AuditedEntity, AutoStartSpec, Batcher, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, CompositeSort, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, CustomMatcherSpec, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceEntityPatch, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewActivationController, DataViewDndControllerService, DataViewDndGroupControllerService, DataViewDndModelUtil, DataViewDragEnteredEvent, DataViewDragExitedEvent, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewItemDropEvent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeChipAvatarDirective, ElderBadgeChipDirective, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, 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, 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, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridActivationDirective, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderIntervalPickerBindingDirective, ElderIntervalPickerComponent, ElderIntervalPickerToggleComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalDndSupportDirective, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultiTranslateHttpLoader, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPageExitLockIndicatorComponent, ElderPaneActionsComponent, ElderPaneComponent, ElderPaneContentComponent, ElderPaneHeaderComponent, ElderPaneSubtitleComponent, ElderPaneTitleComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, 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, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSinglePaneWrapperComponent, ElderSingleSortComponent, ElderSingleStateCheckboxDirective, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSuggestionPanelComponent, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableDropListConnectorDirective, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSelectionCellComponent, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTileComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, 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, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalDataFilter, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageExitGuardModule, PageExitGuardService, PageExitLock, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, RoutedTabActivationFailed, SearchInputState, SearchQuery, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, SimpleSearchInput, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, 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, ValueWrapper, ViewDropModelUpdateInstruction, ViewProviders, WeightPipe, alphaNumStringComparator, booleanTransformFn, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isLocalListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
|
|
37270
38057
|
//# sourceMappingURL=elderbyte-ngx-starter.mjs.map
|