@elderbyte/ngx-starter 19.8.0 → 19.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/elderbyte-ngx-starter.mjs +195 -104
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +12 -17
- package/lib/components/data-view/grid/elder-grid/layout/grid-row-layout-builder.d.ts +24 -0
- package/lib/components/data-view/grid/elder-grid/layout/grid-row.d.ts +5 -0
- package/lib/components/data-view/table/elder-table-sort.directive.d.ts +2 -1
- package/lib/components/layout/public_api.d.ts +1 -0
- package/lib/components/layout/responsive/observer/resize-observer.directive.d.ts +41 -0
- package/lib/components/layout/responsive/public_api.d.ts +1 -0
- package/lib/components/overlays/elder-overlay.component.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +2 -29
|
@@ -64,8 +64,6 @@ import * as i2$4 from '@angular/material/sort';
|
|
|
64
64
|
import { MatSortModule, MatSort, MatSortHeader } from '@angular/material/sort';
|
|
65
65
|
import { __decorate, __param } from 'tslib';
|
|
66
66
|
import { CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, ScrollingModule } from '@angular/cdk/scrolling';
|
|
67
|
-
import * as i3 from '@angular/cdk/layout';
|
|
68
|
-
import { Breakpoints } from '@angular/cdk/layout';
|
|
69
67
|
import { Subject as Subject$1 } from 'rxjs/internal/Subject';
|
|
70
68
|
import { MatProgressSpinnerModule, MatProgressSpinner } from '@angular/material/progress-spinner';
|
|
71
69
|
import { trigger, state, transition, style, animate } from '@angular/animations';
|
|
@@ -83,7 +81,7 @@ import { MatTab } from '@angular/material/tabs';
|
|
|
83
81
|
import { fetchEventSource, EventStreamContentType } from '@microsoft/fetch-event-source';
|
|
84
82
|
|
|
85
83
|
class BytesFormat {
|
|
86
|
-
static { this.units = ['bytes', '
|
|
84
|
+
static { this.units = ['bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB']; }
|
|
87
85
|
static format(bytes, precision = 2) {
|
|
88
86
|
if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) {
|
|
89
87
|
return '?';
|
|
@@ -886,6 +884,9 @@ class DurationFormat {
|
|
|
886
884
|
else if (milliseconds <= 999) {
|
|
887
885
|
return this.formatNumber(milliseconds, 0) + ' ms';
|
|
888
886
|
}
|
|
887
|
+
else {
|
|
888
|
+
return undefined; // TODO: Maybe add way to format 1000+ milliseconds also
|
|
889
|
+
}
|
|
889
890
|
}
|
|
890
891
|
formatNumber(value, precision) {
|
|
891
892
|
return +value.toFixed(precision);
|
|
@@ -1841,13 +1842,11 @@ class Objects {
|
|
|
1841
1842
|
return src;
|
|
1842
1843
|
}
|
|
1843
1844
|
try {
|
|
1844
|
-
|
|
1845
|
-
return JSON.parse(json);
|
|
1845
|
+
return JSON.parse(JSON.stringify(src));
|
|
1846
1846
|
}
|
|
1847
1847
|
catch (err) {
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
}
|
|
1848
|
+
const errorMessage = err instanceof Error ? err.message : 'unknown error';
|
|
1849
|
+
throw new Error(`Failed to clone object: ${errorMessage}`);
|
|
1851
1850
|
}
|
|
1852
1851
|
}
|
|
1853
1852
|
/**
|
|
@@ -2073,7 +2072,7 @@ function coerceInterval(value) {
|
|
|
2073
2072
|
return Interval.parse(value);
|
|
2074
2073
|
}
|
|
2075
2074
|
else {
|
|
2076
|
-
|
|
2075
|
+
LoggerFactory.getLogger('static: coerceInterval').warn(`Unsupported value that cant be converted to Interval: "${value}"`);
|
|
2077
2076
|
}
|
|
2078
2077
|
}
|
|
2079
2078
|
return undefined;
|
|
@@ -2087,7 +2086,7 @@ function coerceIntervalIsoStr(value) {
|
|
|
2087
2086
|
return coerceInterval(value)?.toInstantString();
|
|
2088
2087
|
}
|
|
2089
2088
|
else {
|
|
2090
|
-
|
|
2089
|
+
LoggerFactory.getLogger('static: coerceIntervalIsoStr').warn(`Unsupported value that cant be converted to Iso Interval Str: "${value}"`);
|
|
2091
2090
|
}
|
|
2092
2091
|
}
|
|
2093
2092
|
return undefined;
|
|
@@ -3562,7 +3561,7 @@ class IndexedEntities {
|
|
|
3562
3561
|
updated.forEach((update) => {
|
|
3563
3562
|
const id = this.getItemId(update);
|
|
3564
3563
|
const index = this.indexById(id);
|
|
3565
|
-
if (index
|
|
3564
|
+
if (index !== -1) {
|
|
3566
3565
|
newData[index] = update;
|
|
3567
3566
|
anyUpdated = true;
|
|
3568
3567
|
}
|
|
@@ -3613,9 +3612,10 @@ class IndexedEntities {
|
|
|
3613
3612
|
getById(id) {
|
|
3614
3613
|
const entities = this.entitiesSnapshot;
|
|
3615
3614
|
const index = this.indexById(id);
|
|
3616
|
-
if (index
|
|
3615
|
+
if (index !== -1) {
|
|
3617
3616
|
return entities[index];
|
|
3618
3617
|
}
|
|
3618
|
+
return undefined;
|
|
3619
3619
|
}
|
|
3620
3620
|
notify() {
|
|
3621
3621
|
this._entities$.next(this._entities$.getValue());
|
|
@@ -5921,6 +5921,7 @@ class DataSourceAdapter {
|
|
|
5921
5921
|
.findAllContinuable(TokenChunkRequest.first(filters, sorts, limit))
|
|
5922
5922
|
.pipe(map((page) => page.content));
|
|
5923
5923
|
}
|
|
5924
|
+
throw new Error('Unsupported data source type');
|
|
5924
5925
|
}
|
|
5925
5926
|
}
|
|
5926
5927
|
|
|
@@ -8381,6 +8382,7 @@ class DataTransferBase {
|
|
|
8381
8382
|
if (state.hasFailed) {
|
|
8382
8383
|
throw state.error ? state.error : 'Completion Failed due unknown error!';
|
|
8383
8384
|
}
|
|
8385
|
+
return false; // Default return for unexpected state
|
|
8384
8386
|
}), first());
|
|
8385
8387
|
}
|
|
8386
8388
|
/**
|
|
@@ -9518,7 +9520,7 @@ class ElderThemeService {
|
|
|
9518
9520
|
activateTheme(themeId) {
|
|
9519
9521
|
const theme = this.findTheme(themeId);
|
|
9520
9522
|
if (theme) {
|
|
9521
|
-
this.logger.
|
|
9523
|
+
this.logger.debug('Activating theme ' + themeId);
|
|
9522
9524
|
this._activeTheme$.next(theme);
|
|
9523
9525
|
}
|
|
9524
9526
|
else {
|
|
@@ -9726,7 +9728,7 @@ class ElderThemeToggleComponent {
|
|
|
9726
9728
|
this.activeToggleTheme$ = combineLatest([
|
|
9727
9729
|
this.themeService.defaultTheme$,
|
|
9728
9730
|
this.themeService.activeTheme$,
|
|
9729
|
-
]).pipe(map(([defaultTheme, activeTheme]) => this.decideToggleTheme(defaultTheme, activeTheme)), tap((tt) => this.logger.
|
|
9731
|
+
]).pipe(map(([defaultTheme, activeTheme]) => this.decideToggleTheme(defaultTheme, activeTheme)), tap((tt) => this.logger.debug('Active toggle theme: ' + tt)));
|
|
9730
9732
|
}
|
|
9731
9733
|
/***************************************************************************
|
|
9732
9734
|
* *
|
|
@@ -10453,7 +10455,7 @@ class FileSystemApi {
|
|
|
10453
10455
|
* *
|
|
10454
10456
|
**************************************************************************/
|
|
10455
10457
|
static isGetAsFileSystemHandleSupported(transferItem) {
|
|
10456
|
-
// @ts-
|
|
10458
|
+
// @ts-expect-error - getAsFileSystemHandle is not yet in TypeScript's lib.dom.d.ts
|
|
10457
10459
|
return transferItem.getAsFileSystemHandle !== undefined;
|
|
10458
10460
|
}
|
|
10459
10461
|
/**
|
|
@@ -10461,7 +10463,7 @@ class FileSystemApi {
|
|
|
10461
10463
|
* or `drop` event. Otherwise, it will return null!
|
|
10462
10464
|
*/
|
|
10463
10465
|
static getAsFileSystemHandle(transferItem) {
|
|
10464
|
-
// @ts-
|
|
10466
|
+
// @ts-expect-error - getAsFileSystemHandle is not yet in TypeScript's lib.dom.d.ts
|
|
10465
10467
|
return from(transferItem.getAsFileSystemHandle());
|
|
10466
10468
|
}
|
|
10467
10469
|
/***************************************************************************
|
|
@@ -10473,14 +10475,16 @@ class FileSystemApi {
|
|
|
10473
10475
|
return 'showOpenFilePicker' in window;
|
|
10474
10476
|
}
|
|
10475
10477
|
static openFilePicker(pickerOpts) {
|
|
10478
|
+
if (!FileSystemApi.isFileSystemSupported()) {
|
|
10479
|
+
return throwError(() => new Error('File System API is not supported in this browser'));
|
|
10480
|
+
}
|
|
10476
10481
|
try {
|
|
10477
|
-
// @ts-
|
|
10482
|
+
// @ts-expect-error - showOpenFilePicker is not yet in TypeScript's lib.dom.d.ts
|
|
10478
10483
|
return from(window.showOpenFilePicker(pickerOpts));
|
|
10479
10484
|
}
|
|
10480
10485
|
catch (e) {
|
|
10481
|
-
|
|
10482
|
-
|
|
10483
|
-
}
|
|
10486
|
+
const errorMessage = e instanceof Error ? e.message : 'unknown error';
|
|
10487
|
+
return throwError(() => new Error(`Error occurred while opening file picker: ${errorMessage}`));
|
|
10484
10488
|
}
|
|
10485
10489
|
}
|
|
10486
10490
|
/***************************************************************************
|
|
@@ -10493,13 +10497,12 @@ class FileSystemApi {
|
|
|
10493
10497
|
}
|
|
10494
10498
|
static openDirectoryPicker(pickerOpts) {
|
|
10495
10499
|
try {
|
|
10496
|
-
// @ts-
|
|
10500
|
+
// @ts-expect-error - showDirectoryPicker is not yet in TypeScript's lib.dom.d.ts
|
|
10497
10501
|
return from(window.showDirectoryPicker(pickerOpts));
|
|
10498
10502
|
}
|
|
10499
10503
|
catch (e) {
|
|
10500
|
-
|
|
10501
|
-
|
|
10502
|
-
}
|
|
10504
|
+
const errorMessage = e instanceof Error ? e.message : 'unknown error';
|
|
10505
|
+
return throwError(() => new Error(`Error occurred while opening directory picker: ${errorMessage}`));
|
|
10503
10506
|
}
|
|
10504
10507
|
}
|
|
10505
10508
|
/***************************************************************************
|
|
@@ -10527,7 +10530,7 @@ class FileSystemApi {
|
|
|
10527
10530
|
}
|
|
10528
10531
|
static async getHandlesFromDirectoryAsync(dirHandle) {
|
|
10529
10532
|
const handles = [];
|
|
10530
|
-
// @ts-
|
|
10533
|
+
// @ts-expect-error - values() is not yet in TypeScript's lib.dom.d.ts
|
|
10531
10534
|
for await (const handle of dirHandle.values()) {
|
|
10532
10535
|
handles.push(handle);
|
|
10533
10536
|
}
|
|
@@ -18665,12 +18668,7 @@ class ElderTabFocusTrapDirective {
|
|
|
18665
18668
|
return Array.from(elements);
|
|
18666
18669
|
}
|
|
18667
18670
|
isFocusableByTab(element) {
|
|
18668
|
-
|
|
18669
|
-
if (element.tabIndex === -1) {
|
|
18670
|
-
return false;
|
|
18671
|
-
}
|
|
18672
|
-
return true;
|
|
18673
|
-
}
|
|
18671
|
+
return this.isFocusable(element) && element.tabIndex !== -1;
|
|
18674
18672
|
}
|
|
18675
18673
|
isFocusable(element) {
|
|
18676
18674
|
if (element) {
|
|
@@ -19277,7 +19275,7 @@ class ElderTableSortDirective {
|
|
|
19277
19275
|
this.logger.warn('[elderTableSort] directive is no longer required. Use matSort on ElderTableComponent directly.');
|
|
19278
19276
|
}
|
|
19279
19277
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ElderTableSortDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19280
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.7", type: ElderTableSortDirective, isStandalone: true, selector: "[elderTableSort]", ngImport: i0 }); }
|
|
19278
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.7", type: ElderTableSortDirective, isStandalone: true, selector: "[elderTableSort]", inputs: { elderTableSort: "elderTableSort" }, ngImport: i0 }); }
|
|
19281
19279
|
}
|
|
19282
19280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ElderTableSortDirective, decorators: [{
|
|
19283
19281
|
type: Directive,
|
|
@@ -19285,7 +19283,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
19285
19283
|
selector: '[elderTableSort]',
|
|
19286
19284
|
standalone: true,
|
|
19287
19285
|
}]
|
|
19288
|
-
}], ctorParameters: () => []
|
|
19286
|
+
}], ctorParameters: () => [], propDecorators: { elderTableSort: [{
|
|
19287
|
+
type: Input
|
|
19288
|
+
}] } });
|
|
19289
19289
|
|
|
19290
19290
|
/**
|
|
19291
19291
|
* This directive is meant to be placed on table cells containing numbers.
|
|
@@ -19908,6 +19908,7 @@ class ElderTileComponent {
|
|
|
19908
19908
|
if (currentSelection && currentSelection.length > 0) {
|
|
19909
19909
|
return true;
|
|
19910
19910
|
}
|
|
19911
|
+
return false;
|
|
19911
19912
|
}
|
|
19912
19913
|
bringToView() {
|
|
19913
19914
|
const element = this.elderTileRef().nativeElement;
|
|
@@ -19954,6 +19955,139 @@ class GridRow {
|
|
|
19954
19955
|
this.cells = cells;
|
|
19955
19956
|
}
|
|
19956
19957
|
}
|
|
19958
|
+
|
|
19959
|
+
class GridRowLayoutBuilder {
|
|
19960
|
+
/***************************************************************************
|
|
19961
|
+
* *
|
|
19962
|
+
* Constructor *
|
|
19963
|
+
* *
|
|
19964
|
+
**************************************************************************/
|
|
19965
|
+
constructor(dataView) {
|
|
19966
|
+
this.dataView = dataView;
|
|
19967
|
+
}
|
|
19968
|
+
/***************************************************************************
|
|
19969
|
+
* *
|
|
19970
|
+
* Public API *
|
|
19971
|
+
* *
|
|
19972
|
+
**************************************************************************/
|
|
19973
|
+
buildGridRows(items, columnCount) {
|
|
19974
|
+
const rows = [];
|
|
19975
|
+
const rowCount = items.length / columnCount;
|
|
19976
|
+
for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
|
|
19977
|
+
const rowStartIndex = rowIndex * columnCount;
|
|
19978
|
+
const rowCells = items.slice(rowStartIndex, rowStartIndex + columnCount);
|
|
19979
|
+
while (rowCells.length < columnCount) {
|
|
19980
|
+
rowCells.push(null); // Fill up remaining
|
|
19981
|
+
}
|
|
19982
|
+
rows.push(new GridRow(this.rowId(rowCells), rowCells));
|
|
19983
|
+
}
|
|
19984
|
+
return rows;
|
|
19985
|
+
}
|
|
19986
|
+
/***************************************************************************
|
|
19987
|
+
* *
|
|
19988
|
+
* Private methods *
|
|
19989
|
+
* *
|
|
19990
|
+
**************************************************************************/
|
|
19991
|
+
rowId(cells) {
|
|
19992
|
+
if (cells.length === 0) {
|
|
19993
|
+
return 'empty-row';
|
|
19994
|
+
}
|
|
19995
|
+
else if (cells.length === 1) {
|
|
19996
|
+
return this.getId(cells[0]);
|
|
19997
|
+
}
|
|
19998
|
+
else {
|
|
19999
|
+
return cells
|
|
20000
|
+
.map((cell) => {
|
|
20001
|
+
if (cell) {
|
|
20002
|
+
return this.getId(cell);
|
|
20003
|
+
}
|
|
20004
|
+
else {
|
|
20005
|
+
return '_';
|
|
20006
|
+
}
|
|
20007
|
+
})
|
|
20008
|
+
.join('-');
|
|
20009
|
+
}
|
|
20010
|
+
}
|
|
20011
|
+
getId(item) {
|
|
20012
|
+
return this.dataView.getId(item);
|
|
20013
|
+
}
|
|
20014
|
+
}
|
|
20015
|
+
|
|
20016
|
+
class ResizeObserverDirective {
|
|
20017
|
+
/***************************************************************************
|
|
20018
|
+
* *
|
|
20019
|
+
* Constructor *
|
|
20020
|
+
* *
|
|
20021
|
+
**************************************************************************/
|
|
20022
|
+
constructor(host, destroyRef) {
|
|
20023
|
+
this.host = host;
|
|
20024
|
+
this.destroyRef = destroyRef;
|
|
20025
|
+
this._currentDimension$ = new BehaviorSubject(undefined);
|
|
20026
|
+
this._currentDimensionChange = new Subject();
|
|
20027
|
+
this.observing = false;
|
|
20028
|
+
this.enabled = input(true, { transform: booleanTransformFn });
|
|
20029
|
+
this.dimensionChange = this._currentDimensionChange.asObservable();
|
|
20030
|
+
this.currentDimension$ = this._currentDimension$.pipe(filter((e) => !!e));
|
|
20031
|
+
this.resizeObserver = new ResizeObserver((entries) => {
|
|
20032
|
+
this.onElementResize(entries[0]);
|
|
20033
|
+
});
|
|
20034
|
+
destroyRef.onDestroy(() => {
|
|
20035
|
+
this.unobserve();
|
|
20036
|
+
});
|
|
20037
|
+
this.currentDimension = toSignal(this._currentDimension$);
|
|
20038
|
+
effect(() => {
|
|
20039
|
+
if (this.enabled()) {
|
|
20040
|
+
this.observe();
|
|
20041
|
+
}
|
|
20042
|
+
else {
|
|
20043
|
+
this.unobserve();
|
|
20044
|
+
}
|
|
20045
|
+
});
|
|
20046
|
+
}
|
|
20047
|
+
/***************************************************************************
|
|
20048
|
+
* *
|
|
20049
|
+
* Private methods *
|
|
20050
|
+
* *
|
|
20051
|
+
**************************************************************************/
|
|
20052
|
+
observe() {
|
|
20053
|
+
if (!this.observing) {
|
|
20054
|
+
this.resizeObserver.observe(this.host.nativeElement, {
|
|
20055
|
+
box: 'content-box',
|
|
20056
|
+
});
|
|
20057
|
+
this.observing = true;
|
|
20058
|
+
}
|
|
20059
|
+
}
|
|
20060
|
+
unobserve() {
|
|
20061
|
+
if (this.observing) {
|
|
20062
|
+
this.resizeObserver.unobserve(this.host.nativeElement);
|
|
20063
|
+
}
|
|
20064
|
+
}
|
|
20065
|
+
onElementResize(entry) {
|
|
20066
|
+
const dimensions = this.toElementDimension(entry);
|
|
20067
|
+
this._currentDimension$.next(dimensions);
|
|
20068
|
+
this._currentDimensionChange.next(dimensions);
|
|
20069
|
+
}
|
|
20070
|
+
toElementDimension(entry) {
|
|
20071
|
+
return {
|
|
20072
|
+
width: entry.contentRect.width,
|
|
20073
|
+
height: entry.contentRect.height,
|
|
20074
|
+
};
|
|
20075
|
+
}
|
|
20076
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ResizeObserverDirective, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20077
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.7", type: ResizeObserverDirective, isStandalone: true, selector: "[elderResizeObserver]", inputs: { enabled: { classPropertyName: "enabled", publicName: "enabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dimensionChange: "dimensionChange", currentDimension$: "elderResizeObserver" }, ngImport: i0 }); }
|
|
20078
|
+
}
|
|
20079
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ResizeObserverDirective, decorators: [{
|
|
20080
|
+
type: Directive,
|
|
20081
|
+
args: [{
|
|
20082
|
+
selector: '[elderResizeObserver]',
|
|
20083
|
+
}]
|
|
20084
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.DestroyRef }], propDecorators: { dimensionChange: [{
|
|
20085
|
+
type: Output
|
|
20086
|
+
}], currentDimension$: [{
|
|
20087
|
+
type: Output,
|
|
20088
|
+
args: ['elderResizeObserver']
|
|
20089
|
+
}] } });
|
|
20090
|
+
|
|
19957
20091
|
class ElderGridTileDirective {
|
|
19958
20092
|
constructor(templateRef, viewContainer) {
|
|
19959
20093
|
this.templateRef = templateRef;
|
|
@@ -19996,9 +20130,8 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
19996
20130
|
* Constructor *
|
|
19997
20131
|
* *
|
|
19998
20132
|
**************************************************************************/
|
|
19999
|
-
constructor(selectionModel, dataViewOptionsProvider
|
|
20133
|
+
constructor(selectionModel, dataViewOptionsProvider) {
|
|
20000
20134
|
super(selectionModel, dataViewOptionsProvider);
|
|
20001
|
-
this.breakpointObserver = breakpointObserver;
|
|
20002
20135
|
/***************************************************************************
|
|
20003
20136
|
* *
|
|
20004
20137
|
* Fields *
|
|
@@ -20006,13 +20139,6 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
20006
20139
|
**************************************************************************/
|
|
20007
20140
|
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
20008
20141
|
this._staticColumnCount$ = new BehaviorSubject(4);
|
|
20009
|
-
this.sizeToColumns = new Map([
|
|
20010
|
-
[Breakpoints.XSmall, 1],
|
|
20011
|
-
[Breakpoints.Small, 2],
|
|
20012
|
-
[Breakpoints.Medium, 3],
|
|
20013
|
-
[Breakpoints.Large, 4],
|
|
20014
|
-
[Breakpoints.XLarge, 5],
|
|
20015
|
-
]);
|
|
20016
20142
|
/**
|
|
20017
20143
|
* Load next chunk after current is done
|
|
20018
20144
|
*/
|
|
@@ -20021,7 +20147,10 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
20021
20147
|
this.TrackGridRowByIdFn = (index, row) => row.id;
|
|
20022
20148
|
this.toolbarVisible = input(true, { transform: booleanTransformFn });
|
|
20023
20149
|
this.footerVisible = input(true, { transform: booleanTransformFn });
|
|
20150
|
+
this.containerDimensions$ = new BehaviorSubject(null);
|
|
20024
20151
|
this.itemHeight = input(250);
|
|
20152
|
+
this.itemWidth = input(300);
|
|
20153
|
+
this.itemWidth$ = toObservable(this.itemWidth);
|
|
20025
20154
|
this.tileOutlined = input(false, { transform: booleanTransformFn });
|
|
20026
20155
|
this.responsiveColumnCount = input(true, { transform: booleanTransformFn });
|
|
20027
20156
|
this.tiles = viewChildren(ElderTileComponent);
|
|
@@ -20030,9 +20159,7 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
20030
20159
|
this.hiddenField = null;
|
|
20031
20160
|
this.selectionVisible = true;
|
|
20032
20161
|
this.pageSizeOptions = input([30, 50, 100, 150, 250]);
|
|
20033
|
-
this.
|
|
20034
|
-
return 'cols-' + this.activeColumnCount();
|
|
20035
|
-
});
|
|
20162
|
+
this.rowLayoutBuilder = new GridRowLayoutBuilder(this);
|
|
20036
20163
|
const responsiveColumn$ = this.responsiveColumn().pipe(share());
|
|
20037
20164
|
this.activeColumnCount$ = toObservable(this.responsiveColumnCount).pipe(switchMap$1((responsive) => {
|
|
20038
20165
|
if (responsive) {
|
|
@@ -20053,8 +20180,10 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
20053
20180
|
super.ngOnInit();
|
|
20054
20181
|
this.dataRows$ = combineLatest([
|
|
20055
20182
|
this.dataContext$.pipe(filter((dc) => !!dc), switchMap$1((dc) => dc.data)),
|
|
20056
|
-
this.activeColumnCount
|
|
20057
|
-
]).pipe(
|
|
20183
|
+
this.activeColumnCount$.pipe(distinctUntilChanged()),
|
|
20184
|
+
]).pipe(
|
|
20185
|
+
// debounceTime(50),
|
|
20186
|
+
map(([data, activeColumnCount]) => this.rowLayoutBuilder.buildGridRows(data, activeColumnCount)));
|
|
20058
20187
|
}
|
|
20059
20188
|
ngAfterViewInit() {
|
|
20060
20189
|
MatTableDataContextBindingBuilder.start(this.dataContext$)
|
|
@@ -20121,6 +20250,9 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
20121
20250
|
const tile = this.getTileForItem(item);
|
|
20122
20251
|
return tile?.hasFocus;
|
|
20123
20252
|
}
|
|
20253
|
+
trackCellId(index, item) {
|
|
20254
|
+
return item ? this.getId(item) : 'null-' + index;
|
|
20255
|
+
}
|
|
20124
20256
|
/***************************************************************************
|
|
20125
20257
|
* *
|
|
20126
20258
|
* Private Methods *
|
|
@@ -20129,64 +20261,23 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
20129
20261
|
scrollTop() {
|
|
20130
20262
|
this.virtualScrollViewPort.scrollToIndex(0, 'smooth');
|
|
20131
20263
|
}
|
|
20132
|
-
buildGridRow(nodes, columnCount) {
|
|
20133
|
-
const rows = [];
|
|
20134
|
-
const rowCount = nodes.length / columnCount;
|
|
20135
|
-
for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
|
|
20136
|
-
const rowStartIndex = rowIndex * columnCount;
|
|
20137
|
-
const rowCells = nodes.slice(rowStartIndex, rowStartIndex + columnCount);
|
|
20138
|
-
while (rowCells.length < columnCount) {
|
|
20139
|
-
rowCells.push(null); // Fill up remaining
|
|
20140
|
-
}
|
|
20141
|
-
rows.push(new GridRow(this.rowId(rowCells), rowCells));
|
|
20142
|
-
}
|
|
20143
|
-
return rows;
|
|
20144
|
-
}
|
|
20145
|
-
rowId(cells) {
|
|
20146
|
-
return cells
|
|
20147
|
-
.map((cell) => {
|
|
20148
|
-
if (cell) {
|
|
20149
|
-
return this.getId(cell);
|
|
20150
|
-
}
|
|
20151
|
-
else {
|
|
20152
|
-
return '_';
|
|
20153
|
-
}
|
|
20154
|
-
})
|
|
20155
|
-
.join('-');
|
|
20156
|
-
}
|
|
20157
20264
|
responsiveColumn() {
|
|
20158
|
-
|
|
20159
|
-
return this.breakpointObserver.observe(breakpoints).pipe(takeUntil(this.destroy$), map((result) => {
|
|
20160
|
-
let activeSize = Breakpoints.Medium;
|
|
20161
|
-
for (const query of Object.keys(result.breakpoints)) {
|
|
20162
|
-
if (result.breakpoints[query]) {
|
|
20163
|
-
activeSize = query;
|
|
20164
|
-
break;
|
|
20165
|
-
}
|
|
20166
|
-
}
|
|
20167
|
-
return this.sizeToColumns.get(activeSize);
|
|
20168
|
-
}), debounceTime(100), startWith(this.initialColumnCount()));
|
|
20265
|
+
return this.containerDimensions$.pipe(filter((d) => !!d), combineLatestWith(this.itemWidth$.pipe(debounceTime(10))), map(([dimensions, itemWidth]) => this.calcColumnCount(dimensions, itemWidth)));
|
|
20169
20266
|
}
|
|
20170
|
-
|
|
20171
|
-
|
|
20172
|
-
this.sizeToColumns.forEach((cols, mqAlias) => {
|
|
20173
|
-
if (this.breakpointObserver.isMatched(mqAlias)) {
|
|
20174
|
-
columnCount = cols;
|
|
20175
|
-
}
|
|
20176
|
-
});
|
|
20177
|
-
return columnCount;
|
|
20267
|
+
calcColumnCount(containerDimensions, itemWidth) {
|
|
20268
|
+
return Math.floor(containerDimensions.width / itemWidth);
|
|
20178
20269
|
}
|
|
20179
20270
|
getTileForItem(item) {
|
|
20180
20271
|
const tiles = untracked(this.tiles);
|
|
20181
20272
|
return tiles.find((tile) => this.getId(untracked(tile.value)) === this.getId(item));
|
|
20182
20273
|
}
|
|
20183
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ElderGridComponent, deps: [{ token: SelectionModel, optional: true }, { token: ElderDataViewOptionsProvider, optional: true, skipSelf: true }
|
|
20184
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: ElderGridComponent, isStandalone: true, selector: "elder-grid", inputs: { toolbarVisible: { classPropertyName: "toolbarVisible", publicName: "toolbarVisible", isSignal: true, isRequired: false, transformFunction: null }, footerVisible: { classPropertyName: "footerVisible", publicName: "footerVisible", isSignal: true, isRequired: false, transformFunction: null }, itemHeight: { classPropertyName: "itemHeight", publicName: "itemHeight", isSignal: true, isRequired: false, transformFunction: null }, tileOutlined: { classPropertyName: "tileOutlined", publicName: "tileOutlined", isSignal: true, isRequired: false, transformFunction: null }, responsiveColumnCount: { classPropertyName: "responsiveColumnCount", publicName: "responsiveColumnCount", isSignal: true, isRequired: false, transformFunction: null }, availableSorts: { classPropertyName: "availableSorts", publicName: "availableSorts", isSignal: false, isRequired: false, transformFunction: null }, sortTranslationPrefix: { classPropertyName: "sortTranslationPrefix", publicName: "sortTranslationPrefix", isSignal: false, isRequired: false, transformFunction: null }, hiddenField: { classPropertyName: "hiddenField", publicName: "hiddenField", isSignal: false, isRequired: false, transformFunction: null }, selectionVisible: { classPropertyName: "selectionVisible", publicName: "selectionVisible", isSignal: false, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, tileTemplate: { classPropertyName: "tileTemplate", publicName: "tileTemplate", isSignal: false, 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 }, columnCount: { classPropertyName: "columnCount", publicName: "columnCount", isSignal: false, isRequired: false, transformFunction: null } }, providers: [
|
|
20274
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ElderGridComponent, deps: [{ token: SelectionModel, optional: true }, { token: ElderDataViewOptionsProvider, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20275
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: ElderGridComponent, isStandalone: true, selector: "elder-grid", inputs: { toolbarVisible: { classPropertyName: "toolbarVisible", publicName: "toolbarVisible", isSignal: true, isRequired: false, transformFunction: null }, footerVisible: { classPropertyName: "footerVisible", publicName: "footerVisible", isSignal: true, isRequired: false, transformFunction: null }, itemHeight: { classPropertyName: "itemHeight", publicName: "itemHeight", isSignal: true, isRequired: false, transformFunction: null }, itemWidth: { classPropertyName: "itemWidth", publicName: "itemWidth", isSignal: true, isRequired: false, transformFunction: null }, tileOutlined: { classPropertyName: "tileOutlined", publicName: "tileOutlined", isSignal: true, isRequired: false, transformFunction: null }, responsiveColumnCount: { classPropertyName: "responsiveColumnCount", publicName: "responsiveColumnCount", isSignal: true, isRequired: false, transformFunction: null }, availableSorts: { classPropertyName: "availableSorts", publicName: "availableSorts", isSignal: false, isRequired: false, transformFunction: null }, sortTranslationPrefix: { classPropertyName: "sortTranslationPrefix", publicName: "sortTranslationPrefix", isSignal: false, isRequired: false, transformFunction: null }, hiddenField: { classPropertyName: "hiddenField", publicName: "hiddenField", isSignal: false, isRequired: false, transformFunction: null }, selectionVisible: { classPropertyName: "selectionVisible", publicName: "selectionVisible", isSignal: false, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, tileTemplate: { classPropertyName: "tileTemplate", publicName: "tileTemplate", isSignal: false, 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 }, columnCount: { classPropertyName: "columnCount", publicName: "columnCount", isSignal: false, isRequired: false, transformFunction: null } }, providers: [
|
|
20185
20276
|
{
|
|
20186
20277
|
provide: ELDER_DATA_VIEW,
|
|
20187
20278
|
useExisting: forwardRef(() => ElderGridComponent),
|
|
20188
20279
|
},
|
|
20189
|
-
], queries: [{ propertyName: "tileTemplateQuery", first: true, predicate: ElderGridTileDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "toolbarTemplateQuery", first: true, predicate: ElderGridToolbarDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "tiles", predicate: ElderTileComponent, descendants: true, isSignal: true }, { propertyName: "virtualScrollViewPort", first: true, predicate: ["virtualScrollViewPort"], descendants: true, static: true }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "elderContinuator", first: true, predicate: ElderContinuatorComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\n<!-- eslint-disable @angular-eslint/template/click-events-have-key-events -->\n<div class=\"full elder-grid-component\">\n @if (dc(); as dc) {\n <!-- Grid Browser -->\n <div\n class=\"layout-col full elder-grid-container\"\n [elderDataContextSelection]=\"dc\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- Toolbar Row -->\n @if (toolbarVisible()) {\n <div class=\"layout-row place-start-center flex-none elder-grid-toolbar\">\n @if (selectionVisible) {\n <div class=\"layout-col flex-none px-sm\">\n <elder-selection-master-checkbox class=\"flex-none\"></elder-selection-master-checkbox>\n </div>\n }\n\n <!-- Toolbar -->\n @if (toolbarTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n @if (availableCompositeSorts && availableCompositeSorts.length > 0) {\n <elder-composite-sort\n class=\"flex-none\"\n [availableSorts]=\"availableCompositeSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [elderCompositeSortDc]=\"dc\"\n >\n </elder-composite-sort>\n }\n </div>\n\n <mat-divider></mat-divider>\n }\n\n <elder-data-context-state-indicator class=\"flex-none\" [dataContext]=\"dc\">\n </elder-data-context-state-indicator>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"layout-col flex elder-grid-browser\"\n id=\"{{ scrollContainerId }}\"\n [itemSize]=\"itemHeight()\"\n [minBufferPx]=\"itemHeight() * 2\"\n [maxBufferPx]=\"itemHeight() * 3\"\n #virtualScrollViewPort\n elderInfiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"dcStatus()?.loading\"\n [containerId]=\"scrollContainerId\"\n [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"\n let gridRow of dataRows$;\n trackBy: TrackGridRowByIdFn;\n templateCacheSize: 50\n \"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight() + 'px'\"\n [
|
|
20280
|
+
], queries: [{ propertyName: "tileTemplateQuery", first: true, predicate: ElderGridTileDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "toolbarTemplateQuery", first: true, predicate: ElderGridToolbarDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "tiles", predicate: ElderTileComponent, descendants: true, isSignal: true }, { propertyName: "virtualScrollViewPort", first: true, predicate: ["virtualScrollViewPort"], descendants: true, static: true }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "elderContinuator", first: true, predicate: ElderContinuatorComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\n<!-- eslint-disable @angular-eslint/template/click-events-have-key-events -->\n<div class=\"full elder-grid-component\">\n @if (dc(); as dc) {\n <!-- Grid Browser -->\n <div\n class=\"layout-col full elder-grid-container\"\n [elderDataContextSelection]=\"dc\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- Toolbar Row -->\n @if (toolbarVisible()) {\n <div class=\"layout-row place-start-center flex-none elder-grid-toolbar\">\n @if (selectionVisible) {\n <div class=\"layout-col flex-none px-sm\">\n <elder-selection-master-checkbox class=\"flex-none\"></elder-selection-master-checkbox>\n </div>\n }\n\n <!-- Toolbar -->\n @if (toolbarTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n @if (availableCompositeSorts && availableCompositeSorts.length > 0) {\n <elder-composite-sort\n class=\"flex-none\"\n [availableSorts]=\"availableCompositeSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [elderCompositeSortDc]=\"dc\"\n >\n </elder-composite-sort>\n }\n </div>\n\n <mat-divider></mat-divider>\n }\n\n <elder-data-context-state-indicator class=\"flex-none\" [dataContext]=\"dc\">\n </elder-data-context-state-indicator>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"layout-col flex elder-grid-browser\"\n id=\"{{ scrollContainerId }}\"\n [itemSize]=\"itemHeight()\"\n [minBufferPx]=\"itemHeight() * 2\"\n [maxBufferPx]=\"itemHeight() * 3\"\n #virtualScrollViewPort\n elderInfiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"dcStatus()?.loading\"\n [containerId]=\"scrollContainerId\"\n [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n (elderResizeObserver)=\"containerDimensions$.next($event)\"\n >\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"\n let gridRow of dataRows$;\n trackBy: TrackGridRowByIdFn;\n templateCacheSize: 50\n \"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight() + 'px'\"\n [style.--elder-grid-column-count]=\"activeColumnCount()\"\n >\n @for (tile of gridRow.cells; track trackCellId($index, tile)) {\n <!-- Tile Cell -->\n @if (isTileVisible(tile)) {\n <elder-tile\n class=\"elder-grid-tile\"\n [value]=\"tile\"\n [selectionEnabled]=\"selectionVisible\"\n [selectionModel]=\"selectionModel\"\n [outlined]=\"tileOutlined()\"\n (click)=\"onItemClick(tile)\"\n (dblclick)=\"onItemDoubleClick(tile)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tileTemplate || simpleTileTemplate;\n context: { $implicit: tile }\n \"\n ></ng-container>\n </elder-tile>\n } @else {\n <div class=\"elder-grid-tile-hidden\"></div>\n }\n }\n </div>\n </cdk-virtual-scroll-viewport>\n\n <mat-progress-bar\n class=\"flex-none\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <!-- Footer -->\n @if (footerVisible()) {\n <div class=\"layout-row place-end-center gap-md flex-none elder-grid-footer\">\n <!-- Continuable -->\n @if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"dataSnapshot.loadMore()\"\n ></elder-continuator>\n } @else if (isActivePaged) {\n @if (currentPage(); as page) {\n <mat-paginator\n class=\"flex-none\"\n [length]=\"total()\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n >\n </mat-paginator>\n }\n } @else {\n <span class=\"mat-caption noselect pr-md\" style=\"color: var(--md-sys-color-outline)\">\n {{ viewData()?.length }}\n </span>\n }\n </div>\n }\n </div>\n }\n</div>\n\n<ng-template #simpleTileTemplate let-tile>\n @if (tile) {\n <div class=\"layout-col place-center-center flex\" style=\"background-color: lightblue\">\n <p class=\"noselect\">Tile: {{ tile }}</p>\n </div>\n }\n</ng-template>\n", styles: [".elder-grid-tile{width:100%;height:100%;cursor:pointer;overflow:hidden}.elder-grid-tile-row{display:grid;align-items:start;justify-items:start;overflow:hidden;--elder-grid-column-count: 1;padding:8px 16px;grid-template-columns:repeat(var(--elder-grid-column-count),minmax(0,1fr));column-gap:16px}.elder-grid-tile-row:first-child{padding-top:16px}.elder-grid-tile-hidden{flex:0 1 100%;margin:8px;width:100%;height:100%}.elder-grid-container{background-color:var(--elder-grid-background-color)}.elder-grid-flat{border:var(--elder-border-light)}.elder-grid-toolbar{min-height:44px}.elder-grid-footer{min-height:var(--elder-data-element-footer-height)}\n"], dependencies: [{ kind: "directive", type: DataContextSelectionDirective, selector: "[elderDataContextSelection]", inputs: ["elderDataContextSelectionModel", "elderDataContextSelection"], exportAs: ["elderDataContextSelection"] }, { kind: "component", type: ElderSelectionMasterCheckboxComponent, selector: "elder-selection-master-checkbox" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DataContextStateIndicatorComponent, selector: "elder-data-context-state-indicator", inputs: ["dataContext"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: ["listenToHost", "eventThrottle", "offsetFactor", "ignoreScrollEvent", "containerId", "scrollContainer"], outputs: ["closeToEnd", "scrolling"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { 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: ElderCompositeSortComponent, selector: "elder-composite-sort", inputs: ["availableSorts", "sorts", "translationPrefix"], outputs: ["sortsChange"] }, { kind: "directive", type: ElderCompositeSortDcDirective, selector: "[elderCompositeSortDc]", inputs: ["elderCompositeSortDc"] }, { kind: "component", type: ElderTileComponent, selector: "elder-tile", inputs: ["value", "selectionEnabled", "selectionModel", "interactionMode", "outlined"] }, { kind: "component", type: ElderContinuatorComponent, selector: "elder-continuator", inputs: ["loadedCount", "total", "canLoadMore", "chunkSizeOptions", "chunkSize"], outputs: ["loadMoreRequested", "chunkSizeChange"] }, { kind: "directive", type: ResizeObserverDirective, selector: "[elderResizeObserver]", inputs: ["enabled"], outputs: ["dimensionChange", "elderResizeObserver"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20190
20281
|
}
|
|
20191
20282
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ElderGridComponent, decorators: [{
|
|
20192
20283
|
type: Component,
|
|
@@ -20210,16 +20301,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
20210
20301
|
ElderCompositeSortComponent,
|
|
20211
20302
|
ElderCompositeSortDcDirective,
|
|
20212
20303
|
ElderTileComponent,
|
|
20213
|
-
NgClass,
|
|
20214
20304
|
ElderContinuatorComponent,
|
|
20215
|
-
|
|
20305
|
+
ResizeObserverDirective,
|
|
20306
|
+
], template: "<!-- eslint-disable @angular-eslint/template/interactive-supports-focus -->\n<!-- eslint-disable @angular-eslint/template/click-events-have-key-events -->\n<div class=\"full elder-grid-component\">\n @if (dc(); as dc) {\n <!-- Grid Browser -->\n <div\n class=\"layout-col full elder-grid-container\"\n [elderDataContextSelection]=\"dc\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- Toolbar Row -->\n @if (toolbarVisible()) {\n <div class=\"layout-row place-start-center flex-none elder-grid-toolbar\">\n @if (selectionVisible) {\n <div class=\"layout-col flex-none px-sm\">\n <elder-selection-master-checkbox class=\"flex-none\"></elder-selection-master-checkbox>\n </div>\n }\n\n <!-- Toolbar -->\n @if (toolbarTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n @if (availableCompositeSorts && availableCompositeSorts.length > 0) {\n <elder-composite-sort\n class=\"flex-none\"\n [availableSorts]=\"availableCompositeSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [elderCompositeSortDc]=\"dc\"\n >\n </elder-composite-sort>\n }\n </div>\n\n <mat-divider></mat-divider>\n }\n\n <elder-data-context-state-indicator class=\"flex-none\" [dataContext]=\"dc\">\n </elder-data-context-state-indicator>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"layout-col flex elder-grid-browser\"\n id=\"{{ scrollContainerId }}\"\n [itemSize]=\"itemHeight()\"\n [minBufferPx]=\"itemHeight() * 2\"\n [maxBufferPx]=\"itemHeight() * 3\"\n #virtualScrollViewPort\n elderInfiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"dcStatus()?.loading\"\n [containerId]=\"scrollContainerId\"\n [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n (elderResizeObserver)=\"containerDimensions$.next($event)\"\n >\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"\n let gridRow of dataRows$;\n trackBy: TrackGridRowByIdFn;\n templateCacheSize: 50\n \"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight() + 'px'\"\n [style.--elder-grid-column-count]=\"activeColumnCount()\"\n >\n @for (tile of gridRow.cells; track trackCellId($index, tile)) {\n <!-- Tile Cell -->\n @if (isTileVisible(tile)) {\n <elder-tile\n class=\"elder-grid-tile\"\n [value]=\"tile\"\n [selectionEnabled]=\"selectionVisible\"\n [selectionModel]=\"selectionModel\"\n [outlined]=\"tileOutlined()\"\n (click)=\"onItemClick(tile)\"\n (dblclick)=\"onItemDoubleClick(tile)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tileTemplate || simpleTileTemplate;\n context: { $implicit: tile }\n \"\n ></ng-container>\n </elder-tile>\n } @else {\n <div class=\"elder-grid-tile-hidden\"></div>\n }\n }\n </div>\n </cdk-virtual-scroll-viewport>\n\n <mat-progress-bar\n class=\"flex-none\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <!-- Footer -->\n @if (footerVisible()) {\n <div class=\"layout-row place-end-center gap-md flex-none elder-grid-footer\">\n <!-- Continuable -->\n @if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"dataSnapshot.loadMore()\"\n ></elder-continuator>\n } @else if (isActivePaged) {\n @if (currentPage(); as page) {\n <mat-paginator\n class=\"flex-none\"\n [length]=\"total()\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n >\n </mat-paginator>\n }\n } @else {\n <span class=\"mat-caption noselect pr-md\" style=\"color: var(--md-sys-color-outline)\">\n {{ viewData()?.length }}\n </span>\n }\n </div>\n }\n </div>\n }\n</div>\n\n<ng-template #simpleTileTemplate let-tile>\n @if (tile) {\n <div class=\"layout-col place-center-center flex\" style=\"background-color: lightblue\">\n <p class=\"noselect\">Tile: {{ tile }}</p>\n </div>\n }\n</ng-template>\n", styles: [".elder-grid-tile{width:100%;height:100%;cursor:pointer;overflow:hidden}.elder-grid-tile-row{display:grid;align-items:start;justify-items:start;overflow:hidden;--elder-grid-column-count: 1;padding:8px 16px;grid-template-columns:repeat(var(--elder-grid-column-count),minmax(0,1fr));column-gap:16px}.elder-grid-tile-row:first-child{padding-top:16px}.elder-grid-tile-hidden{flex:0 1 100%;margin:8px;width:100%;height:100%}.elder-grid-container{background-color:var(--elder-grid-background-color)}.elder-grid-flat{border:var(--elder-border-light)}.elder-grid-toolbar{min-height:44px}.elder-grid-footer{min-height:var(--elder-data-element-footer-height)}\n"] }]
|
|
20216
20307
|
}], ctorParameters: () => [{ type: SelectionModel, decorators: [{
|
|
20217
20308
|
type: Optional
|
|
20218
20309
|
}] }, { type: ElderDataViewOptionsProvider, decorators: [{
|
|
20219
20310
|
type: Optional
|
|
20220
20311
|
}, {
|
|
20221
20312
|
type: SkipSelf
|
|
20222
|
-
}] }
|
|
20313
|
+
}] }], propDecorators: { tileTemplateQuery: [{
|
|
20223
20314
|
type: ContentChild,
|
|
20224
20315
|
args: [ElderGridTileDirective, { read: TemplateRef, static: true }]
|
|
20225
20316
|
}], virtualScrollViewPort: [{
|
|
@@ -22698,10 +22789,8 @@ class ElderSelectBase extends ElderFormFieldControlBase {
|
|
|
22698
22789
|
return this.dataSourceOrThrow().getId(entity);
|
|
22699
22790
|
}
|
|
22700
22791
|
catch (e) {
|
|
22701
|
-
|
|
22702
|
-
|
|
22703
|
-
e?.message);
|
|
22704
|
-
}
|
|
22792
|
+
const errorMessage = e instanceof Error ? e.message : 'unknown';
|
|
22793
|
+
throw new Error(`Failed to extract id from entity since no dataSource is available! Caused by ${errorMessage}`);
|
|
22705
22794
|
}
|
|
22706
22795
|
}
|
|
22707
22796
|
/***************************************************************************
|
|
@@ -29587,6 +29676,7 @@ class ElderLocalDateInputComponent extends ElderFormFieldControlBase {
|
|
|
29587
29676
|
}
|
|
29588
29677
|
catch (err) {
|
|
29589
29678
|
this.logger.warn('Failed to apply value to dateValue: ' + value, err);
|
|
29679
|
+
return undefined;
|
|
29590
29680
|
}
|
|
29591
29681
|
}
|
|
29592
29682
|
mapIgnoreErrorObservable(date, conversionFn) {
|
|
@@ -31533,6 +31623,7 @@ class ElderOverlayComponent {
|
|
|
31533
31623
|
if (!this.attached) {
|
|
31534
31624
|
return this.attachOverlay();
|
|
31535
31625
|
}
|
|
31626
|
+
return undefined;
|
|
31536
31627
|
}
|
|
31537
31628
|
/**
|
|
31538
31629
|
* Hide this overlay
|
|
@@ -37531,7 +37622,7 @@ class ReactiveFetchEventSource {
|
|
|
37531
37622
|
*/
|
|
37532
37623
|
streamEventsOfType(eventTypeRaw) {
|
|
37533
37624
|
const eventType = this.eventTypeOrDefault(eventTypeRaw);
|
|
37534
|
-
return this.streamEvents().pipe(filter((e) => e.event
|
|
37625
|
+
return this.streamEvents().pipe(filter((e) => e.event === eventType));
|
|
37535
37626
|
}
|
|
37536
37627
|
/**
|
|
37537
37628
|
* Get an event stream for all events no matter their type.
|
|
@@ -37610,7 +37701,6 @@ class ReactiveFetchEventSource {
|
|
|
37610
37701
|
', state: ' +
|
|
37611
37702
|
response.status, response);
|
|
37612
37703
|
this.updateState(ReactiveEventSourceState.OPEN);
|
|
37613
|
-
return; // everything's good
|
|
37614
37704
|
}
|
|
37615
37705
|
else if (response.status >= 400 && response.status < 500 && response.status !== 429) {
|
|
37616
37706
|
// client-side errors are usually non-retriable:
|
|
@@ -37622,6 +37712,7 @@ class ReactiveFetchEventSource {
|
|
|
37622
37712
|
this.updateState(ReactiveEventSourceState.ERROR);
|
|
37623
37713
|
this.tryReconnect();
|
|
37624
37714
|
}
|
|
37715
|
+
return undefined; // TODO: Return a promise?
|
|
37625
37716
|
}
|
|
37626
37717
|
handleOnError(err) {
|
|
37627
37718
|
this.updateState(ReactiveEventSourceState.ERROR);
|
|
@@ -38139,5 +38230,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
38139
38230
|
* Generated bundle index. Do not edit.
|
|
38140
38231
|
*/
|
|
38141
38232
|
|
|
38142
|
-
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, NamedColorDirective, NamedColorSelectDirective, NamedColorSelectValueComponent, 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, elderChipColorLevels, elderChipColorStates, elderNamedColorRoles, elderNamedColorToken, elderNamedColors, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isLocalListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
|
|
38233
|
+
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, NamedColorDirective, NamedColorSelectDirective, NamedColorSelectValueComponent, 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, ResizeObserverDirective, 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, elderChipColorLevels, elderChipColorStates, elderNamedColorRoles, elderNamedColorToken, elderNamedColors, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isLocalListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
|
|
38143
38234
|
//# sourceMappingURL=elderbyte-ngx-starter.mjs.map
|