@dereekb/dbx-web 13.4.0 → 13.4.2
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/dereekb-dbx-web-calendar.mjs +51 -17
- package/fesm2022/dereekb-dbx-web-calendar.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web-mapbox.mjs +44 -12
- package/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web-table.mjs +48 -10
- package/fesm2022/dereekb-dbx-web-table.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web.mjs +467 -180
- package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
- package/package.json +6 -6
- package/types/dereekb-dbx-web-calendar.d.ts +40 -2
- package/types/dereekb-dbx-web-mapbox.d.ts +27 -1
- package/types/dereekb-dbx-web-table.d.ts +47 -6
- package/types/dereekb-dbx-web.d.ts +500 -113
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, input, inject, effect, Directive, NgModule, Component, output, computed, HostListener, InjectionToken, signal,
|
|
2
|
+
import { Injectable, input, inject, effect, Directive, NgModule, ChangeDetectionStrategy, Component, output, computed, HostListener, InjectionToken, signal, ElementRef, Injector, DestroyRef, viewChild, makeEnvironmentProviders, TemplateRef, model, SecurityContext, forwardRef, ViewContainerRef, Renderer2 } from '@angular/core';
|
|
3
3
|
import { DASH_CHARACTER_PREFIX_INSTANCE, asPromise, cssClassesSet, isDefinedAndNotFalse, spaceSeparatedCssClasses, objectHasNoKeys, getValueFromGetter, firstValue, filterUndefinedValues, separateValues, splitFront, asDecisionFunction, SLASH_PATH_FILE_TYPE_SEPARATOR, filterMaybeArrayValues, mapIterable, toReadableError, isDefaultReadableError, MS_IN_SECOND, mergeObjects, build, ServerErrorResponse, UnauthorizedServerErrorResponse, makeTimer, MS_IN_MINUTE, toggleTimerRunning, unixDateTimeSecondsNumberForNow, ModelRelationUtility, encodeModelKeyTypePair, useIterableOrValue, safeCompareEquality, addMilliseconds, isPast, asArray, slashPathDetails, mimeTypeForFileExtension, slashPathDirectoryTree, isMaybeNot, isNotFalse, modifier, combineMaps, addModifiers, removeModifiers, applyBestFit, findNext, maybeModifierMapToFunction, makeValuesGroupMap, compareWithMappedValuesFunction, invertMaybeBoolean, splitCommaSeparatedStringToSet, ZIP_FILE_MIME_TYPE, cachedGetter, sortByNumberFunction } from '@dereekb/util';
|
|
4
4
|
import * as i1$2 from '@dereekb/dbx-core';
|
|
5
5
|
import { completeOnDestroy, clean, cleanSubscription, AbstractTransitionWatcherDirective, DbxInjectionComponent, AbstractDbxActionValueGetterDirective, AbstractDbxButtonDirective, provideDbxButton, dbxActionWorkProgress, DbxCoreButtonModule, AbstractDbxActionHandlerDirective, FilterSourceDirective, provideActionStoreSource, isClickableFilterPreset, AbstractDbxAnchorDirective, expandClickableAnchorLinkTrees, DbxCoreFilterModule, DbxButton, DbxActionContextStoreSourceInstance, cleanSubscriptionWithLockSet, DBX_INJECTION_COMPONENT_DATA, checkNgContentWrapperHasContent, cleanLoadingContext, DbxActionSourceDirective, DbxActionSuccessHandlerDirective, DbxActionDirective, transformEmptyStringInputToUndefined, isIdleActionState, canTriggerAction, DbxCoreActionModule, DbxActionButtonDirective, onDbxAppAuth, SimpleStorageAccessorFactory, mergeStaticProviders, asSegueRef, AbstractTransitionDirective, DbxRouterService, AbstractIfDirective, isSegueRefActive, anchorTypeForAnchor } from '@dereekb/dbx-core';
|
|
@@ -137,6 +137,9 @@ var CompactMode;
|
|
|
137
137
|
* compactModeFromInput(true); // CompactMode.COMPACT
|
|
138
138
|
* compactModeFromInput(CompactMode.FULL); // CompactMode.FULL
|
|
139
139
|
* ```
|
|
140
|
+
*
|
|
141
|
+
* @param input - a boolean or CompactMode value to normalize
|
|
142
|
+
* @returns the normalized CompactMode enum value
|
|
140
143
|
*/
|
|
141
144
|
function compactModeFromInput(input) {
|
|
142
145
|
if (typeof input === 'boolean') {
|
|
@@ -156,6 +159,10 @@ function compactModeFromInput(input) {
|
|
|
156
159
|
* defaultMode: CompactMode.FULL
|
|
157
160
|
* });
|
|
158
161
|
* ```
|
|
162
|
+
*
|
|
163
|
+
* @param mode$ - an observable of the current compact mode, or nullish to use the default
|
|
164
|
+
* @param config - the mapping configuration containing values for each mode and an optional default
|
|
165
|
+
* @returns an observable emitting the mapped value corresponding to the current compact mode
|
|
159
166
|
*/
|
|
160
167
|
function mapCompactModeObs(mode$, config) {
|
|
161
168
|
const modeObs = mode$ ?? of(config.defaultMode ?? CompactMode.FULL);
|
|
@@ -315,7 +322,7 @@ class DbxPopoverCoordinatorComponent {
|
|
|
315
322
|
@if (showSignal()) {
|
|
316
323
|
<ng-content></ng-content>
|
|
317
324
|
}
|
|
318
|
-
`, isInline: true });
|
|
325
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
319
326
|
}
|
|
320
327
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxPopoverCoordinatorComponent, decorators: [{
|
|
321
328
|
type: Component,
|
|
@@ -326,6 +333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
326
333
|
<ng-content></ng-content>
|
|
327
334
|
}
|
|
328
335
|
`,
|
|
336
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
329
337
|
standalone: true
|
|
330
338
|
}]
|
|
331
339
|
}], ctorParameters: () => [] });
|
|
@@ -363,10 +371,8 @@ class DbxWindowKeyDownListenerDirective {
|
|
|
363
371
|
handleKeyboardEvent(event) {
|
|
364
372
|
const keysFilter = this.keysFilterSignal();
|
|
365
373
|
const enabled = this.isEnabledSignal();
|
|
366
|
-
if (enabled !== false) {
|
|
367
|
-
|
|
368
|
-
this.dbxWindowKeyDownListener.emit(event);
|
|
369
|
-
}
|
|
374
|
+
if (enabled !== false && (!keysFilter || keysFilter.has(event.key))) {
|
|
375
|
+
this.dbxWindowKeyDownListener.emit(event);
|
|
370
376
|
}
|
|
371
377
|
}
|
|
372
378
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWindowKeyDownListenerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -403,6 +409,9 @@ const DBX_THEME_COLORS = [...DBX_THEME_COLORS_MAIN, ...DBX_THEME_COLORS_EXTRA, .
|
|
|
403
409
|
* dbxColorBackground('primary'); // 'dbx-primary-bg'
|
|
404
410
|
* dbxColorBackground(undefined); // 'dbx-default'
|
|
405
411
|
* ```
|
|
412
|
+
*
|
|
413
|
+
* @param color - the theme color to convert, or nullish/empty for the default class
|
|
414
|
+
* @returns the CSS class name for the themed background (e.g., `'dbx-primary-bg'` or `'dbx-default'`)
|
|
406
415
|
*/
|
|
407
416
|
function dbxColorBackground(color) {
|
|
408
417
|
let cssClass = 'dbx-default'; // background by default
|
|
@@ -418,6 +427,8 @@ function dbxColorBackground(color) {
|
|
|
418
427
|
case 'default':
|
|
419
428
|
cssClass = `dbx-${color}-bg`;
|
|
420
429
|
break;
|
|
430
|
+
default:
|
|
431
|
+
break;
|
|
421
432
|
}
|
|
422
433
|
return cssClass;
|
|
423
434
|
}
|
|
@@ -455,10 +466,8 @@ class DbxStyleService {
|
|
|
455
466
|
getStyleClassWithConfig(configObs) {
|
|
456
467
|
return combineLatest([configObs, this.styleClassSuffix$]).pipe(map(([config, suffix]) => {
|
|
457
468
|
let styleClass = config.style;
|
|
458
|
-
if (suffix != null && config.suffixes) {
|
|
459
|
-
|
|
460
|
-
styleClass = `${styleClass}${DASH_CHARACTER_PREFIX_INSTANCE.prefixSuffixString(suffix)}`;
|
|
461
|
-
}
|
|
469
|
+
if (suffix != null && config.suffixes?.has(suffix)) {
|
|
470
|
+
styleClass = `${styleClass}${DASH_CHARACTER_PREFIX_INSTANCE.prefixSuffixString(suffix)}`;
|
|
462
471
|
}
|
|
463
472
|
return styleClass;
|
|
464
473
|
}), distinctUntilChanged(), shareReplay(1));
|
|
@@ -492,30 +501,40 @@ class DbxStyleService {
|
|
|
492
501
|
}
|
|
493
502
|
/**
|
|
494
503
|
* Returns the current style class suffix, if one is set.
|
|
504
|
+
*
|
|
505
|
+
* @returns the currently active style class suffix, or undefined if none is set
|
|
495
506
|
*/
|
|
496
507
|
get currentStyleClassSuffix() {
|
|
497
508
|
return this._styleClassSuffix.value;
|
|
498
509
|
}
|
|
499
510
|
/**
|
|
500
511
|
* Directly sets the active style class suffix, or clears it if null/undefined.
|
|
512
|
+
*
|
|
513
|
+
* @param suffix - the suffix to activate, or nullish to clear the current suffix
|
|
501
514
|
*/
|
|
502
515
|
setStyleClassSuffix(suffix) {
|
|
503
516
|
this._styleClassSuffix.next(suffix ? dbxStyleClassCleanSuffix(suffix) : undefined);
|
|
504
517
|
}
|
|
505
518
|
/**
|
|
506
519
|
* Updates the default style configuration used when no override config is set.
|
|
520
|
+
*
|
|
521
|
+
* @param defaultConfig - the style configuration to use as the new default
|
|
507
522
|
*/
|
|
508
523
|
setDefaultConfig(defaultConfig) {
|
|
509
524
|
this._defaultConfig.next(defaultConfig);
|
|
510
525
|
}
|
|
511
526
|
/**
|
|
512
527
|
* Overrides the active style configuration with the given value or observable.
|
|
528
|
+
*
|
|
529
|
+
* @param config - a style configuration value or observable to set as the active override
|
|
513
530
|
*/
|
|
514
531
|
setConfig(config) {
|
|
515
532
|
this._config.next(asObservable(config));
|
|
516
533
|
}
|
|
517
534
|
/**
|
|
518
535
|
* Clears the active config override if it matches the given reference, reverting to the default config.
|
|
536
|
+
*
|
|
537
|
+
* @param config - the config reference to compare against the current override
|
|
519
538
|
*/
|
|
520
539
|
unsetConfig(config) {
|
|
521
540
|
if (this._config.value === config) {
|
|
@@ -604,7 +623,9 @@ class DbxPopoverComponent extends AbstractTransitionWatcherDirective {
|
|
|
604
623
|
}
|
|
605
624
|
};
|
|
606
625
|
// Also intercept the _close function to capture backdropClose, etc.
|
|
626
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- accessing private member _close
|
|
607
627
|
const original_close = this.popoverRef._close;
|
|
628
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- accessing private member _close
|
|
608
629
|
this.popoverRef._close = (closeType, inputValue) => {
|
|
609
630
|
const closeWithValue = (value) => {
|
|
610
631
|
original_close.call(this.popoverRef, closeType, value);
|
|
@@ -617,7 +638,7 @@ class DbxPopoverComponent extends AbstractTransitionWatcherDirective {
|
|
|
617
638
|
this._useClosingValue(closeType, (x) => closeWithValue(x));
|
|
618
639
|
}
|
|
619
640
|
};
|
|
620
|
-
// eslint-disable-next-line
|
|
641
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- accessing private member _overlay
|
|
621
642
|
const overlay = this.popoverRef._overlay; // overlay is not publically accessible
|
|
622
643
|
const elementRef = this.config.origin;
|
|
623
644
|
const configuration = this.config.configuration;
|
|
@@ -777,6 +798,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
777
798
|
*/
|
|
778
799
|
class DbxDialogContentCloseComponent {
|
|
779
800
|
padded = input(true, ...(ngDevMode ? [{ debugName: "padded" }] : []));
|
|
801
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
780
802
|
close = output();
|
|
781
803
|
closeClicked() {
|
|
782
804
|
this.close.emit(undefined);
|
|
@@ -821,6 +843,7 @@ class DbxDialogContentFooterComponent {
|
|
|
821
843
|
buttonColor = input(...(ngDevMode ? [undefined, { debugName: "buttonColor" }] : []));
|
|
822
844
|
closeTextSignal = computed(() => this.closeText() ?? this.config()?.closeText ?? 'Close', ...(ngDevMode ? [{ debugName: "closeTextSignal" }] : []));
|
|
823
845
|
buttonColorSignal = computed(() => this.buttonColor() ?? this.config()?.buttonColor ?? undefined, ...(ngDevMode ? [{ debugName: "buttonColorSignal" }] : []));
|
|
846
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
824
847
|
close = output();
|
|
825
848
|
closeClicked() {
|
|
826
849
|
this.close.emit();
|
|
@@ -942,13 +965,12 @@ class DbxInjectionDialogComponent extends AbstractDialogDirective {
|
|
|
942
965
|
return this.data.componentConfig;
|
|
943
966
|
}
|
|
944
967
|
static openDialog(matDialog, config) {
|
|
945
|
-
|
|
968
|
+
return matDialog.open((DbxInjectionDialogComponent), {
|
|
946
969
|
width: '80vw',
|
|
947
970
|
height: '80vh',
|
|
948
971
|
...config,
|
|
949
972
|
data: config
|
|
950
973
|
});
|
|
951
|
-
return dialogRef;
|
|
952
974
|
}
|
|
953
975
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxInjectionDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
954
976
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxInjectionDialogComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
@@ -980,6 +1002,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
980
1002
|
/**
|
|
981
1003
|
* Sanitizes a {@link DbxDialogContentConfig} by normalizing the panelClass into an array.
|
|
982
1004
|
*
|
|
1005
|
+
* @param input - The dialog content config to sanitize, or null/undefined
|
|
1006
|
+
* @returns A new config with panelClass normalized to an array of CSS class strings
|
|
1007
|
+
*
|
|
983
1008
|
* @example
|
|
984
1009
|
* ```ts
|
|
985
1010
|
* const config = sanitizeDbxDialogContentConfig({ panelClass: 'my-panel my-other-panel' });
|
|
@@ -989,7 +1014,7 @@ function sanitizeDbxDialogContentConfig(input) {
|
|
|
989
1014
|
const panelClass = input?.panelClass;
|
|
990
1015
|
return {
|
|
991
1016
|
...input,
|
|
992
|
-
panelClass: panelClass ?
|
|
1017
|
+
panelClass: panelClass ? [...cssClassesSet(input?.panelClass)] : undefined
|
|
993
1018
|
};
|
|
994
1019
|
}
|
|
995
1020
|
|
|
@@ -1088,17 +1113,18 @@ class AbstractPopoverRefDirective {
|
|
|
1088
1113
|
}
|
|
1089
1114
|
}
|
|
1090
1115
|
_showPopoverRef(origin) {
|
|
1091
|
-
|
|
1092
|
-
this.
|
|
1093
|
-
this.
|
|
1116
|
+
const popoverRef = this._makePopoverRef(origin);
|
|
1117
|
+
this._popoverRef = popoverRef;
|
|
1118
|
+
this._afterOpened(popoverRef);
|
|
1119
|
+
this._popoverSub.setSub(popoverRef.afterClosed$.subscribe((x) => {
|
|
1094
1120
|
this._afterClosed(x);
|
|
1095
1121
|
this._popoverRef = undefined;
|
|
1096
1122
|
}));
|
|
1097
1123
|
}
|
|
1098
|
-
_afterOpened(
|
|
1124
|
+
_afterOpened(_popoverRef) {
|
|
1099
1125
|
// Do nothing. Override in parent type
|
|
1100
1126
|
}
|
|
1101
|
-
_afterClosed(
|
|
1127
|
+
_afterClosed(_value) {
|
|
1102
1128
|
// Do nothing. Override in parent type
|
|
1103
1129
|
}
|
|
1104
1130
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractPopoverRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -1657,6 +1683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
1657
1683
|
*/
|
|
1658
1684
|
class AbstractFilterPopoverButtonDirective extends AbstractPopoverRefDirective {
|
|
1659
1685
|
popupService = inject(DbxPopoverService);
|
|
1686
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1660
1687
|
config = input(undefined, ...(ngDevMode ? [{ debugName: "config" }] : []));
|
|
1661
1688
|
_makePopoverRef(origin) {
|
|
1662
1689
|
const config = this.config();
|
|
@@ -1870,8 +1897,7 @@ class AbstractProgressButtonDirective {
|
|
|
1870
1897
|
const working = this.working();
|
|
1871
1898
|
const config = this.configSignal();
|
|
1872
1899
|
const configWorking = config?.working;
|
|
1873
|
-
|
|
1874
|
-
return workingProgress;
|
|
1900
|
+
return dbxActionWorkProgress([working, configWorking]);
|
|
1875
1901
|
}, ...(ngDevMode ? [{ debugName: "workingProgressSignal" }] : []));
|
|
1876
1902
|
isWorkingSignal = computed(() => isDefinedAndNotFalse(this.workingProgressSignal()), ...(ngDevMode ? [{ debugName: "isWorkingSignal" }] : []));
|
|
1877
1903
|
workingValueSignal = computed(() => {
|
|
@@ -2048,9 +2074,8 @@ class DbxProgressSpinnerButtonComponent extends AbstractProgressButtonDirective
|
|
|
2048
2074
|
}, ...(ngDevMode ? [{ debugName: "showTextButtonIconSignal" }] : []));
|
|
2049
2075
|
showIconSignal = computed(() => {
|
|
2050
2076
|
const config = this.configSignal();
|
|
2051
|
-
return (config &&
|
|
2052
|
-
|
|
2053
|
-
!this.showTextContentSignal()); // show icon if either fab or iconOnly is true
|
|
2077
|
+
return (config?.buttonIcon && !this.showTextContentSignal() // button icon must be defined
|
|
2078
|
+
); // show icon if either fab or iconOnly is true
|
|
2054
2079
|
}, ...(ngDevMode ? [{ debugName: "showIconSignal" }] : []));
|
|
2055
2080
|
customSpinnerStyleSignal = computed(() => {
|
|
2056
2081
|
const customSpinnerColor = this.configSignal()?.customSpinnerColor;
|
|
@@ -2474,6 +2499,9 @@ class DbxRouterWebProviderConfig {
|
|
|
2474
2499
|
* childClickTarget: this.buttonElementRef
|
|
2475
2500
|
* });
|
|
2476
2501
|
* ```
|
|
2502
|
+
*
|
|
2503
|
+
* @param config - configuration specifying the click target, child element to intercept, and optional disabled signal
|
|
2504
|
+
* @returns the created Angular effect reference
|
|
2477
2505
|
*/
|
|
2478
2506
|
function overrideClickElementEffect(config) {
|
|
2479
2507
|
const { clickTarget, childClickTarget, disabledSignal } = config;
|
|
@@ -2490,30 +2518,28 @@ function overrideClickElementEffect(config) {
|
|
|
2490
2518
|
if (_cleanupClickOverride) {
|
|
2491
2519
|
_cleanupClickOverride();
|
|
2492
2520
|
}
|
|
2493
|
-
if (childClickElement) {
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
});
|
|
2516
|
-
}
|
|
2521
|
+
if (childClickElement && !anchorDisabled) {
|
|
2522
|
+
const clickOverride = (event) => {
|
|
2523
|
+
// Allow ctrl+click, cmd+click, shift+click, and middle-click for new tab/window
|
|
2524
|
+
// Don't preventDefault or stopPropagation - let browser handle it naturally
|
|
2525
|
+
if (event.ctrlKey || event.metaKey || event.shiftKey || event.button === 1) {
|
|
2526
|
+
return; // Browser will open in new tab/window
|
|
2527
|
+
}
|
|
2528
|
+
else {
|
|
2529
|
+
// otherwise, also trigger a click on the uiSref anchor element
|
|
2530
|
+
clickTargetElement?.nativeElement.click();
|
|
2531
|
+
// Prevents the default behavior of the anchor element's href from being triggered
|
|
2532
|
+
event.preventDefault();
|
|
2533
|
+
event.stopPropagation();
|
|
2534
|
+
}
|
|
2535
|
+
};
|
|
2536
|
+
_cleanupClickOverride = () => {
|
|
2537
|
+
childClickElement.nativeElement.removeEventListener('click', clickOverride);
|
|
2538
|
+
_cleanupClickOverride = null;
|
|
2539
|
+
};
|
|
2540
|
+
childClickElement.nativeElement.addEventListener('click', clickOverride, {
|
|
2541
|
+
capture: true // Use capture to ensure this event listener is called before any nested child's event listeners
|
|
2542
|
+
});
|
|
2517
2543
|
}
|
|
2518
2544
|
});
|
|
2519
2545
|
}
|
|
@@ -2560,7 +2586,7 @@ class DbxAnchorComponent extends AbstractDbxAnchorDirective {
|
|
|
2560
2586
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
2561
2587
|
}
|
|
2562
2588
|
@case ('clickable') {
|
|
2563
|
-
<a #clickable class="dbx-anchor-a dbx-anchor-click" [ngClass]="selectedClassSignal()" (click)="clickAnchor()">
|
|
2589
|
+
<a #clickable class="dbx-anchor-a dbx-anchor-click" [ngClass]="selectedClassSignal()" tabindex="0" (click)="clickAnchor()" (keydown.enter)="clickAnchor()">
|
|
2564
2590
|
<span #childClickTarget>
|
|
2565
2591
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
2566
2592
|
</span>
|
|
@@ -2598,7 +2624,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
2598
2624
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
2599
2625
|
}
|
|
2600
2626
|
@case ('clickable') {
|
|
2601
|
-
<a #clickable class="dbx-anchor-a dbx-anchor-click" [ngClass]="selectedClassSignal()" (click)="clickAnchor()">
|
|
2627
|
+
<a #clickable class="dbx-anchor-a dbx-anchor-click" [ngClass]="selectedClassSignal()" tabindex="0" (click)="clickAnchor()" (keydown.enter)="clickAnchor()">
|
|
2602
2628
|
<span #childClickTarget>
|
|
2603
2629
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
2604
2630
|
</span>
|
|
@@ -2698,6 +2724,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
2698
2724
|
/**
|
|
2699
2725
|
* Creates an observable that emits the button text for a preset filter menu based on the current selection.
|
|
2700
2726
|
*
|
|
2727
|
+
* @param config$ - Observable of the preset filter menu configuration
|
|
2728
|
+
* @param selection$ - Observable of the currently selected preset, used to derive the display title
|
|
2729
|
+
* @param defaultText - Fallback text when no selection or unknownSelectionText is configured. Defaults to 'Filter'.
|
|
2730
|
+
* @returns An observable emitting the resolved button text string
|
|
2731
|
+
*
|
|
2701
2732
|
* @example
|
|
2702
2733
|
* ```ts
|
|
2703
2734
|
* const text$ = dbxPresetFilterMenuButtonTextObservable(config$, selectedPreset$);
|
|
@@ -2709,6 +2740,11 @@ function dbxPresetFilterMenuButtonTextObservable(config$, selection$, defaultTex
|
|
|
2709
2740
|
/**
|
|
2710
2741
|
* Creates an observable that emits the button icon for a preset filter menu based on the current selection and config.
|
|
2711
2742
|
*
|
|
2743
|
+
* @param config$ - Observable of the preset filter menu configuration controlling icon behavior
|
|
2744
|
+
* @param selection$ - Observable of the currently selected preset, used to derive the display icon
|
|
2745
|
+
* @param defaultIcon - Fallback icon when no filterIcon is configured. Defaults to 'arrow_drop_down'.
|
|
2746
|
+
* @returns An observable emitting the resolved icon string, or undefined when no icon should be shown
|
|
2747
|
+
*
|
|
2712
2748
|
* @example
|
|
2713
2749
|
* ```ts
|
|
2714
2750
|
* const icon$ = dbxPresetFilterMenuButtonIconObservable(config$, selectedPreset$);
|
|
@@ -2936,6 +2972,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
2936
2972
|
/**
|
|
2937
2973
|
* Opens a dialog containing a {@link DbxIframeComponent} to display a URL in an iframe.
|
|
2938
2974
|
*
|
|
2975
|
+
* @param matDialog - The Angular Material dialog service used to open the dialog
|
|
2976
|
+
* @param config - Configuration specifying the content URL and dialog options
|
|
2977
|
+
* @returns A reference to the opened dialog for controlling or subscribing to its lifecycle
|
|
2978
|
+
*
|
|
2939
2979
|
* @example
|
|
2940
2980
|
* ```ts
|
|
2941
2981
|
* const ref = openIframeDialog(matDialog, { contentUrl: 'https://example.com' });
|
|
@@ -3053,6 +3093,8 @@ class DbxEmbedComponent {
|
|
|
3053
3093
|
embed.setAttribute('type', type);
|
|
3054
3094
|
}
|
|
3055
3095
|
break;
|
|
3096
|
+
default:
|
|
3097
|
+
break;
|
|
3056
3098
|
}
|
|
3057
3099
|
element.appendChild(embed);
|
|
3058
3100
|
}
|
|
@@ -3079,6 +3121,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
3079
3121
|
/**
|
|
3080
3122
|
* Opens a dialog containing a {@link DbxEmbedComponent} to display embedded content from a URL or Blob.
|
|
3081
3123
|
*
|
|
3124
|
+
* @param matDialog - The Angular Material dialog service used to open the dialog
|
|
3125
|
+
* @param config - Configuration specifying the content source (URL or Blob), MIME type, and dialog options
|
|
3126
|
+
* @returns A reference to the opened dialog for controlling or subscribing to its lifecycle
|
|
3127
|
+
*
|
|
3082
3128
|
* @example
|
|
3083
3129
|
* ```ts
|
|
3084
3130
|
* const ref = openEmbedDialog(matDialog, { srcUrl: 'https://example.com/doc.pdf', embedMimeType: 'application/pdf' });
|
|
@@ -3646,6 +3692,9 @@ class DbxPromptConfirm {
|
|
|
3646
3692
|
/**
|
|
3647
3693
|
* Provides a {@link DbxPromptConfirm} implementation for dependency injection.
|
|
3648
3694
|
*
|
|
3695
|
+
* @param sourceType - The concrete class that implements {@link DbxPromptConfirm}
|
|
3696
|
+
* @returns An array of providers that register the given type as the {@link DbxPromptConfirm} implementation
|
|
3697
|
+
*
|
|
3649
3698
|
* @example
|
|
3650
3699
|
* ```ts
|
|
3651
3700
|
* @Directive({ providers: provideDbxPromptConfirm(MyConfirmDirective) })
|
|
@@ -4005,6 +4054,7 @@ class DbxPromptConfirmComponent {
|
|
|
4005
4054
|
confirmTextSignal = computed(() => this.config()?.confirmText || 'Confirm', ...(ngDevMode ? [{ debugName: "confirmTextSignal" }] : []));
|
|
4006
4055
|
cancelTextSignal = computed(() => this.config()?.cancelText || 'Cancel', ...(ngDevMode ? [{ debugName: "cancelTextSignal" }] : []));
|
|
4007
4056
|
confirm = output();
|
|
4057
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
4008
4058
|
cancel = output();
|
|
4009
4059
|
onConfirm() {
|
|
4010
4060
|
this.confirm.emit();
|
|
@@ -4073,10 +4123,9 @@ class DbxPromptConfirmDialogComponent extends AbstractDialogDirective {
|
|
|
4073
4123
|
return this.data.component;
|
|
4074
4124
|
}
|
|
4075
4125
|
static openDialog(matDialog, config) {
|
|
4076
|
-
|
|
4126
|
+
return matDialog.open(DbxPromptConfirmDialogComponent, {
|
|
4077
4127
|
data: config ?? DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG
|
|
4078
4128
|
});
|
|
4079
|
-
return dialogRef;
|
|
4080
4129
|
}
|
|
4081
4130
|
confirm() {
|
|
4082
4131
|
this.close(true);
|
|
@@ -4190,8 +4239,7 @@ class DbxContentContainerDirective {
|
|
|
4190
4239
|
padding = input('normal', ...(ngDevMode ? [{ debugName: "padding" }] : []));
|
|
4191
4240
|
topPadding = input('none', ...(ngDevMode ? [{ debugName: "topPadding" }] : []));
|
|
4192
4241
|
classConfig = computed(() => {
|
|
4193
|
-
|
|
4194
|
-
return classConfig;
|
|
4242
|
+
return 'container-' + this.grow() + ' container-padding-' + this.padding() + ' container-top-padding-' + this.topPadding();
|
|
4195
4243
|
}, ...(ngDevMode ? [{ debugName: "classConfig" }] : []));
|
|
4196
4244
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxContentContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4197
4245
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxContentContainerDirective, isStandalone: true, selector: "dbx-content-container,[dbxContentContainer],.dbx-content-container", inputs: { grow: { classPropertyName: "grow", publicName: "grow", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, topPadding: { classPropertyName: "topPadding", publicName: "topPadding", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classConfig()" }, classAttribute: "d-block dbx-content-container" }, ngImport: i0 });
|
|
@@ -4375,8 +4423,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
4375
4423
|
/**
|
|
4376
4424
|
* Returns a string that can be used as the "accept" attribute of a file input element.
|
|
4377
4425
|
*
|
|
4378
|
-
* @param accept
|
|
4379
|
-
* @returns
|
|
4426
|
+
* @param accept - A file accept string or array of filter type strings to convert
|
|
4427
|
+
* @returns A comma-separated string suitable for the HTML accept attribute
|
|
4380
4428
|
*/
|
|
4381
4429
|
function fileAcceptString(accept) {
|
|
4382
4430
|
return typeof accept === 'string' ? accept : accept.join(',');
|
|
@@ -4384,6 +4432,9 @@ function fileAcceptString(accept) {
|
|
|
4384
4432
|
/**
|
|
4385
4433
|
* Converts a comma-separated accept string or array into a {@link FileAcceptFilterTypeStringArray}.
|
|
4386
4434
|
*
|
|
4435
|
+
* @param accept - A file accept string or array of filter type strings to normalize
|
|
4436
|
+
* @returns An array of individual filter type strings
|
|
4437
|
+
*
|
|
4387
4438
|
* @example
|
|
4388
4439
|
* ```ts
|
|
4389
4440
|
* const types = fileAcceptFilterTypeStringArray('image/png, .pdf');
|
|
@@ -4396,6 +4447,9 @@ function fileAcceptFilterTypeStringArray(accept) {
|
|
|
4396
4447
|
/**
|
|
4397
4448
|
* Creates a {@link FileArrayAcceptMatchFunction} that filters and separates files based on accept criteria and multiple file support.
|
|
4398
4449
|
*
|
|
4450
|
+
* @param config - Configuration specifying the accept criteria and whether multiple files are allowed
|
|
4451
|
+
* @returns A function that accepts an array of files and returns the categorized match result
|
|
4452
|
+
*
|
|
4399
4453
|
* @example
|
|
4400
4454
|
* ```ts
|
|
4401
4455
|
* const matchFn = fileArrayAcceptMatchFunction({ accept: 'image/*', multiple: false });
|
|
@@ -4421,6 +4475,9 @@ function fileArrayAcceptMatchFunction(config) {
|
|
|
4421
4475
|
/**
|
|
4422
4476
|
* Creates a {@link FileAcceptFunction} that checks individual files against accept criteria (MIME types, wildcards, or file extensions).
|
|
4423
4477
|
*
|
|
4478
|
+
* @param accept - A file accept string or array specifying which MIME types, wildcards, or file extensions to allow
|
|
4479
|
+
* @returns A decision function that returns true if a file matches any of the accept criteria
|
|
4480
|
+
*
|
|
4424
4481
|
* @example
|
|
4425
4482
|
* ```ts
|
|
4426
4483
|
* const isAccepted = fileAcceptFunction(['image/*', '.pdf']);
|
|
@@ -4435,7 +4492,7 @@ function fileAcceptFunction(accept) {
|
|
|
4435
4492
|
fileAcceptFunction = asDecisionFunction(true);
|
|
4436
4493
|
}
|
|
4437
4494
|
else {
|
|
4438
|
-
const hasWildcard = acceptList.
|
|
4495
|
+
const hasWildcard = acceptList.includes('*');
|
|
4439
4496
|
if (hasWildcard) {
|
|
4440
4497
|
fileAcceptFunction = asDecisionFunction(true);
|
|
4441
4498
|
}
|
|
@@ -4456,7 +4513,7 @@ function fileAcceptFunction(accept) {
|
|
|
4456
4513
|
}
|
|
4457
4514
|
});
|
|
4458
4515
|
fileAcceptFunction = (input) => {
|
|
4459
|
-
return isAcceptedFunctions.
|
|
4516
|
+
return isAcceptedFunctions.some((x) => x(input));
|
|
4460
4517
|
};
|
|
4461
4518
|
}
|
|
4462
4519
|
}
|
|
@@ -4471,6 +4528,9 @@ class DbxFileUploadActionCompatable {
|
|
|
4471
4528
|
/**
|
|
4472
4529
|
* Provides a {@link DbxFileUploadActionCompatable} for dependency injection from the given component type.
|
|
4473
4530
|
*
|
|
4531
|
+
* @param sourceType - The concrete component class that implements {@link DbxFileUploadActionCompatable}
|
|
4532
|
+
* @returns An array of providers that register the given type as the {@link DbxFileUploadActionCompatable} implementation
|
|
4533
|
+
*
|
|
4474
4534
|
* @example
|
|
4475
4535
|
* ```ts
|
|
4476
4536
|
* @Component({ providers: provideDbxFileUploadActionCompatable(MyUploadComponent) })
|
|
@@ -4544,10 +4604,10 @@ class DbxFileUploadAreaComponent extends AbstractDbxFileUploadComponent {
|
|
|
4544
4604
|
@if (show()) {
|
|
4545
4605
|
<div class="dbx-file-upload-area-content">
|
|
4546
4606
|
<div class="dbx-file-upload-area-content-text">
|
|
4547
|
-
@if (icon()
|
|
4607
|
+
@if (icon()) {
|
|
4548
4608
|
<mat-icon>{{ icon() }}</mat-icon>
|
|
4549
4609
|
}
|
|
4550
|
-
@if (text()
|
|
4610
|
+
@if (text()) {
|
|
4551
4611
|
<span>{{ text() }}</span>
|
|
4552
4612
|
}
|
|
4553
4613
|
</div>
|
|
@@ -4576,10 +4636,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
4576
4636
|
@if (show()) {
|
|
4577
4637
|
<div class="dbx-file-upload-area-content">
|
|
4578
4638
|
<div class="dbx-file-upload-area-content-text">
|
|
4579
|
-
@if (icon()
|
|
4639
|
+
@if (icon()) {
|
|
4580
4640
|
<mat-icon>{{ icon() }}</mat-icon>
|
|
4581
4641
|
}
|
|
4582
|
-
@if (text()
|
|
4642
|
+
@if (text()) {
|
|
4583
4643
|
<span>{{ text() }}</span>
|
|
4584
4644
|
}
|
|
4585
4645
|
</div>
|
|
@@ -5011,6 +5071,7 @@ class DbxErrorWidgetService {
|
|
|
5011
5071
|
if (override || !this._entries.has(entry.code)) {
|
|
5012
5072
|
this._entries.set(entry.code, {
|
|
5013
5073
|
...entry,
|
|
5074
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
5014
5075
|
widgetComponentClass: entry.widgetComponentClass ?? entry.componentClass
|
|
5015
5076
|
});
|
|
5016
5077
|
return true;
|
|
@@ -5021,7 +5082,7 @@ class DbxErrorWidgetService {
|
|
|
5021
5082
|
}
|
|
5022
5083
|
// MARK: Get
|
|
5023
5084
|
getErrorWidgetIdentifiers() {
|
|
5024
|
-
return
|
|
5085
|
+
return [...this._entries.keys()];
|
|
5025
5086
|
}
|
|
5026
5087
|
getDefaultErrorWidgetEntry() {
|
|
5027
5088
|
return this.getErrorWidgetEntry(DEFAULT_ERROR_WIDGET_CODE);
|
|
@@ -5061,7 +5122,7 @@ class DbxErrorWidgetViewComponent {
|
|
|
5061
5122
|
error = input(...(ngDevMode ? [undefined, { debugName: "error" }] : []));
|
|
5062
5123
|
errorWithCodeSignal = computed(() => {
|
|
5063
5124
|
const currentError = this.error();
|
|
5064
|
-
const error = currentError
|
|
5125
|
+
const error = currentError?.code ? currentError : undefined;
|
|
5065
5126
|
let config;
|
|
5066
5127
|
if (error != null) {
|
|
5067
5128
|
const entry = this.dbxErrorWidgetService.getErrorWidgetEntry(error.code);
|
|
@@ -5916,7 +5977,7 @@ function makeDbxActionSnackbarDisplayConfigGeneratorFunction(config) {
|
|
|
5916
5977
|
let result;
|
|
5917
5978
|
if (eventConfig) {
|
|
5918
5979
|
const { undoButtonText } = eventConfig;
|
|
5919
|
-
|
|
5980
|
+
const building = {
|
|
5920
5981
|
button: eventConfig.button,
|
|
5921
5982
|
message: eventConfig.message,
|
|
5922
5983
|
snackbar: eventConfig.snackbar
|
|
@@ -5933,12 +5994,13 @@ function makeDbxActionSnackbarDisplayConfigGeneratorFunction(config) {
|
|
|
5933
5994
|
console.error('Expected action source reference was not provided to undo...');
|
|
5934
5995
|
}
|
|
5935
5996
|
else {
|
|
5936
|
-
|
|
5997
|
+
building.action = {
|
|
5937
5998
|
button: undoButtonText ?? 'Undo',
|
|
5938
5999
|
reference
|
|
5939
6000
|
};
|
|
5940
6001
|
}
|
|
5941
6002
|
}
|
|
6003
|
+
result = building;
|
|
5942
6004
|
}
|
|
5943
6005
|
return result;
|
|
5944
6006
|
};
|
|
@@ -5994,11 +6056,15 @@ class DbxActionSnackbarService {
|
|
|
5994
6056
|
};
|
|
5995
6057
|
const duration = config.action?.duration ?? matSnackbarConfig.duration ?? defaultDuration ?? DEFAULT_SNACKBAR_DIRECTIVE_DURATION;
|
|
5996
6058
|
if (config.action) {
|
|
5997
|
-
// Set the duration on the action
|
|
5998
|
-
|
|
5999
|
-
...config
|
|
6000
|
-
|
|
6059
|
+
// Set the duration on the action and create an updated config for the snackbar data
|
|
6060
|
+
const updatedConfig = {
|
|
6061
|
+
...config,
|
|
6062
|
+
action: {
|
|
6063
|
+
...config.action,
|
|
6064
|
+
duration
|
|
6065
|
+
}
|
|
6001
6066
|
};
|
|
6067
|
+
matSnackbarConfig.data = updatedConfig;
|
|
6002
6068
|
}
|
|
6003
6069
|
else {
|
|
6004
6070
|
// The snackbar does not close here. The duration is passed to the component and it will close it.
|
|
@@ -6012,6 +6078,7 @@ class DbxActionSnackbarService {
|
|
|
6012
6078
|
*
|
|
6013
6079
|
* @param type - The snackbar type key (e.g. "save", "delete"), or undefined to use "none".
|
|
6014
6080
|
* @param input - The generator input containing the event and optional undo configuration.
|
|
6081
|
+
* @returns The generated display configuration, or `undefined` if no config is registered for the given type.
|
|
6015
6082
|
*/
|
|
6016
6083
|
generateDisplayConfig(type, input) {
|
|
6017
6084
|
const configForType = this.eventTypeConfigs[type ?? 'none'];
|
|
@@ -6076,7 +6143,7 @@ class DbxActionSnackbarDirective {
|
|
|
6076
6143
|
const snackbarFunction = this.dbxActionSnackbar();
|
|
6077
6144
|
return snackbarFunction ? snackbarFunction(input) : this.dbxActionSnackbarService.generateDisplayConfig(this.dbxActionSnackbarDefault(), input);
|
|
6078
6145
|
}
|
|
6079
|
-
showSnackbarForConfiguration(config,
|
|
6146
|
+
showSnackbarForConfiguration(config, _event) {
|
|
6080
6147
|
this.dbxActionSnackbarService.openSnackbar(config);
|
|
6081
6148
|
}
|
|
6082
6149
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxActionSnackbarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -6274,18 +6341,16 @@ class DbxActionTransitionSafetyDirective {
|
|
|
6274
6341
|
_autoTrigger(transition) {
|
|
6275
6342
|
return this.source.pipeStore((store) => store.state$.pipe(delay(20), // Prevent racing with auto-trigger.
|
|
6276
6343
|
first(), mergeMap((state) => {
|
|
6277
|
-
if (isIdleActionState(state.actionState)
|
|
6278
|
-
|
|
6279
|
-
|
|
6280
|
-
store.trigger(); // Try and trigger it.
|
|
6281
|
-
}
|
|
6344
|
+
if (isIdleActionState(state.actionState) && // If we're in an idle state, get ready to trigger it.
|
|
6345
|
+
canTriggerAction(state)) {
|
|
6346
|
+
store.trigger(); // Try and trigger it.
|
|
6282
6347
|
}
|
|
6283
6348
|
// Watch for errors. If an error occurs, show the dialog.
|
|
6284
6349
|
// Success will cause the race in _handleOnBeforeTransition() to trigger and close everything.
|
|
6285
6350
|
return store.rejected$.pipe(first(), mergeMap(() => this._showDialog(transition)));
|
|
6286
6351
|
})));
|
|
6287
6352
|
}
|
|
6288
|
-
_showDialog(
|
|
6353
|
+
_showDialog(_transition) {
|
|
6289
6354
|
if (this.checkIsDestroyed()) {
|
|
6290
6355
|
return of(true);
|
|
6291
6356
|
}
|
|
@@ -6395,7 +6460,7 @@ class DbxActionKeyTriggerDirective {
|
|
|
6395
6460
|
source = inject((DbxActionContextStoreSourceInstance), { host: true });
|
|
6396
6461
|
key = input(DEFAULT_ACTION_KEY_TRIGGER, { ...(ngDevMode ? { debugName: "key" } : {}), alias: 'dbxActionKeyTrigger', transform: (x) => (x ?? DEFAULT_ACTION_KEY_TRIGGER).toLowerCase() });
|
|
6397
6462
|
onKeyupHandler(event) {
|
|
6398
|
-
if (event.key
|
|
6463
|
+
if (event.key?.toLowerCase() === this.key()) {
|
|
6399
6464
|
this.source.trigger();
|
|
6400
6465
|
}
|
|
6401
6466
|
}
|
|
@@ -6442,6 +6507,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6442
6507
|
* const pojoError = convertToPOJOServerErrorResponse(httpErrorResponse);
|
|
6443
6508
|
* console.log(pojoError.message);
|
|
6444
6509
|
* ```
|
|
6510
|
+
*
|
|
6511
|
+
* @param httpError - The HTTP error response or generic error object to convert.
|
|
6512
|
+
* @returns A plain JSON-serializable {@link ServerError} object.
|
|
6445
6513
|
*/
|
|
6446
6514
|
function convertToPOJOServerErrorResponse(httpError) {
|
|
6447
6515
|
const result = convertToServerErrorResponse(httpError);
|
|
@@ -6453,7 +6521,7 @@ function convertToPOJOServerErrorResponse(httpError) {
|
|
|
6453
6521
|
const stringy = JSON.stringify(pojo.data);
|
|
6454
6522
|
x.data = JSON.parse(stringy);
|
|
6455
6523
|
}
|
|
6456
|
-
catch
|
|
6524
|
+
catch {
|
|
6457
6525
|
console.warn('convertToPOJOServerErrorResponse(): Non-serializable Error Data Detected. It is being removed.: ', pojo.data);
|
|
6458
6526
|
x.data = undefined;
|
|
6459
6527
|
}
|
|
@@ -6475,12 +6543,17 @@ function convertToPOJOServerErrorResponse(httpError) {
|
|
|
6475
6543
|
* console.log(serverError.status, serverError.message);
|
|
6476
6544
|
* }
|
|
6477
6545
|
* ```
|
|
6546
|
+
*
|
|
6547
|
+
* @param error - The HTTP error response or generic error object to convert.
|
|
6548
|
+
* @returns A {@link ServerErrorResponse} derived from the error, or `undefined` if the input is falsy.
|
|
6478
6549
|
*/
|
|
6479
6550
|
function convertToServerErrorResponse(error) {
|
|
6480
6551
|
let result;
|
|
6481
6552
|
if (error instanceof HttpErrorResponse) {
|
|
6482
6553
|
const { status, error: data } = error;
|
|
6483
6554
|
const code = data.code;
|
|
6555
|
+
// statusText is deprecated with HTTP/2+ but still needed as a fallback for error messages
|
|
6556
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
6484
6557
|
const message = data.message ?? error.statusText;
|
|
6485
6558
|
switch (status) {
|
|
6486
6559
|
case 401:
|
|
@@ -6777,6 +6850,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
6777
6850
|
* const params = convertServerErrorParams(httpErrorResponse);
|
|
6778
6851
|
* store.dispatch(myErrorAction(params));
|
|
6779
6852
|
* ```
|
|
6853
|
+
*
|
|
6854
|
+
* @param httpError - The HTTP error response or generic error object to convert.
|
|
6855
|
+
* @returns A {@link ServerErrorParams} object wrapping the converted server error.
|
|
6780
6856
|
*/
|
|
6781
6857
|
function convertServerErrorParams(httpError) {
|
|
6782
6858
|
const error = convertToPOJOServerErrorResponse(httpError);
|
|
@@ -6794,6 +6870,10 @@ function convertServerErrorParams(httpError) {
|
|
|
6794
6870
|
* ))
|
|
6795
6871
|
* );
|
|
6796
6872
|
* ```
|
|
6873
|
+
*
|
|
6874
|
+
* @param action - The NgRx action creator to dispatch with the converted error params.
|
|
6875
|
+
* @param mapError - Optional function to transform the {@link ServerErrorParams} before dispatching. Defaults to identity.
|
|
6876
|
+
* @returns An RxJS operator that catches errors and emits the corresponding error action.
|
|
6797
6877
|
*/
|
|
6798
6878
|
function catchErrorServerParams(action, mapError = (error) => error) {
|
|
6799
6879
|
return catchError((error) => {
|
|
@@ -6833,31 +6913,56 @@ var index$1 = /*#__PURE__*/Object.freeze({
|
|
|
6833
6913
|
/**
|
|
6834
6914
|
* NgRx feature key for the model module configuration state slice.
|
|
6835
6915
|
*/
|
|
6836
|
-
const
|
|
6916
|
+
const STATE_FEATURE_KEY = 'model.module.config';
|
|
6837
6917
|
/**
|
|
6838
6918
|
* Initial state for the model module configuration reducer.
|
|
6839
6919
|
*/
|
|
6840
|
-
const
|
|
6920
|
+
const INITIAL_STATE$1 = {
|
|
6841
6921
|
types: {}
|
|
6842
6922
|
};
|
|
6843
6923
|
/**
|
|
6844
6924
|
* NgRx reducer for model module configuration. Resets to initial state on {@link DbxModelStateActions.dbxModelResetState}.
|
|
6845
6925
|
*/
|
|
6846
|
-
const reducer = createReducer(
|
|
6926
|
+
const reducer = createReducer(INITIAL_STATE$1, on(dbxModelResetState, () => INITIAL_STATE$1));
|
|
6927
|
+
// COMPAT: Deprecated aliases
|
|
6928
|
+
/**
|
|
6929
|
+
* @deprecated use STATE_FEATURE_KEY instead.
|
|
6930
|
+
*/
|
|
6931
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
6932
|
+
const stateFeatureKey = STATE_FEATURE_KEY;
|
|
6933
|
+
/**
|
|
6934
|
+
* @deprecated use INITIAL_STATE instead.
|
|
6935
|
+
*/
|
|
6936
|
+
const initialState = INITIAL_STATE$1;
|
|
6847
6937
|
|
|
6848
|
-
const
|
|
6938
|
+
const FEATURE_KEY = 'app.model';
|
|
6939
|
+
/**
|
|
6940
|
+
* Combined reducer for the DbxModel NgRx feature state, delegating to sub-reducers for each state slice.
|
|
6941
|
+
*
|
|
6942
|
+
* @param state The current DbxModel feature state, or undefined for initial state
|
|
6943
|
+
* @param action The NgRx action to process
|
|
6944
|
+
* @returns The new DbxModelState produced by the combined sub-reducers
|
|
6945
|
+
*/
|
|
6849
6946
|
function reducers(state, action) {
|
|
6850
6947
|
return combineReducers({
|
|
6851
|
-
[
|
|
6948
|
+
[STATE_FEATURE_KEY]: reducer
|
|
6852
6949
|
})(state, action);
|
|
6853
6950
|
}
|
|
6854
6951
|
// MARK: Context
|
|
6855
|
-
|
|
6952
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
6953
|
+
const selectDbxModelFeature = createFeatureSelector(FEATURE_KEY);
|
|
6856
6954
|
// MARK: Module Config
|
|
6857
|
-
const selectDbxModelFeatureObjectModuleConfig = createSelector(selectDbxModelFeature, (state) => state[
|
|
6955
|
+
const selectDbxModelFeatureObjectModuleConfig = createSelector(selectDbxModelFeature, (state) => state[STATE_FEATURE_KEY]);
|
|
6956
|
+
// COMPAT: Deprecated aliases
|
|
6957
|
+
/**
|
|
6958
|
+
* @deprecated use FEATURE_KEY instead.
|
|
6959
|
+
*/
|
|
6960
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
6961
|
+
const featureKey = FEATURE_KEY;
|
|
6858
6962
|
|
|
6859
6963
|
var index = /*#__PURE__*/Object.freeze({
|
|
6860
6964
|
__proto__: null,
|
|
6965
|
+
FEATURE_KEY: FEATURE_KEY,
|
|
6861
6966
|
featureKey: featureKey,
|
|
6862
6967
|
reducers: reducers,
|
|
6863
6968
|
selectDbxModelFeature: selectDbxModelFeature,
|
|
@@ -6912,6 +7017,7 @@ class DbxModelViewTrackerStorage {
|
|
|
6912
7017
|
* Returns all stored view events for the given folder.
|
|
6913
7018
|
*
|
|
6914
7019
|
* @param folder - Optional folder name; defaults to `'default'`
|
|
7020
|
+
* @returns Observable of all view tracker events in the folder
|
|
6915
7021
|
*/
|
|
6916
7022
|
getAllEvents(folder) {
|
|
6917
7023
|
return this.getEventSet(folder).pipe(map((x) => x.e));
|
|
@@ -6920,13 +7026,14 @@ class DbxModelViewTrackerStorage {
|
|
|
6920
7026
|
* Returns the complete event set for the given folder.
|
|
6921
7027
|
*
|
|
6922
7028
|
* @param folder - Optional folder name; defaults to `'default'`
|
|
7029
|
+
* @returns Observable of the event set containing events and the last-update timestamp
|
|
6923
7030
|
*/
|
|
6924
7031
|
getEventSet(folder) {
|
|
6925
7032
|
const storageKey = this.getStorageKeyForFolder(folder);
|
|
6926
7033
|
return this._getEventSetForStorageKey(storageKey);
|
|
6927
7034
|
}
|
|
6928
7035
|
_getEventSetForStorageKey(storageKey) {
|
|
6929
|
-
return this.storageAccessor.get(storageKey).pipe(catchError((
|
|
7036
|
+
return this.storageAccessor.get(storageKey).pipe(catchError(() => {
|
|
6930
7037
|
return of(undefined);
|
|
6931
7038
|
}), map((result) => result ?? { e: [], l: 0 }));
|
|
6932
7039
|
}
|
|
@@ -6934,10 +7041,10 @@ class DbxModelViewTrackerStorage {
|
|
|
6934
7041
|
* Computes the storage key for a given folder name.
|
|
6935
7042
|
*
|
|
6936
7043
|
* @param folder - Optional folder name; defaults to `'default'`
|
|
7044
|
+
* @returns The computed storage key string combining the base key and folder name
|
|
6937
7045
|
*/
|
|
6938
7046
|
getStorageKeyForFolder(folder) {
|
|
6939
|
-
|
|
6940
|
-
return storageKey;
|
|
7047
|
+
return `${this.storageKey}_${folder ?? 'default'}`;
|
|
6941
7048
|
}
|
|
6942
7049
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxModelViewTrackerStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6943
7050
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxModelViewTrackerStorage });
|
|
@@ -6958,6 +7065,8 @@ class DbxModelTrackerService {
|
|
|
6958
7065
|
newEvent$ = this._viewTrackerStorage.newEvent$;
|
|
6959
7066
|
/**
|
|
6960
7067
|
* The default storage folder used when no folder is specified in tracking calls.
|
|
7068
|
+
*
|
|
7069
|
+
* @returns The current default folder name, or undefined if not set
|
|
6961
7070
|
*/
|
|
6962
7071
|
get defaultFolder() {
|
|
6963
7072
|
return this._defaultFolder;
|
|
@@ -6987,6 +7096,7 @@ class DbxModelTrackerService {
|
|
|
6987
7096
|
* Returns all recorded view events for the given folder, sorted by most recent first.
|
|
6988
7097
|
*
|
|
6989
7098
|
* @param folder - Storage folder; defaults to {@link defaultFolder}
|
|
7099
|
+
* @returns Observable of view events sorted by most recent first
|
|
6990
7100
|
*/
|
|
6991
7101
|
getAllViewEvents(folder = this._defaultFolder) {
|
|
6992
7102
|
return this._viewTrackerStorage.getAllEvents(folder);
|
|
@@ -6995,6 +7105,7 @@ class DbxModelTrackerService {
|
|
|
6995
7105
|
* Returns the complete event set (events and last-update timestamp) for the given folder.
|
|
6996
7106
|
*
|
|
6997
7107
|
* @param folder - Storage folder; defaults to {@link defaultFolder}
|
|
7108
|
+
* @returns Observable of the complete event set including events and last-update timestamp
|
|
6998
7109
|
*/
|
|
6999
7110
|
getViewEventSet(folder = this._defaultFolder) {
|
|
7000
7111
|
return this._viewTrackerStorage.getEventSet(folder);
|
|
@@ -7032,6 +7143,10 @@ class DbxModelObjectStateService {
|
|
|
7032
7143
|
store = inject((Store));
|
|
7033
7144
|
/**
|
|
7034
7145
|
* Emit a model viewed event.
|
|
7146
|
+
*
|
|
7147
|
+
* @param params - The model viewed event parameters
|
|
7148
|
+
* @param params.modelKeyTypeNamePair - Identifies the model that was viewed
|
|
7149
|
+
* @param params.context - Optional context describing how the model was viewed
|
|
7035
7150
|
*/
|
|
7036
7151
|
emitModelViewEvent({ modelKeyTypeNamePair, context }) {
|
|
7037
7152
|
this.store.dispatch(emitObjectViewEvent({ modelKeyTypeNamePair, context }));
|
|
@@ -7050,12 +7165,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
7050
7165
|
* ```typescript
|
|
7051
7166
|
* const accessor = defaultDbxModelViewTrackerStorageAccessorFactory(storageAccessorFactory);
|
|
7052
7167
|
* ```
|
|
7168
|
+
*
|
|
7169
|
+
* @param storageAccessorFactory - The factory used to create typed storage accessors
|
|
7170
|
+
* @returns A storage accessor configured with the `mtvs` prefix for model view tracker events
|
|
7053
7171
|
*/
|
|
7054
7172
|
function defaultDbxModelViewTrackerStorageAccessorFactory(storageAccessorFactory) {
|
|
7055
|
-
|
|
7173
|
+
return storageAccessorFactory.createStorageAccessor({
|
|
7056
7174
|
prefix: 'mtvs'
|
|
7057
7175
|
});
|
|
7058
|
-
return accessor;
|
|
7059
7176
|
}
|
|
7060
7177
|
/**
|
|
7061
7178
|
* Creates EnvironmentProviders for providing DbxModelTrackerService, DbxModelObjectStateService and sets up the NgRx store for DbxModelTrackerEffects.
|
|
@@ -7076,7 +7193,7 @@ function provideDbxModelService() {
|
|
|
7076
7193
|
DbxModelObjectStateService,
|
|
7077
7194
|
// NgRx
|
|
7078
7195
|
provideEffects([DbxModelTrackerEffects]),
|
|
7079
|
-
provideState(
|
|
7196
|
+
provideState(FEATURE_KEY, reducers)
|
|
7080
7197
|
];
|
|
7081
7198
|
return makeEnvironmentProviders(providers);
|
|
7082
7199
|
}
|
|
@@ -7088,6 +7205,9 @@ function provideDbxModelService() {
|
|
|
7088
7205
|
* ```typescript
|
|
7089
7206
|
* const keys = allDbxModelViewTrackerEventSetModelKeys(eventSet);
|
|
7090
7207
|
* ```
|
|
7208
|
+
*
|
|
7209
|
+
* @param eventSet - The event set from which to extract model keys
|
|
7210
|
+
* @returns Array of model keys from all events in the set
|
|
7091
7211
|
*/
|
|
7092
7212
|
function allDbxModelViewTrackerEventSetModelKeys(eventSet) {
|
|
7093
7213
|
return allDbxModelViewTrackerEventModelKeys(eventSet.e);
|
|
@@ -7099,6 +7219,9 @@ function allDbxModelViewTrackerEventSetModelKeys(eventSet) {
|
|
|
7099
7219
|
* ```typescript
|
|
7100
7220
|
* const keys = allDbxModelViewTrackerEventModelKeys(events);
|
|
7101
7221
|
* ```
|
|
7222
|
+
*
|
|
7223
|
+
* @param events - Array of view tracker events from which to extract model keys
|
|
7224
|
+
* @returns Array of model keys, one per event
|
|
7102
7225
|
*/
|
|
7103
7226
|
function allDbxModelViewTrackerEventModelKeys(events) {
|
|
7104
7227
|
return events.map((y) => y.m.key);
|
|
@@ -7179,6 +7302,7 @@ class DbxModelTypesService {
|
|
|
7179
7302
|
* Returns an observable of the Material icon name for the given model type.
|
|
7180
7303
|
*
|
|
7181
7304
|
* @param type - The model type string to look up
|
|
7305
|
+
* @returns Observable emitting the icon name for the given model type
|
|
7182
7306
|
*/
|
|
7183
7307
|
iconForType(type) {
|
|
7184
7308
|
return this.iconMap$.pipe(map((x) => x[type]));
|
|
@@ -7557,6 +7681,9 @@ const DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN = new InjectionToken('DefaultDb
|
|
|
7557
7681
|
/**
|
|
7558
7682
|
* Creates a provider that registers the given entries with the {@link DbxWebFilePreviewService} via the {@link DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN}.
|
|
7559
7683
|
*
|
|
7684
|
+
* @param entries - Array of preview service entries to register, each mapping a MIME type to its preview component
|
|
7685
|
+
* @returns A provider configuration that supplies the entries via the injection token
|
|
7686
|
+
*
|
|
7560
7687
|
* @example
|
|
7561
7688
|
* ```typescript
|
|
7562
7689
|
* provideDbxWebFilePreviewServiceEntries([DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY]);
|
|
@@ -7569,11 +7696,11 @@ function provideDbxWebFilePreviewServiceEntries(entries) {
|
|
|
7569
7696
|
};
|
|
7570
7697
|
}
|
|
7571
7698
|
// MARK: Default Functions
|
|
7572
|
-
/**
|
|
7573
|
-
* Default preset for previewing a file using a DbxEmbedDialogComponent.
|
|
7574
|
-
*/
|
|
7575
7699
|
/**
|
|
7576
7700
|
* Default preview component function that embeds files using {@link DbxEmbedComponent}. Images are rendered with an `img` element; all other types use `embed`.
|
|
7701
|
+
*
|
|
7702
|
+
* @param input - The preview input containing blob data, source URL, and MIME type information
|
|
7703
|
+
* @returns An injection component config that initializes a {@link DbxEmbedComponent} with the appropriate embed element and content
|
|
7577
7704
|
*/
|
|
7578
7705
|
const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION = (input) => {
|
|
7579
7706
|
const { blob, srcUrl, embedMimeType, sanitizeSrcUrl } = input;
|
|
@@ -7601,6 +7728,9 @@ const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION = (input)
|
|
|
7601
7728
|
};
|
|
7602
7729
|
/**
|
|
7603
7730
|
* Default dialog-with-component function that opens the preview component inside a {@link DbxInjectionDialogComponent} with a close button.
|
|
7731
|
+
*
|
|
7732
|
+
* @param input - The dialog input containing the MatDialog instance and the component config to display
|
|
7733
|
+
* @returns A MatDialogRef for the opened injection dialog
|
|
7604
7734
|
*/
|
|
7605
7735
|
const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION = (input) => {
|
|
7606
7736
|
const { matDialog, componentConfig } = input;
|
|
@@ -7616,7 +7746,8 @@ const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION = (inp
|
|
|
7616
7746
|
class DbxWebFilePreviewService {
|
|
7617
7747
|
matDialog = inject(MatDialog);
|
|
7618
7748
|
_entries = new Map();
|
|
7619
|
-
constructor(
|
|
7749
|
+
constructor() {
|
|
7750
|
+
const entries = inject(DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, { optional: true });
|
|
7620
7751
|
if (entries) {
|
|
7621
7752
|
entries.forEach((x) => this.registerPreviewEntry(x));
|
|
7622
7753
|
}
|
|
@@ -7642,12 +7773,16 @@ class DbxWebFilePreviewService {
|
|
|
7642
7773
|
}
|
|
7643
7774
|
/**
|
|
7644
7775
|
* Overrides the default preview component function used when no MIME-specific entry is registered.
|
|
7776
|
+
*
|
|
7777
|
+
* @param previewFunction - The preview component function to use as the new default
|
|
7645
7778
|
*/
|
|
7646
7779
|
setDefaultPreviewComponentFunction(previewFunction) {
|
|
7647
7780
|
this._defaultPreviewComponentFunction = previewFunction;
|
|
7648
7781
|
}
|
|
7649
7782
|
/**
|
|
7650
7783
|
* Overrides the default dialog-with-component function used when no MIME-specific dialog handler is registered.
|
|
7784
|
+
*
|
|
7785
|
+
* @param previewDialogWithComponentFunction - The dialog-with-component function to use as the new default
|
|
7651
7786
|
*/
|
|
7652
7787
|
setDefaultPreviewDialogWithComponentFunction(previewDialogWithComponentFunction) {
|
|
7653
7788
|
this._defaultPreviewDialogWithComponentFunction = previewDialogWithComponentFunction;
|
|
@@ -7657,6 +7792,7 @@ class DbxWebFilePreviewService {
|
|
|
7657
7792
|
* Creates an injection component config for previewing a file. Uses a MIME-specific preview function if registered, otherwise falls back to the default.
|
|
7658
7793
|
*
|
|
7659
7794
|
* @param input - The preview input containing blob, URL, and MIME type information
|
|
7795
|
+
* @returns An injection component config suitable for rendering the file preview
|
|
7660
7796
|
*/
|
|
7661
7797
|
createPreviewConfig(input) {
|
|
7662
7798
|
const { embedMimeType } = input;
|
|
@@ -7689,7 +7825,7 @@ class DbxWebFilePreviewService {
|
|
|
7689
7825
|
}
|
|
7690
7826
|
return matDialogRef;
|
|
7691
7827
|
}
|
|
7692
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewService, deps: [
|
|
7828
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7693
7829
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewService, providedIn: 'root' });
|
|
7694
7830
|
}
|
|
7695
7831
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewService, decorators: [{
|
|
@@ -7697,12 +7833,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
7697
7833
|
args: [{
|
|
7698
7834
|
providedIn: 'root'
|
|
7699
7835
|
}]
|
|
7700
|
-
}], ctorParameters: () => [
|
|
7701
|
-
type: Optional
|
|
7702
|
-
}, {
|
|
7703
|
-
type: Inject,
|
|
7704
|
-
args: [DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN]
|
|
7705
|
-
}] }] });
|
|
7836
|
+
}], ctorParameters: () => [] });
|
|
7706
7837
|
|
|
7707
7838
|
/**
|
|
7708
7839
|
* Previews a file by delegating to the {@link DbxWebFilePreviewService} to resolve the appropriate preview component for the given MIME type.
|
|
@@ -7717,6 +7848,7 @@ class DbxWebFilePreviewComponent {
|
|
|
7717
7848
|
config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
|
|
7718
7849
|
componentConfigSignal = computed(() => {
|
|
7719
7850
|
const config = this.config();
|
|
7851
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- any required for contravariant init callback compatibility
|
|
7720
7852
|
let componentConfig;
|
|
7721
7853
|
if (config) {
|
|
7722
7854
|
componentConfig = this.webFilePreviewService.createPreviewConfig(config);
|
|
@@ -7726,7 +7858,7 @@ class DbxWebFilePreviewComponent {
|
|
|
7726
7858
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7727
7859
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: DbxWebFilePreviewComponent, isStandalone: true, selector: "dbx-web-file-preview", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
7728
7860
|
<dbx-injection [config]="componentConfigSignal()"></dbx-injection>
|
|
7729
|
-
`, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
|
|
7861
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7730
7862
|
}
|
|
7731
7863
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewComponent, decorators: [{
|
|
7732
7864
|
type: Component,
|
|
@@ -7736,6 +7868,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
7736
7868
|
<dbx-injection [config]="componentConfigSignal()"></dbx-injection>
|
|
7737
7869
|
`,
|
|
7738
7870
|
standalone: true,
|
|
7871
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7739
7872
|
imports: [DbxInjectionComponent]
|
|
7740
7873
|
}]
|
|
7741
7874
|
}], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }] } });
|
|
@@ -7743,6 +7876,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
7743
7876
|
/**
|
|
7744
7877
|
* Builds a directory tree from an array of zip archive entries, enriching each node with MIME type detection and blob retrieval capability.
|
|
7745
7878
|
*
|
|
7879
|
+
* @param entries - Array of zip archive entries to build the tree from, or null/undefined for an empty tree
|
|
7880
|
+
* @returns The root node of the constructed directory tree with MIME types and blob getters attached
|
|
7881
|
+
*
|
|
7746
7882
|
* @example
|
|
7747
7883
|
* ```typescript
|
|
7748
7884
|
* const root = dbxZipBlobPreviewEntryTreeFromEntries(zipEntries);
|
|
@@ -7784,12 +7920,19 @@ const SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP = {
|
|
|
7784
7920
|
* screenMediaWidthTypeIsActive('tablet', 'small'); // true
|
|
7785
7921
|
* screenMediaWidthTypeIsActive('micro', 'tablet'); // false
|
|
7786
7922
|
* ```
|
|
7923
|
+
*
|
|
7924
|
+
* @returns `true` if the current width type meets or exceeds the breakpoint
|
|
7787
7925
|
*/
|
|
7788
7926
|
function screenMediaWidthTypeIsActive(current, breakpoint) {
|
|
7789
7927
|
return compareScreenMediaWidthTypes(current, breakpoint, (a, b) => a >= b);
|
|
7790
7928
|
}
|
|
7791
7929
|
/**
|
|
7792
7930
|
* Compares two {@link ScreenMediaWidthType} values using a custom comparator on their numeric sizes.
|
|
7931
|
+
*
|
|
7932
|
+
* @param a - the first screen width type
|
|
7933
|
+
* @param b - the second screen width type
|
|
7934
|
+
* @param compare - a comparator function applied to the numeric size values of `a` and `b`
|
|
7935
|
+
* @returns the result of applying the comparator to the mapped numeric sizes
|
|
7793
7936
|
*/
|
|
7794
7937
|
function compareScreenMediaWidthTypes(a, b, compare) {
|
|
7795
7938
|
return compare(SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[a], SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[b]);
|
|
@@ -7836,8 +7979,8 @@ class DbxScreenMediaService {
|
|
|
7836
7979
|
_updateHeight = new Subject();
|
|
7837
7980
|
widthType$ = this._updateWidth.pipe(initialize(() => this._updateWidth.next()), throttleTime(100, undefined, { leading: true, trailing: true }), map(() => this._readWidthType()), distinctUntilChanged(), shareReplay(1));
|
|
7838
7981
|
heightType$ = this._updateWidth.pipe(initialize(() => this._updateHeight.next()), throttleTime(100, undefined, { leading: true, trailing: true }), map(() => this._readHeightType()), distinctUntilChanged(), shareReplay(1));
|
|
7839
|
-
constructor(
|
|
7840
|
-
const { microScreenWidthMax, smallScreenWidthMax, tabletScreenWidthMax, largeScreenWidthMax } =
|
|
7982
|
+
constructor() {
|
|
7983
|
+
const { microScreenWidthMax, smallScreenWidthMax, tabletScreenWidthMax, largeScreenWidthMax } = inject(DbxScreenMediaServiceConfig);
|
|
7841
7984
|
this._microQuery = this._media.matchMedia(`screen and (max-width:${microScreenWidthMax}px)`);
|
|
7842
7985
|
this._smallQuery = this._media.matchMedia(`screen and (max-width:${smallScreenWidthMax}px)`);
|
|
7843
7986
|
this._tabletQuery = this._media.matchMedia(`screen and (max-width:${tabletScreenWidthMax}px)`);
|
|
@@ -7895,15 +8038,12 @@ class DbxScreenMediaService {
|
|
|
7895
8038
|
return 'normal';
|
|
7896
8039
|
}
|
|
7897
8040
|
}
|
|
7898
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService, deps: [
|
|
8041
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7899
8042
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService });
|
|
7900
8043
|
}
|
|
7901
8044
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService, decorators: [{
|
|
7902
8045
|
type: Injectable
|
|
7903
|
-
}], ctorParameters: () => [
|
|
7904
|
-
type: Inject,
|
|
7905
|
-
args: [DbxScreenMediaServiceConfig]
|
|
7906
|
-
}] }] });
|
|
8046
|
+
}], ctorParameters: () => [] });
|
|
7907
8047
|
|
|
7908
8048
|
/**
|
|
7909
8049
|
* Calculates and applies a dynamic height to a Material expansion panel header based on text content.
|
|
@@ -8047,8 +8187,7 @@ class DbxAvatarViewComponent {
|
|
|
8047
8187
|
avatarIcon = input(...(ngDevMode ? [undefined, { debugName: "avatarIcon" }] : []));
|
|
8048
8188
|
avatarHideOnError = input(...(ngDevMode ? [undefined, { debugName: "avatarHideOnError" }] : []));
|
|
8049
8189
|
avatarHideOnErrorSignal = computed(() => {
|
|
8050
|
-
|
|
8051
|
-
return hideOnError;
|
|
8190
|
+
return this.avatarHideOnError() ?? this.defaultContext?.hideOnError ?? false;
|
|
8052
8191
|
}, ...(ngDevMode ? [{ debugName: "avatarHideOnErrorSignal" }] : []));
|
|
8053
8192
|
currentAvatarUrlSignal = computed(() => {
|
|
8054
8193
|
const directUrl = this.avatarUrl();
|
|
@@ -8184,6 +8323,9 @@ class DbxAvatarViewService {
|
|
|
8184
8323
|
* Resolves the injection component configuration for the given avatar context.
|
|
8185
8324
|
*
|
|
8186
8325
|
* Falls back to the default component config if no custom resolver is configured or if it returns null.
|
|
8326
|
+
*
|
|
8327
|
+
* @param context - the avatar context used to resolve the appropriate component configuration
|
|
8328
|
+
* @returns the resolved injection component config, or the default if no custom resolver matches
|
|
8187
8329
|
*/
|
|
8188
8330
|
avatarComponentForContext(context) {
|
|
8189
8331
|
let config = this._defaultAvatarComponentConfig;
|
|
@@ -8201,19 +8343,35 @@ class DbxAvatarViewService {
|
|
|
8201
8343
|
get defaultAvatarErrorIcon() {
|
|
8202
8344
|
return this._defaultAvatarErrorIcon;
|
|
8203
8345
|
}
|
|
8204
|
-
/**
|
|
8346
|
+
/**
|
|
8347
|
+
* Sets the default avatar image URL used when no context-specific URL is provided.
|
|
8348
|
+
*
|
|
8349
|
+
* @param url - the URL to use as the default avatar image, or nullish to clear
|
|
8350
|
+
*/
|
|
8205
8351
|
setDefaultAvatarUrl(url) {
|
|
8206
8352
|
this._defaultAvatarUrl = url;
|
|
8207
8353
|
}
|
|
8208
|
-
/**
|
|
8354
|
+
/**
|
|
8355
|
+
* Sets the default Material icon name used as a fallback when no avatar image is available.
|
|
8356
|
+
*
|
|
8357
|
+
* @param icon - the Material icon name to use, or nullish to clear
|
|
8358
|
+
*/
|
|
8209
8359
|
setDefaultAvatarIcon(icon) {
|
|
8210
8360
|
this._defaultAvatarIcon = icon;
|
|
8211
8361
|
}
|
|
8212
|
-
/**
|
|
8362
|
+
/**
|
|
8363
|
+
* Sets the Material icon name displayed when the avatar image fails to load.
|
|
8364
|
+
*
|
|
8365
|
+
* @param icon - the Material icon name to display on image load error, or nullish to clear
|
|
8366
|
+
*/
|
|
8213
8367
|
setDefaultAvatarErrorIcon(icon) {
|
|
8214
8368
|
this._defaultAvatarErrorIcon = icon;
|
|
8215
8369
|
}
|
|
8216
|
-
/**
|
|
8370
|
+
/**
|
|
8371
|
+
* Overrides the default component used to render avatars when no context-specific component is resolved.
|
|
8372
|
+
*
|
|
8373
|
+
* @param config - the injection component config to use as the new default
|
|
8374
|
+
*/
|
|
8217
8375
|
setDefaultAvatarComponentConfig(config) {
|
|
8218
8376
|
this._defaultAvatarComponentConfig = config;
|
|
8219
8377
|
}
|
|
@@ -8264,7 +8422,7 @@ class DbxAvatarComponent {
|
|
|
8264
8422
|
const icon = this.avatarIcon() ?? inputContext?.icon;
|
|
8265
8423
|
const style = this.avatarStyle() ?? inputContext?.style;
|
|
8266
8424
|
const hideOnError = this.avatarHideOnError() ?? inputContext?.hideOnError;
|
|
8267
|
-
|
|
8425
|
+
return {
|
|
8268
8426
|
selector,
|
|
8269
8427
|
uid,
|
|
8270
8428
|
url,
|
|
@@ -8273,7 +8431,6 @@ class DbxAvatarComponent {
|
|
|
8273
8431
|
style,
|
|
8274
8432
|
hideOnError
|
|
8275
8433
|
};
|
|
8276
|
-
return context;
|
|
8277
8434
|
}, ...(ngDevMode ? [{ debugName: "contextSignal" }] : []));
|
|
8278
8435
|
configSignal = computed(() => {
|
|
8279
8436
|
const context = this.contextSignal();
|
|
@@ -8667,8 +8824,7 @@ class TwoColumnsContextStore extends ComponentStore {
|
|
|
8667
8824
|
* The right side is less-than or equal to half the total width when resizing, so we can use the total width to guess the best case current scenario.
|
|
8668
8825
|
*/
|
|
8669
8826
|
const expectedRightWidth = (x.totalWidth ?? 0) / 2;
|
|
8670
|
-
|
|
8671
|
-
return hideLeft;
|
|
8827
|
+
return x.showRight && expectedRightWidth < x.minRightWidth;
|
|
8672
8828
|
}));
|
|
8673
8829
|
/**
|
|
8674
8830
|
* Pipes the current state of reverseSizing.
|
|
@@ -8765,6 +8921,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
8765
8921
|
* })
|
|
8766
8922
|
* export class MyColumnLayoutComponent { }
|
|
8767
8923
|
* ```
|
|
8924
|
+
*
|
|
8925
|
+
* @returns an array of Angular providers that supply a new {@link TwoColumnsContextStore}
|
|
8768
8926
|
*/
|
|
8769
8927
|
function provideTwoColumnsContext() {
|
|
8770
8928
|
return [
|
|
@@ -8826,7 +8984,7 @@ class DbxTwoColumnComponent {
|
|
|
8826
8984
|
this.twoColumnsContextStore.setHasRight(true);
|
|
8827
8985
|
}
|
|
8828
8986
|
}, ...(ngDevMode ? [{ debugName: "_hasRightContentEffect" }] : []));
|
|
8829
|
-
viewResized(
|
|
8987
|
+
viewResized(_event) {
|
|
8830
8988
|
const totalWidth = this._elementRef.nativeElement.clientWidth;
|
|
8831
8989
|
this.twoColumnsContextStore.setTotalWidth(totalWidth);
|
|
8832
8990
|
}
|
|
@@ -9149,7 +9307,7 @@ class DbxAnchorIconComponent {
|
|
|
9149
9307
|
<mat-icon>{{ anchor()?.icon }}</mat-icon>
|
|
9150
9308
|
</button>
|
|
9151
9309
|
</dbx-anchor>
|
|
9152
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }] });
|
|
9310
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9153
9311
|
}
|
|
9154
9312
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxAnchorIconComponent, decorators: [{
|
|
9155
9313
|
type: Component,
|
|
@@ -9157,6 +9315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
9157
9315
|
selector: 'dbx-anchor-icon',
|
|
9158
9316
|
standalone: true,
|
|
9159
9317
|
imports: [MatIconModule, MatButtonModule, DbxAnchorComponent],
|
|
9318
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
9160
9319
|
template: `
|
|
9161
9320
|
<dbx-anchor [anchor]="anchor()">
|
|
9162
9321
|
<button mat-icon-button>
|
|
@@ -9240,6 +9399,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
9240
9399
|
*/
|
|
9241
9400
|
class DbxAnchorContentComponent {
|
|
9242
9401
|
parent = inject(DbxAnchorComponent, { optional: true });
|
|
9402
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
9243
9403
|
inputAnchor = input(undefined, { ...(ngDevMode ? { debugName: "inputAnchor" } : {}), alias: 'anchor' });
|
|
9244
9404
|
_inputAnchor = toObservable(this.inputAnchor);
|
|
9245
9405
|
_parentAnchor = this.parent ? this.parent.anchor$ : of(undefined);
|
|
@@ -9255,7 +9415,7 @@ class DbxAnchorContentComponent {
|
|
|
9255
9415
|
@if (titleSignal()) {
|
|
9256
9416
|
<span>{{ titleSignal() }}</span>
|
|
9257
9417
|
}
|
|
9258
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
9418
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9259
9419
|
}
|
|
9260
9420
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxAnchorContentComponent, decorators: [{
|
|
9261
9421
|
type: Component,
|
|
@@ -9271,6 +9431,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
9271
9431
|
<span>{{ titleSignal() }}</span>
|
|
9272
9432
|
}
|
|
9273
9433
|
`,
|
|
9434
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
9274
9435
|
host: {
|
|
9275
9436
|
class: 'dbx-anchor-content'
|
|
9276
9437
|
}
|
|
@@ -9338,6 +9499,9 @@ class DbxValueListItemModifier {
|
|
|
9338
9499
|
* })
|
|
9339
9500
|
* export class MyModifierDirective extends DbxValueListItemModifier<MyItem> { ... }
|
|
9340
9501
|
* ```
|
|
9502
|
+
*
|
|
9503
|
+
* @param sourceType - the directive class to register as the DbxValueListItemModifier provider
|
|
9504
|
+
* @returns an array of Angular providers that wire up the directive as a DbxValueListItemModifier
|
|
9341
9505
|
*/
|
|
9342
9506
|
function provideDbxValueListViewModifier(sourceType) {
|
|
9343
9507
|
return [
|
|
@@ -9356,6 +9520,10 @@ function provideDbxValueListViewModifier(sourceType) {
|
|
|
9356
9520
|
* item.selected = item.itemValue.isImportant;
|
|
9357
9521
|
* });
|
|
9358
9522
|
* ```
|
|
9523
|
+
*
|
|
9524
|
+
* @param key - a unique string identifier for this modifier in the modifier map
|
|
9525
|
+
* @param modify - the function that mutates list item properties during rendering
|
|
9526
|
+
* @returns a new ListItemModifier with the given key and modification function
|
|
9359
9527
|
*/
|
|
9360
9528
|
function listItemModifier(key, modify) {
|
|
9361
9529
|
return modifier(key, modify);
|
|
@@ -9609,6 +9777,8 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
|
|
|
9609
9777
|
case 'full':
|
|
9610
9778
|
mode = SideNavDisplayMode.FULL;
|
|
9611
9779
|
break;
|
|
9780
|
+
default:
|
|
9781
|
+
break;
|
|
9612
9782
|
}
|
|
9613
9783
|
return mode;
|
|
9614
9784
|
}), distinctUntilChanged(), shareReplay(1));
|
|
@@ -9628,6 +9798,8 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
|
|
|
9628
9798
|
drawer = 'side';
|
|
9629
9799
|
open = true; // always show
|
|
9630
9800
|
break;
|
|
9801
|
+
default:
|
|
9802
|
+
break;
|
|
9631
9803
|
}
|
|
9632
9804
|
return {
|
|
9633
9805
|
mode,
|
|
@@ -9667,6 +9839,8 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
|
|
|
9667
9839
|
case SideNavDisplayMode.FULL:
|
|
9668
9840
|
// Do nothing. Should be always open.
|
|
9669
9841
|
break;
|
|
9842
|
+
default:
|
|
9843
|
+
break;
|
|
9670
9844
|
}
|
|
9671
9845
|
}
|
|
9672
9846
|
else {
|
|
@@ -9674,10 +9848,10 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
|
|
|
9674
9848
|
}
|
|
9675
9849
|
if (open != null) {
|
|
9676
9850
|
if (open) {
|
|
9677
|
-
this.sidenav().open();
|
|
9851
|
+
void this.sidenav().open();
|
|
9678
9852
|
}
|
|
9679
9853
|
else {
|
|
9680
|
-
this.sidenav().close();
|
|
9854
|
+
void this.sidenav().close();
|
|
9681
9855
|
}
|
|
9682
9856
|
}
|
|
9683
9857
|
}
|
|
@@ -9961,11 +10135,11 @@ class DbxAngularRouterSegueAnchorComponent extends AbstractDbxSegueAnchorDirecti
|
|
|
9961
10135
|
disabledSignal: this.anchorDisabledSignal
|
|
9962
10136
|
});
|
|
9963
10137
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxAngularRouterSegueAnchorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
9964
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: DbxAngularRouterSegueAnchorComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "anchorElement", first: true, predicate: ["anchor"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "injectionElement", first: true, predicate: ["injection"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<a class=\"dbx-anchor-a\" #anchor [attr.target]=\"targetSignal()\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
|
|
10138
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: DbxAngularRouterSegueAnchorComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "anchorElement", first: true, predicate: ["anchor"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "injectionElement", first: true, predicate: ["injection"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<a class=\"dbx-anchor-a\" #anchor [attr.target]=\"targetSignal()\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9965
10139
|
}
|
|
9966
10140
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxAngularRouterSegueAnchorComponent, decorators: [{
|
|
9967
10141
|
type: Component,
|
|
9968
|
-
args: [{ imports: [DbxInjectionComponent], standalone: true, template: "<a class=\"dbx-anchor-a\" #anchor [attr.target]=\"targetSignal()\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n" }]
|
|
10142
|
+
args: [{ imports: [DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<a class=\"dbx-anchor-a\" #anchor [attr.target]=\"targetSignal()\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n" }]
|
|
9969
10143
|
}], propDecorators: { anchorElement: [{ type: i0.ViewChild, args: ['anchor', { ...{ read: ElementRef }, isSignal: true }] }], injectionElement: [{ type: i0.ViewChild, args: ['injection', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
9970
10144
|
|
|
9971
10145
|
/**
|
|
@@ -9977,6 +10151,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
9977
10151
|
* providers: [provideDbxRouterWebAngularRouterProviderConfig()]
|
|
9978
10152
|
* });
|
|
9979
10153
|
* ```
|
|
10154
|
+
*
|
|
10155
|
+
* @returns environment providers that configure the Angular Router-based segue anchor component
|
|
9980
10156
|
*/
|
|
9981
10157
|
function provideDbxRouterWebAngularRouterProviderConfig() {
|
|
9982
10158
|
const config = {
|
|
@@ -10028,6 +10204,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
10028
10204
|
* providers: [provideDbxRouterWebUiRouterProviderConfig()]
|
|
10029
10205
|
* });
|
|
10030
10206
|
* ```
|
|
10207
|
+
*
|
|
10208
|
+
* @returns environment providers that configure the UIRouter-based segue anchor component
|
|
10031
10209
|
*/
|
|
10032
10210
|
function provideDbxRouterWebUiRouterProviderConfig() {
|
|
10033
10211
|
const config = {
|
|
@@ -10712,6 +10890,9 @@ class DbxListView {
|
|
|
10712
10890
|
* })
|
|
10713
10891
|
* export class MyCustomListViewComponent extends DbxListView<MyItem> { ... }
|
|
10714
10892
|
* ```
|
|
10893
|
+
*
|
|
10894
|
+
* @param sourceType - the component class to register as the DbxListView provider
|
|
10895
|
+
* @returns an array of Angular providers that wire up the component as a DbxListView
|
|
10715
10896
|
*/
|
|
10716
10897
|
// eslint-disable-next-line
|
|
10717
10898
|
function provideDbxListView(sourceType) {
|
|
@@ -10730,6 +10911,7 @@ function provideDbxListView(sourceType) {
|
|
|
10730
10911
|
const DBX_VALUE_LIST_VIEW_ITEM = new InjectionToken('DbxValueListViewItem');
|
|
10731
10912
|
/**
|
|
10732
10913
|
* Convenience function for mapping a DecisionFunction for a value to a DecisionFunction for a DbxValueListItem with the same value type.
|
|
10914
|
+
*
|
|
10733
10915
|
* @param decisionFunction
|
|
10734
10916
|
* @returns
|
|
10735
10917
|
*/
|
|
@@ -10738,11 +10920,18 @@ function dbxValueListItemDecisionFunction(decisionFunction) {
|
|
|
10738
10920
|
}
|
|
10739
10921
|
/**
|
|
10740
10922
|
* Default mapping function that wraps each raw value into a {@link DbxValueListItem} with only the `itemValue` property set.
|
|
10923
|
+
*
|
|
10924
|
+
* @param itemValues The raw values to wrap as list items
|
|
10925
|
+
* @returns An observable emitting the values wrapped in {@link DbxValueListItem} objects
|
|
10741
10926
|
*/
|
|
10742
10927
|
const DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES = (itemValues) => of(itemValues.map((itemValue) => ({ itemValue })));
|
|
10743
10928
|
/**
|
|
10744
10929
|
* Maps raw values into an observable of {@link DbxValueListItemConfig} items, applying the list view config's mapping function and attaching injection configuration.
|
|
10745
10930
|
*
|
|
10931
|
+
* @param listViewConfig The list view configuration containing the component and optional mapping function
|
|
10932
|
+
* @param itemValues The raw values to map into configured list items
|
|
10933
|
+
* @returns An observable emitting the mapped and configured list item configs
|
|
10934
|
+
*
|
|
10746
10935
|
* @example
|
|
10747
10936
|
* ```ts
|
|
10748
10937
|
* const items$ = mapValuesToValuesListItemConfigObs(listViewConfig, rawValues);
|
|
@@ -10756,11 +10945,11 @@ function mapValuesToValuesListItemConfigObs(listViewConfig, itemValues) {
|
|
|
10756
10945
|
}));
|
|
10757
10946
|
}
|
|
10758
10947
|
/**
|
|
10759
|
-
* Adds
|
|
10948
|
+
* Adds injection component configuration and meta configuration to each list item, producing fully configured {@link DbxValueListItemConfig} entries ready for rendering.
|
|
10760
10949
|
*
|
|
10761
|
-
* @param listViewConfig
|
|
10762
|
-
* @param listItems
|
|
10763
|
-
* @returns
|
|
10950
|
+
* @param listViewConfig The list view configuration providing injection component config and optional meta config
|
|
10951
|
+
* @param listItems The list items to augment with configuration
|
|
10952
|
+
* @returns The list items extended with injection component configuration attached
|
|
10764
10953
|
*/
|
|
10765
10954
|
function addConfigToValueListItems(listViewConfig, listItems) {
|
|
10766
10955
|
const itemConfigs = listItems.map((listItem) => {
|
|
@@ -10801,6 +10990,9 @@ class DbxValueListView {
|
|
|
10801
10990
|
/**
|
|
10802
10991
|
* Registers a component as a {@link DbxValueListView} provider for dependency injection.
|
|
10803
10992
|
*
|
|
10993
|
+
* @param sourceType The component class type to register as the list view provider
|
|
10994
|
+
* @returns An array of Angular providers that bind the given component to {@link DbxValueListView}
|
|
10995
|
+
*
|
|
10804
10996
|
* @example
|
|
10805
10997
|
* ```ts
|
|
10806
10998
|
* @Component({
|
|
@@ -10842,6 +11034,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
10842
11034
|
|
|
10843
11035
|
/**
|
|
10844
11036
|
* Default grouping function that places all items into a single unnamed group.
|
|
11037
|
+
*
|
|
11038
|
+
* @param items The flat list of configured list items to group
|
|
11039
|
+
* @returns An array containing a single group with all input items
|
|
10845
11040
|
*/
|
|
10846
11041
|
const defaultDbxValueListViewGroupValuesFunction = (items) => {
|
|
10847
11042
|
const data = {};
|
|
@@ -10861,20 +11056,24 @@ class DbxValueListViewGroupDelegate {
|
|
|
10861
11056
|
/**
|
|
10862
11057
|
* Creates a default {@link DbxValueListViewGroupDelegate} that places all items into a single ungrouped list.
|
|
10863
11058
|
*
|
|
11059
|
+
* @returns A group delegate that places all items into one unnamed group
|
|
11060
|
+
*
|
|
10864
11061
|
* @example
|
|
10865
11062
|
* ```ts
|
|
10866
11063
|
* const delegate = defaultDbxValueListViewGroupDelegate<MyItem>();
|
|
10867
11064
|
* ```
|
|
10868
11065
|
*/
|
|
10869
11066
|
function defaultDbxValueListViewGroupDelegate() {
|
|
10870
|
-
|
|
11067
|
+
return {
|
|
10871
11068
|
groupValues: defaultDbxValueListViewGroupValuesFunction
|
|
10872
11069
|
};
|
|
10873
|
-
return result;
|
|
10874
11070
|
}
|
|
10875
11071
|
/**
|
|
10876
11072
|
* Registers a class as a {@link DbxValueListViewGroupDelegate} provider for dependency injection.
|
|
10877
11073
|
*
|
|
11074
|
+
* @param sourceType The class type to register as the group delegate provider
|
|
11075
|
+
* @returns An array of Angular providers that bind the given class to {@link DbxValueListViewGroupDelegate}
|
|
11076
|
+
*
|
|
10878
11077
|
* @example
|
|
10879
11078
|
* ```ts
|
|
10880
11079
|
* @Directive({
|
|
@@ -10883,7 +11082,7 @@ function defaultDbxValueListViewGroupDelegate() {
|
|
|
10883
11082
|
* export class MyGroupDelegate extends DbxValueListViewGroupDelegate<MyGroup, MyItem> { ... }
|
|
10884
11083
|
* ```
|
|
10885
11084
|
*/
|
|
10886
|
-
// eslint-disable-next-line
|
|
11085
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- generic provider factory requires any for type compatibility
|
|
10887
11086
|
function provideDbxValueListViewGroupDelegate(sourceType) {
|
|
10888
11087
|
// use of any here is allowed as typings are not relevant for providers
|
|
10889
11088
|
return [
|
|
@@ -10930,7 +11129,7 @@ class DbxValueListViewContentGroupComponent {
|
|
|
10930
11129
|
}
|
|
10931
11130
|
@for (item of itemsSignal(); track trackByFunctionSignal()($index, item)) {
|
|
10932
11131
|
<dbx-anchor [anchor]="item.anchor" [disabled]="item.disabled">
|
|
10933
|
-
<a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="rippleDisabledOnItem(item)" (click)="onClickItem(item)">
|
|
11132
|
+
<a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="rippleDisabledOnItem(item)" (click)="onClickItem(item)" (keydown.enter)="onClickItem(item)">
|
|
10934
11133
|
@if (item.icon) {
|
|
10935
11134
|
<mat-icon matListItemIcon>{{ item.icon }}</mat-icon>
|
|
10936
11135
|
}
|
|
@@ -10964,7 +11163,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
10964
11163
|
}
|
|
10965
11164
|
@for (item of itemsSignal(); track trackByFunctionSignal()($index, item)) {
|
|
10966
11165
|
<dbx-anchor [anchor]="item.anchor" [disabled]="item.disabled">
|
|
10967
|
-
<a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="rippleDisabledOnItem(item)" (click)="onClickItem(item)">
|
|
11166
|
+
<a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="rippleDisabledOnItem(item)" (click)="onClickItem(item)" (keydown.enter)="onClickItem(item)">
|
|
10968
11167
|
@if (item.icon) {
|
|
10969
11168
|
<mat-icon matListItemIcon>{{ item.icon }}</mat-icon>
|
|
10970
11169
|
}
|
|
@@ -10995,9 +11194,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
10995
11194
|
}], propDecorators: { group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }] } });
|
|
10996
11195
|
// MARK: DbxValueListViewContentComponent
|
|
10997
11196
|
/**
|
|
10998
|
-
* Default track-by function
|
|
11197
|
+
* Default track-by function for list view content components.
|
|
11198
|
+
*
|
|
11199
|
+
* Uses the item's {@link DbxValueListItem.key} when available for stable identity across
|
|
11200
|
+
* data updates, falling back to a prefixed index string to avoid collisions with key values.
|
|
11201
|
+
*
|
|
11202
|
+
* @param index - the item's position index in the list
|
|
11203
|
+
* @param item - the list item whose identity key is resolved
|
|
11204
|
+
* @returns the item's key, itemValue key/id, or a prefixed index string as a fallback
|
|
10999
11205
|
*/
|
|
11000
|
-
const DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION = (index) => index
|
|
11206
|
+
const DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION = (index, item) => item?.key ?? item?.itemValue?.key ?? item?.itemValue?.id ?? `__list__${index}__`;
|
|
11001
11207
|
/**
|
|
11002
11208
|
* Renders a Material nav list of grouped value list items. Can be used directly when items are pre-configured,
|
|
11003
11209
|
* or as part of the standard list rendering pipeline via {@link DbxValueListViewComponent}.
|
|
@@ -11009,21 +11215,21 @@ const DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION = (index) => i
|
|
|
11009
11215
|
*/
|
|
11010
11216
|
class DbxValueListViewContentComponent {
|
|
11011
11217
|
dbxListView = inject((DbxListView));
|
|
11218
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- any required for generic group delegate compatibility
|
|
11012
11219
|
_dbxListGroupDelegate = inject(DbxValueListViewGroupDelegate, { optional: true }) ?? defaultDbxValueListViewGroupDelegate();
|
|
11013
11220
|
_trackBy$ = this.dbxListView.trackBy$ ?? of(undefined);
|
|
11014
11221
|
trackBy$ = this._trackBy$.pipe(map((trackBy) => (trackBy ? (index, item) => trackBy(index, item.itemValue) : DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION)));
|
|
11015
11222
|
items = input(...(ngDevMode ? [undefined, { debugName: "items" }] : []));
|
|
11016
11223
|
emitAllClicks = input(...(ngDevMode ? [undefined, { debugName: "emitAllClicks" }] : []));
|
|
11224
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- any required for generic group type compatibility
|
|
11017
11225
|
groups$ = toObservable(this.items).pipe(switchMap((items) => asObservable(this._dbxListGroupDelegate.groupValues(items ?? []))), shareReplay(1));
|
|
11018
11226
|
groupsSignal = toSignal(this.groups$);
|
|
11019
11227
|
disabledSignal = toSignal(this.dbxListView.disabled$);
|
|
11020
11228
|
onClickItem(item) {
|
|
11021
11229
|
// do not emit clicks for disabled items.
|
|
11022
|
-
if (!item.disabled) {
|
|
11023
|
-
|
|
11024
|
-
|
|
11025
|
-
this.onClickValue(item.itemValue);
|
|
11026
|
-
}
|
|
11230
|
+
if (!item.disabled && (this.emitAllClicks() || !item.anchor || anchorTypeForAnchor(item.anchor) === 'plain')) {
|
|
11231
|
+
// only emit clicks for items with no anchor, or plain anchors.
|
|
11232
|
+
this.onClickValue(item.itemValue);
|
|
11027
11233
|
}
|
|
11028
11234
|
}
|
|
11029
11235
|
onClickValue(value) {
|
|
@@ -11303,20 +11509,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
11303
11509
|
* Default template string for accordion list view components that renders a `dbx-list-accordion-view` with a `config` binding.
|
|
11304
11510
|
*/
|
|
11305
11511
|
const DEFAULT_DBX_LIST_ACCORDION_VIEW_COMPONENT_CONFIGURATION_TEMPLATE = '<dbx-list-accordion-view [config]="config"></dbx-list-accordion-view>';
|
|
11306
|
-
const
|
|
11512
|
+
const DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS = [DbxValueListAccordionViewComponent];
|
|
11307
11513
|
/**
|
|
11308
11514
|
* Convenience module that imports and exports {@link DbxValueListAccordionViewComponent}.
|
|
11309
11515
|
*/
|
|
11310
11516
|
class DbxListAccordionViewComponentImportsModule {
|
|
11311
11517
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11312
11518
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, imports: [DbxValueListAccordionViewComponent], exports: [DbxValueListAccordionViewComponent] });
|
|
11313
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, imports: [
|
|
11519
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, imports: [DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS] });
|
|
11314
11520
|
}
|
|
11315
11521
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, decorators: [{
|
|
11316
11522
|
type: NgModule,
|
|
11317
11523
|
args: [{
|
|
11318
|
-
exports:
|
|
11319
|
-
imports:
|
|
11524
|
+
exports: DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS,
|
|
11525
|
+
imports: DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS
|
|
11320
11526
|
}]
|
|
11321
11527
|
}] });
|
|
11322
11528
|
/**
|
|
@@ -11330,6 +11536,12 @@ class AbstractDbxListAccordionViewDirective extends AbstractDbxListViewDirective
|
|
|
11330
11536
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxListAccordionViewDirective, decorators: [{
|
|
11331
11537
|
type: Directive
|
|
11332
11538
|
}] });
|
|
11539
|
+
// COMPAT: Deprecated aliases
|
|
11540
|
+
/**
|
|
11541
|
+
* @deprecated use DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS instead.
|
|
11542
|
+
*/
|
|
11543
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
11544
|
+
const dbxListAccordionViewComponentImportsAndExports = DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS;
|
|
11333
11545
|
|
|
11334
11546
|
/**
|
|
11335
11547
|
* Default grid size configuration with responsive auto-fill columns (minimum 320px) and 8px gap.
|
|
@@ -11454,6 +11666,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
11454
11666
|
*/
|
|
11455
11667
|
class DbxValueListGridViewContentComponent extends DbxValueListViewContentComponent {
|
|
11456
11668
|
_gridSizeOverride = inject(DbxValueListGridSizeDirective, { optional: true });
|
|
11669
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
11457
11670
|
inputGridConfig = input(undefined, { ...(ngDevMode ? { debugName: "inputGridConfig" } : {}), alias: 'grid' });
|
|
11458
11671
|
gridConfigFromGridSizeSignal = toSignal(this._gridSizeOverride?.gridSize$ ?? of(undefined));
|
|
11459
11672
|
gridConfigSignal = computed(() => {
|
|
@@ -11515,20 +11728,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
11515
11728
|
* Default template string for grid list view components that renders a `dbx-list-grid-view` with a `config` binding.
|
|
11516
11729
|
*/
|
|
11517
11730
|
const DEFAULT_DBX_LIST_GRID_VIEW_COMPONENT_CONFIGURATION_TEMPLATE = '<dbx-list-grid-view [config]="config"></dbx-list-grid-view>';
|
|
11518
|
-
const
|
|
11731
|
+
const DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS = [DbxValueListGridViewComponent];
|
|
11519
11732
|
/**
|
|
11520
11733
|
* Convenience module that imports and exports {@link DbxValueListGridViewComponent}.
|
|
11521
11734
|
*/
|
|
11522
11735
|
class DbxListGridViewComponentImportsModule {
|
|
11523
11736
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListGridViewComponentImportsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11524
11737
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxListGridViewComponentImportsModule, imports: [DbxValueListGridViewComponent], exports: [DbxValueListGridViewComponent] });
|
|
11525
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListGridViewComponentImportsModule, imports: [
|
|
11738
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListGridViewComponentImportsModule, imports: [DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS] });
|
|
11526
11739
|
}
|
|
11527
11740
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListGridViewComponentImportsModule, decorators: [{
|
|
11528
11741
|
type: NgModule,
|
|
11529
11742
|
args: [{
|
|
11530
|
-
exports:
|
|
11531
|
-
imports:
|
|
11743
|
+
exports: DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS,
|
|
11744
|
+
imports: DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS
|
|
11532
11745
|
}]
|
|
11533
11746
|
}] });
|
|
11534
11747
|
/**
|
|
@@ -11542,6 +11755,12 @@ class AbstractDbxListGridViewDirective extends AbstractDbxListViewDirective {
|
|
|
11542
11755
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxListGridViewDirective, decorators: [{
|
|
11543
11756
|
type: Directive
|
|
11544
11757
|
}] });
|
|
11758
|
+
// COMPAT: Deprecated aliases
|
|
11759
|
+
/**
|
|
11760
|
+
* @deprecated use DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS instead.
|
|
11761
|
+
*/
|
|
11762
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
11763
|
+
const dbxListGridViewComponentImportsAndExports = DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS;
|
|
11545
11764
|
|
|
11546
11765
|
/**
|
|
11547
11766
|
* Injection token for providing a default meta icon string to {@link DbxListViewMetaIconComponent} instances.
|
|
@@ -11677,7 +11896,7 @@ class DbxListTitleGroupDirective {
|
|
|
11677
11896
|
const cssClassesForAllGroups = inputCssClasses ?? [];
|
|
11678
11897
|
const componentClass = delegate.headerComponentClass ?? DbxListTitleGroupHeaderComponent;
|
|
11679
11898
|
const { dataForGroupValue, footerComponentClass } = delegate;
|
|
11680
|
-
groups =
|
|
11899
|
+
groups = [...groupsValuesMap.entries()].map(([value, items]) => {
|
|
11681
11900
|
const data = dataForGroupValue(value, items);
|
|
11682
11901
|
data.value = value;
|
|
11683
11902
|
const cssClasses = data.cssClasses ? [...cssClassesForAllGroups, ...data.cssClasses] : cssClassesForAllGroups;
|
|
@@ -11732,6 +11951,9 @@ const DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY = 'disable_ripple_anch
|
|
|
11732
11951
|
/**
|
|
11733
11952
|
* Default decision function that disables ripple on items that already have ripple disabled,
|
|
11734
11953
|
* lack an anchor, or have an anchor with no navigation target.
|
|
11954
|
+
*
|
|
11955
|
+
* @param item - the list item to evaluate for ripple disabling
|
|
11956
|
+
* @returns `true` if the ripple should be disabled for this item
|
|
11735
11957
|
*/
|
|
11736
11958
|
const DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION = (item) => {
|
|
11737
11959
|
return item.rippleDisabled || !item.anchor || (!item.anchor.ref && !item.anchor.url && !item.anchor.onClick);
|
|
@@ -11779,6 +12001,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
11779
12001
|
const DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY = 'is_selected_item_modifier';
|
|
11780
12002
|
/**
|
|
11781
12003
|
* Default decision function that returns the item's current `selected` state (defaulting to false).
|
|
12004
|
+
*
|
|
12005
|
+
* @param item - the list item to check for selection
|
|
12006
|
+
* @returns `true` if the item is currently selected, `false` otherwise
|
|
11782
12007
|
*/
|
|
11783
12008
|
const DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION = (item) => {
|
|
11784
12009
|
return item.selected ?? false;
|
|
@@ -12052,7 +12277,9 @@ class DbxListComponent {
|
|
|
12052
12277
|
const { scrollTop, scrollHeight, clientHeight } = element;
|
|
12053
12278
|
return scrollHeight - (scrollTop + clientHeight);
|
|
12054
12279
|
}
|
|
12055
|
-
catch
|
|
12280
|
+
catch {
|
|
12281
|
+
/* ignored */
|
|
12282
|
+
}
|
|
12056
12283
|
}
|
|
12057
12284
|
return 0;
|
|
12058
12285
|
}
|
|
@@ -12062,7 +12289,7 @@ class DbxListComponent {
|
|
|
12062
12289
|
try {
|
|
12063
12290
|
element.scrollTop = element.scrollHeight;
|
|
12064
12291
|
}
|
|
12065
|
-
catch
|
|
12292
|
+
catch {
|
|
12066
12293
|
// do nothing.
|
|
12067
12294
|
}
|
|
12068
12295
|
}
|
|
@@ -12074,7 +12301,7 @@ class DbxListComponent {
|
|
|
12074
12301
|
const { scrollHeight, clientHeight } = element;
|
|
12075
12302
|
element.scrollTop = scrollHeight - (clientHeight + pos);
|
|
12076
12303
|
}
|
|
12077
|
-
catch
|
|
12304
|
+
catch {
|
|
12078
12305
|
// do nothing.
|
|
12079
12306
|
}
|
|
12080
12307
|
}
|
|
@@ -12157,6 +12384,7 @@ class AbstractDbxListWrapperDirective {
|
|
|
12157
12384
|
currentState$ = combineLatest([this._stateOverride, toObservable(this.state)]).pipe(map(([stateOverride, state]) => stateOverride ?? state), maybeValueFromObservableOrValue(), shareReplay(1));
|
|
12158
12385
|
config$ = this._config.pipe(maybeValueFromObservableOrValue(), map((x) => (x ? this._buildListConfig(x) : undefined)), shareReplay(1));
|
|
12159
12386
|
configSignal = toSignal(this.config$);
|
|
12387
|
+
// eslint-disable-next-line @angular-eslint/prefer-inject
|
|
12160
12388
|
constructor(initConfig) {
|
|
12161
12389
|
this._config.next(initConfig);
|
|
12162
12390
|
}
|
|
@@ -12238,6 +12466,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
12238
12466
|
|
|
12239
12467
|
/**
|
|
12240
12468
|
* Angular {@link TrackByFunction} that tracks {@link UniqueModel} items by their `id` property.
|
|
12469
|
+
*
|
|
12470
|
+
* @param index - the item's index in the iterable
|
|
12471
|
+
* @param model - the model whose `id` is used as the tracking identity
|
|
12472
|
+
* @returns the model's unique `id` value
|
|
12241
12473
|
*/
|
|
12242
12474
|
const TRACK_BY_MODEL_ID = (index, model) => model.id;
|
|
12243
12475
|
/**
|
|
@@ -12247,12 +12479,18 @@ const TRACK_BY_MODEL_ID = (index, model) => model.id;
|
|
|
12247
12479
|
* ```ts
|
|
12248
12480
|
* readonly trackBy = trackByUniqueIdentifier<MyModel>();
|
|
12249
12481
|
* ```
|
|
12482
|
+
*
|
|
12483
|
+
* @returns a TrackByFunction that uses the item's `id` for identity tracking
|
|
12250
12484
|
*/
|
|
12251
12485
|
function trackByUniqueIdentifier() {
|
|
12252
12486
|
return TRACK_BY_MODEL_ID;
|
|
12253
12487
|
}
|
|
12254
12488
|
/**
|
|
12255
12489
|
* Angular {@link TrackByFunction} that tracks {@link ModelKeyRef} items by their `key` property.
|
|
12490
|
+
*
|
|
12491
|
+
* @param index - the item's index in the iterable
|
|
12492
|
+
* @param model - the model whose `key` is used as the tracking identity
|
|
12493
|
+
* @returns the model's `key` value
|
|
12256
12494
|
*/
|
|
12257
12495
|
const TRACK_BY_MODEL_KEY = (index, model) => model.key;
|
|
12258
12496
|
/**
|
|
@@ -12262,6 +12500,8 @@ const TRACK_BY_MODEL_KEY = (index, model) => model.key;
|
|
|
12262
12500
|
* ```ts
|
|
12263
12501
|
* readonly trackBy = trackByModelKeyRef<MyModelRef>();
|
|
12264
12502
|
* ```
|
|
12503
|
+
*
|
|
12504
|
+
* @returns a TrackByFunction that uses the item's `key` for identity tracking
|
|
12265
12505
|
*/
|
|
12266
12506
|
function trackByModelKeyRef() {
|
|
12267
12507
|
return TRACK_BY_MODEL_KEY;
|
|
@@ -12472,6 +12712,9 @@ class DbxListViewWrapper {
|
|
|
12472
12712
|
* })
|
|
12473
12713
|
* export class MyListWrapperComponent extends DbxListViewWrapper<MyItem> { ... }
|
|
12474
12714
|
* ```
|
|
12715
|
+
*
|
|
12716
|
+
* @param sourceType - the component class to register as the DbxListViewWrapper provider
|
|
12717
|
+
* @returns an array of Angular providers that wire up the component as a DbxListViewWrapper
|
|
12475
12718
|
*/
|
|
12476
12719
|
function provideDbxListViewWrapper(sourceType) {
|
|
12477
12720
|
return [
|
|
@@ -12871,6 +13114,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
12871
13114
|
* ```ts
|
|
12872
13115
|
* provideDbxStyleService({ dbxStyleConfig: { style: 'my-app', suffixes: new Set(['dark']) } });
|
|
12873
13116
|
* ```
|
|
13117
|
+
*
|
|
13118
|
+
* @param config - configuration specifying the default style and its allowed suffixes
|
|
13119
|
+
* @returns environment providers for the DbxStyleService and its default config token
|
|
12874
13120
|
*/
|
|
12875
13121
|
function provideDbxStyleService(config) {
|
|
12876
13122
|
const { dbxStyleConfig } = config;
|
|
@@ -13164,18 +13410,26 @@ class DbxLinkifyService {
|
|
|
13164
13410
|
// MARK: Get
|
|
13165
13411
|
/**
|
|
13166
13412
|
* Returns the default entry.
|
|
13413
|
+
*
|
|
13414
|
+
* @returns the default linkify service entry, or undefined if none is registered
|
|
13167
13415
|
*/
|
|
13168
13416
|
getDefaultEntry() {
|
|
13169
13417
|
return this._entries.get(DEFAULT_DBX_LINKIFY_STRING_TYPE);
|
|
13170
13418
|
}
|
|
13171
13419
|
/**
|
|
13172
13420
|
* Returns the entry for the given type.
|
|
13421
|
+
*
|
|
13422
|
+
* @param type - the linkify string type to look up
|
|
13423
|
+
* @returns the registered entry for the given type, or undefined if not found
|
|
13173
13424
|
*/
|
|
13174
13425
|
getEntryRegisteredForType(type) {
|
|
13175
13426
|
return this._entries.get(type);
|
|
13176
13427
|
}
|
|
13177
13428
|
/**
|
|
13178
13429
|
* Returns the entry for the given type, or the default type if there is no entry registered or the input type is null/undefined.
|
|
13430
|
+
*
|
|
13431
|
+
* @param type - the linkify string type to look up, or nullish to retrieve the default entry
|
|
13432
|
+
* @returns the matching entry, or the default entry if the type is not provided
|
|
13179
13433
|
*/
|
|
13180
13434
|
getEntry(type) {
|
|
13181
13435
|
return type ? this._entries.get(type) : this.getDefaultEntry();
|
|
@@ -13255,6 +13509,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
13255
13509
|
* })
|
|
13256
13510
|
* });
|
|
13257
13511
|
* ```
|
|
13512
|
+
*
|
|
13513
|
+
* @param config - configuration containing the factory function for creating the linkify service config
|
|
13514
|
+
* @returns environment providers that register the DbxLinkifyServiceConfig
|
|
13258
13515
|
*/
|
|
13259
13516
|
function provideDbxLinkify(config) {
|
|
13260
13517
|
const { dbxLinkifyServiceConfigFactory } = config;
|
|
@@ -13292,6 +13549,7 @@ class DbxChipDirective {
|
|
|
13292
13549
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxChipDirective, decorators: [{
|
|
13293
13550
|
type: Directive,
|
|
13294
13551
|
args: [{
|
|
13552
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
13295
13553
|
selector: 'dbx-chip',
|
|
13296
13554
|
host: {
|
|
13297
13555
|
class: 'dbx-chip mat-standard-chip',
|
|
@@ -13478,7 +13736,7 @@ class DbxClickToCopyTextDirective extends AbstractDbxClipboardDirective {
|
|
|
13478
13736
|
copyText = (element ?? eventElement)?.textContent ?? undefined;
|
|
13479
13737
|
}
|
|
13480
13738
|
if (copyText) {
|
|
13481
|
-
this._copyToClipboard(copyText);
|
|
13739
|
+
void this._copyToClipboard(copyText);
|
|
13482
13740
|
}
|
|
13483
13741
|
return copyText;
|
|
13484
13742
|
}
|
|
@@ -13529,7 +13787,7 @@ class DbxClickToCopyTextComponent {
|
|
|
13529
13787
|
@if (showIcon()) {
|
|
13530
13788
|
<mat-icon class="dbx-click-to-copy-text-icon" (click)="dbxClickToCopyText()?._copyText()">{{ clickToCopyIcon() }}</mat-icon>
|
|
13531
13789
|
}
|
|
13532
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: DbxClickToCopyTextDirective, selector: "[dbxClickToCopyText]", inputs: ["copyTextFromElement", "dbxClickToCopyText", "disableCopy", "highlighted"], outputs: ["copyTextFromElementChange"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
13790
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: DbxClickToCopyTextDirective, selector: "[dbxClickToCopyText]", inputs: ["copyTextFromElement", "dbxClickToCopyText", "disableCopy", "highlighted"], outputs: ["copyTextFromElementChange"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13533
13791
|
}
|
|
13534
13792
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxClickToCopyTextComponent, decorators: [{
|
|
13535
13793
|
type: Component,
|
|
@@ -13547,6 +13805,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
13547
13805
|
class: 'dbx-click-to-copy-text-component'
|
|
13548
13806
|
},
|
|
13549
13807
|
imports: [DbxClickToCopyTextDirective, MatIcon],
|
|
13808
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13550
13809
|
standalone: true
|
|
13551
13810
|
}]
|
|
13552
13811
|
}], propDecorators: { contentElementRef: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }], dbxClickToCopyText: [{ type: i0.ViewChild, args: [i0.forwardRef(() => DbxClickToCopyTextDirective), { isSignal: true }] }], copyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "copyText", required: false }] }], showIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIcon", required: false }] }], highlighted: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlighted", required: false }] }], clipboardSnackbarMessagesConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "clipboardSnackbarMessagesConfig", required: false }] }], clipboardSnackbarMessagesEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "clipboardSnackbarMessagesEnabled", required: false }] }], clickToCopyIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "clickToCopyIcon", required: false }] }], clickIconToCopyOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "clickIconToCopyOnly", required: false }] }] } });
|
|
@@ -13571,19 +13830,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
13571
13830
|
|
|
13572
13831
|
class DbxLayoutModule {
|
|
13573
13832
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13574
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, exports: [DbxBarLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule,
|
|
13575
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, imports: [DbxBarLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule,
|
|
13833
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, imports: [DbxCompactDirective, DbxFlexGroupDirective, DbxFlexSizeDirective], exports: [DbxBarLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule, DbxCompactDirective, DbxContentLayoutModule, DbxFlagLayoutModule, DbxFlexGroupDirective, DbxFlexSizeDirective, DbxSectionLayoutModule, DbxStyleLayoutModule, DbxTextModule] });
|
|
13834
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, imports: [DbxBarLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule, DbxContentLayoutModule, DbxFlagLayoutModule, DbxSectionLayoutModule, DbxStyleLayoutModule, DbxTextModule] });
|
|
13576
13835
|
}
|
|
13577
13836
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, decorators: [{
|
|
13578
13837
|
type: NgModule,
|
|
13579
13838
|
args: [{
|
|
13580
|
-
|
|
13839
|
+
imports: [DbxCompactDirective, DbxFlexGroupDirective, DbxFlexSizeDirective],
|
|
13840
|
+
exports: [DbxBarLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule, DbxCompactDirective, DbxContentLayoutModule, DbxFlagLayoutModule, DbxFlexGroupDirective, DbxFlexSizeDirective, DbxSectionLayoutModule, DbxStyleLayoutModule, DbxTextModule]
|
|
13581
13841
|
}]
|
|
13582
13842
|
}] });
|
|
13583
13843
|
|
|
13584
13844
|
/**
|
|
13585
13845
|
* Returns the appropriate Material icon name for a zip entry tree node: "folder" for directories, "note" for files with a known MIME type, or "question_mark" for unknown files.
|
|
13586
13846
|
*
|
|
13847
|
+
* @param entry - The zip entry tree node to determine the icon for
|
|
13848
|
+
* @returns The Material icon name: "folder", "note", or "question_mark"
|
|
13849
|
+
*
|
|
13587
13850
|
* @example
|
|
13588
13851
|
* ```typescript
|
|
13589
13852
|
* const icon = iconForDbxZipPreviewEntryWithSelection(treeNode); // 'folder', 'note', or 'question_mark'
|
|
@@ -13831,7 +14094,7 @@ class DbxZipBlobPreviewComponent {
|
|
|
13831
14094
|
return selectedNode?.value.value.directory ? undefined : selectedNode;
|
|
13832
14095
|
}, ...(ngDevMode ? [{ debugName: "selectedFileNodeSignal" }] : []));
|
|
13833
14096
|
selectedFileEntry$ = toObservable(this.selectedFileNodeSignal);
|
|
13834
|
-
selectedFileEntryBlob$ = this.selectedFileEntry$.pipe(switchMap((x) => (x
|
|
14097
|
+
selectedFileEntryBlob$ = this.selectedFileEntry$.pipe(switchMap((x) => (x?.value.getBlob ? x.value.getBlob() : of(undefined))), shareReplay(1));
|
|
13835
14098
|
selectedFileEntryBlobSignal = toSignal(this.selectedFileEntryBlob$);
|
|
13836
14099
|
context = cleanLoadingContext({ obs: this.allEntriesLoadingState$ });
|
|
13837
14100
|
makeEntryAnchor = (itemValue) => {
|
|
@@ -13952,6 +14215,9 @@ function openZipPreviewDialog(matDialog, config) {
|
|
|
13952
14215
|
// MARK: Zip
|
|
13953
14216
|
/**
|
|
13954
14217
|
* Preview component function preset that renders zip files using {@link DbxZipPreviewComponent}.
|
|
14218
|
+
*
|
|
14219
|
+
* @param input - The preview input containing the source URL and MIME type of the zip file
|
|
14220
|
+
* @returns An injection component config that initializes a {@link DbxZipPreviewComponent} with the given source URL
|
|
13955
14221
|
*/
|
|
13956
14222
|
const DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET = (input) => {
|
|
13957
14223
|
const { srcUrl } = input;
|
|
@@ -14058,8 +14324,9 @@ class DbxWidgetService {
|
|
|
14058
14324
|
/**
|
|
14059
14325
|
* Used to register an entry. If an entry with the same type is already registered, this will override it by default.
|
|
14060
14326
|
*
|
|
14061
|
-
* @param entry
|
|
14062
|
-
* @param override
|
|
14327
|
+
* @param entry - The widget entry mapping a type identifier to its component class
|
|
14328
|
+
* @param override - Whether to replace an existing entry with the same type. Defaults to true.
|
|
14329
|
+
* @returns True if the entry was registered, false if an entry with the same type already exists and override is false
|
|
14063
14330
|
*/
|
|
14064
14331
|
register(entry, override = true) {
|
|
14065
14332
|
if (override || !this._entries.has(entry.type)) {
|
|
@@ -14072,7 +14339,7 @@ class DbxWidgetService {
|
|
|
14072
14339
|
}
|
|
14073
14340
|
// MARK: Get
|
|
14074
14341
|
getWidgetIdentifiers() {
|
|
14075
|
-
return
|
|
14342
|
+
return [...this._entries.keys()];
|
|
14076
14343
|
}
|
|
14077
14344
|
getWidgetEntry(type) {
|
|
14078
14345
|
return this._entries.get(type);
|
|
@@ -14275,11 +14542,11 @@ class DbxHelpContextService {
|
|
|
14275
14542
|
/**
|
|
14276
14543
|
* Observable of all currently active help context strings.
|
|
14277
14544
|
*/
|
|
14278
|
-
activeHelpContextKeys$ = this._contextReferences.pipe(switchMap((allReferences) => combineLatest(
|
|
14545
|
+
activeHelpContextKeys$ = this._contextReferences.pipe(switchMap((allReferences) => combineLatest([...allReferences].map((ref) => ref.helpContextKeys$)).pipe(map((x) => x.flat()), defaultIfEmpty([]), map((x) => new Set(x)))), distinctUntilHasDifferentValues(), shareReplay(1));
|
|
14279
14546
|
/**
|
|
14280
14547
|
* Observable array of all currently active help context key strings.
|
|
14281
14548
|
*/
|
|
14282
|
-
activeHelpContextKeysArray$ = this.activeHelpContextKeys$.pipe(map((x) =>
|
|
14549
|
+
activeHelpContextKeysArray$ = this.activeHelpContextKeys$.pipe(map((x) => [...x]), shareReplay(1));
|
|
14283
14550
|
/**
|
|
14284
14551
|
* Registers a help context reference, adding its keys to the active set.
|
|
14285
14552
|
*
|
|
@@ -14316,6 +14583,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
14316
14583
|
* // In a component or directive constructor
|
|
14317
14584
|
* const destroy = registerHelpContextKeysWithDbxHelpContextService(of(['feature-help', 'general-help']));
|
|
14318
14585
|
* ```
|
|
14586
|
+
*
|
|
14587
|
+
* @param helpContextKeys - Observable or static array of help context keys to register with the service
|
|
14588
|
+
* @returns A destroy function that unregisters the help context keys when called
|
|
14319
14589
|
*/
|
|
14320
14590
|
function registerHelpContextKeysWithDbxHelpContextService(helpContextKeys) {
|
|
14321
14591
|
const helpContextService = inject(DbxHelpContextService);
|
|
@@ -14386,7 +14656,8 @@ class DbxHelpWidgetService {
|
|
|
14386
14656
|
_helpListFooterComponentConfig;
|
|
14387
14657
|
_defaultIcon;
|
|
14388
14658
|
_popoverHeaderComponentConfig;
|
|
14389
|
-
constructor(
|
|
14659
|
+
constructor() {
|
|
14660
|
+
const initialConfig = inject(DbxHelpWidgetServiceConfig, { optional: true });
|
|
14390
14661
|
this.setDefaultWidgetComponentClass(initialConfig?.defaultWidgetComponentClass);
|
|
14391
14662
|
this.setDefaultIcon(initialConfig?.defaultIcon);
|
|
14392
14663
|
this.setPopoverHeaderComponentConfig(initialConfig?.popoverHeaderComponentConfig);
|
|
@@ -14398,6 +14669,8 @@ class DbxHelpWidgetService {
|
|
|
14398
14669
|
}
|
|
14399
14670
|
/**
|
|
14400
14671
|
* Returns the component class used for unrecognized help context keys.
|
|
14672
|
+
*
|
|
14673
|
+
* @returns The default widget component class, or undefined if not set
|
|
14401
14674
|
*/
|
|
14402
14675
|
getDefaultWidgetComponentClass() {
|
|
14403
14676
|
return this._defaultWidgetComponentClass;
|
|
@@ -14407,6 +14680,8 @@ class DbxHelpWidgetService {
|
|
|
14407
14680
|
}
|
|
14408
14681
|
/**
|
|
14409
14682
|
* Returns the default icon used for help entries without a specific icon.
|
|
14683
|
+
*
|
|
14684
|
+
* @returns The default icon string, or undefined if not set
|
|
14410
14685
|
*/
|
|
14411
14686
|
getDefaultIcon() {
|
|
14412
14687
|
return this._defaultIcon;
|
|
@@ -14416,6 +14691,8 @@ class DbxHelpWidgetService {
|
|
|
14416
14691
|
}
|
|
14417
14692
|
/**
|
|
14418
14693
|
* Returns the component config displayed in the popover header, if set.
|
|
14694
|
+
*
|
|
14695
|
+
* @returns The popover header component config, or undefined if not set
|
|
14419
14696
|
*/
|
|
14420
14697
|
getPopoverHeaderComponentConfig() {
|
|
14421
14698
|
return this._popoverHeaderComponentConfig;
|
|
@@ -14425,6 +14702,8 @@ class DbxHelpWidgetService {
|
|
|
14425
14702
|
}
|
|
14426
14703
|
/**
|
|
14427
14704
|
* Returns the component config displayed at the top of the help list view, if set.
|
|
14705
|
+
*
|
|
14706
|
+
* @returns The help list header component config, or undefined if not set
|
|
14428
14707
|
*/
|
|
14429
14708
|
getHelpListHeaderComponentConfig() {
|
|
14430
14709
|
return this._helpListHeaderComponentConfig;
|
|
@@ -14434,6 +14713,8 @@ class DbxHelpWidgetService {
|
|
|
14434
14713
|
}
|
|
14435
14714
|
/**
|
|
14436
14715
|
* Returns the component config displayed at the bottom of the help list view, if set.
|
|
14716
|
+
*
|
|
14717
|
+
* @returns The help list footer component config, or undefined if not set
|
|
14437
14718
|
*/
|
|
14438
14719
|
getHelpListFooterComponentConfig() {
|
|
14439
14720
|
return this._helpListFooterComponentConfig;
|
|
@@ -14448,6 +14729,7 @@ class DbxHelpWidgetService {
|
|
|
14448
14729
|
*
|
|
14449
14730
|
* @param entries The entries to register
|
|
14450
14731
|
* @param override Whether to override existing entries (default: true)
|
|
14732
|
+
* @returns Always returns true after registration completes
|
|
14451
14733
|
*/
|
|
14452
14734
|
register(entries, override = true) {
|
|
14453
14735
|
const entriesArray = asArray(entries);
|
|
@@ -14461,14 +14743,17 @@ class DbxHelpWidgetService {
|
|
|
14461
14743
|
// MARK: Get
|
|
14462
14744
|
/**
|
|
14463
14745
|
* Returns all currently registered help context keys.
|
|
14746
|
+
*
|
|
14747
|
+
* @returns Array of all registered help context keys
|
|
14464
14748
|
*/
|
|
14465
14749
|
getAllRegisteredHelpContextKeys() {
|
|
14466
|
-
return
|
|
14750
|
+
return [...this._entries.keys()];
|
|
14467
14751
|
}
|
|
14468
14752
|
/**
|
|
14469
14753
|
* Retrieves the widget entry for a given help context key. Falls back to a default entry if a default widget component class is configured.
|
|
14470
14754
|
*
|
|
14471
14755
|
* @param helpContextKey - The help context key to look up
|
|
14756
|
+
* @returns The matching widget entry, a default entry if a default component class is configured, or undefined
|
|
14472
14757
|
*/
|
|
14473
14758
|
getHelpWidgetEntry(helpContextKey) {
|
|
14474
14759
|
return this._entries.get(helpContextKey) ?? (this._defaultWidgetComponentClass ? { helpContextKey, title: '<Missing Help Topic>', widgetComponentClass: this._defaultWidgetComponentClass } : undefined);
|
|
@@ -14477,33 +14762,34 @@ class DbxHelpWidgetService {
|
|
|
14477
14762
|
* Retrieves widget entries for multiple help context keys, filtering out any unresolvable keys.
|
|
14478
14763
|
*
|
|
14479
14764
|
* @param helpContextKeys - Array of help context keys to look up
|
|
14765
|
+
* @returns Array of resolved widget entries, excluding any keys that could not be resolved
|
|
14480
14766
|
*/
|
|
14481
14767
|
getHelpWidgetEntriesForHelpContextKeys(helpContextKeys) {
|
|
14482
14768
|
return helpContextKeys.map((context) => this.getHelpWidgetEntry(context)).filter((entry) => !!entry);
|
|
14483
14769
|
}
|
|
14484
14770
|
/**
|
|
14485
14771
|
* Checks whether a widget entry is registered for the given help context key.
|
|
14772
|
+
*
|
|
14773
|
+
* @param context - The help context key to check
|
|
14774
|
+
* @returns True if a widget entry exists for the given key
|
|
14486
14775
|
*/
|
|
14487
14776
|
hasHelpWidgetEntry(context) {
|
|
14488
14777
|
return this._entries.has(context);
|
|
14489
14778
|
}
|
|
14490
14779
|
/**
|
|
14491
14780
|
* Returns a cached map of help context keys to their sort priority values.
|
|
14781
|
+
*
|
|
14782
|
+
* @returns Map of help context keys to their numeric sort priorities
|
|
14492
14783
|
*/
|
|
14493
14784
|
getSortPriorityMap() {
|
|
14494
14785
|
return this._sortPriorityMap();
|
|
14495
14786
|
}
|
|
14496
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxHelpWidgetService, deps: [
|
|
14787
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxHelpWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14497
14788
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxHelpWidgetService });
|
|
14498
14789
|
}
|
|
14499
14790
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxHelpWidgetService, decorators: [{
|
|
14500
14791
|
type: Injectable
|
|
14501
|
-
}], ctorParameters: () => [
|
|
14502
|
-
type: Optional
|
|
14503
|
-
}, {
|
|
14504
|
-
type: Inject,
|
|
14505
|
-
args: [DbxHelpWidgetServiceConfig]
|
|
14506
|
-
}] }] });
|
|
14792
|
+
}], ctorParameters: () => [] });
|
|
14507
14793
|
|
|
14508
14794
|
/**
|
|
14509
14795
|
* Creates EnvironmentProviders for the help context system.
|
|
@@ -14646,8 +14932,7 @@ class DbxHelpViewListComponent {
|
|
|
14646
14932
|
helpContextKeys = input.required(...(ngDevMode ? [{ debugName: "helpContextKeys" }] : []));
|
|
14647
14933
|
helpContextKeys$ = toObservable(this.helpContextKeys).pipe(switchMap((x) => asObservable(x) ?? of([])), map(asArray), distinctUntilHasDifferentValues(), map((x) => {
|
|
14648
14934
|
const sortPriorityMap = this.helpWidgetService.getSortPriorityMap();
|
|
14649
|
-
|
|
14650
|
-
return sorted;
|
|
14935
|
+
return [...x].sort(sortByNumberFunction((x) => sortPriorityMap.get(x) ?? -2));
|
|
14651
14936
|
}), shareReplay(1));
|
|
14652
14937
|
helpContextKeysSignal = toSignal(this.helpContextKeys$, { initialValue: [] });
|
|
14653
14938
|
helpWidgetEntriesSignal = computed(() => this.helpWidgetService.getHelpWidgetEntriesForHelpContextKeys(this.helpContextKeysSignal()), ...(ngDevMode ? [{ debugName: "helpWidgetEntriesSignal" }] : []));
|
|
@@ -14876,7 +15161,9 @@ function disableRightClickInCdkBackdrop(classes = 'cdk-overlay-container', onEve
|
|
|
14876
15161
|
return () => target.removeEventListener('contextmenu', eventListener);
|
|
14877
15162
|
}
|
|
14878
15163
|
else {
|
|
14879
|
-
return () => {
|
|
15164
|
+
return () => {
|
|
15165
|
+
/* noop */
|
|
15166
|
+
};
|
|
14880
15167
|
}
|
|
14881
15168
|
}
|
|
14882
15169
|
|
|
@@ -14896,5 +15183,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
14896
15183
|
* Generated bundle index. Do not edit.
|
|
14897
15184
|
*/
|
|
14898
15185
|
|
|
14899
|
-
export { APP_POPUP_MINIMIZED_WIDTH, APP_POPUP_NORMAL_HEIGHT, APP_POPUP_NORMAL_WIDTH, AbstractDbxClipboardDirective, AbstractDbxErrorWidgetComponent, AbstractDbxFileUploadComponent, AbstractDbxHelpWidgetDirective, AbstractDbxListAccordionViewDirective, AbstractDbxListGridViewDirective, AbstractDbxListViewDirective, AbstractDbxListWrapperDirective, AbstractDbxPartialPresetFilterMenuDirective, AbstractDbxSegueAnchorDirective, AbstractDbxSelectionListViewDirective, AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListItemModifierDirective, AbstractDbxValueListViewDirective, AbstractDbxValueListViewItemComponent, AbstractDbxWidgetComponent, AbstractDialogDirective, AbstractFilterPopoverButtonDirective, AbstractPopoverDirective, AbstractPopoverRefDirective, AbstractPopoverRefWithEventsDirective, AbstractPopupDirective, AbstractPromptConfirmDirective, CompactContextStore, CompactMode, DBX_ACTION_SNACKBAR_DEFAULTS, DBX_ACTION_SNACKBAR_SERVICE_CONFIG, DBX_AVATAR_CONTEXT_DATA_TOKEN, DBX_DARK_STYLE_CLASS_SUFFIX, DBX_HELP_WIDGET_ENTRY_DATA_TOKEN, DBX_LIST_DEFAULT_SCROLL_DISTANCE, DBX_LIST_DEFAULT_THROTTLE_SCROLL, DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION, DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY, DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY, DBX_LIST_VIEW_DEFAULT_META_ICON, DBX_MODEL_VIEW_TRACKER_STORAGE_ACCESSOR_TOKEN, DBX_PROGRESS_BUTTON_GLOBAL_CONFIG, DBX_ROUTER_ANCHOR_COMPONENTS, DBX_ROUTER_VALUE_LIST_ITEM_MODIFIER_KEY, DBX_STYLE_DEFAULT_CONFIG_TOKEN, DBX_THEME_COLORS, DBX_THEME_COLORS_EXTRA, DBX_THEME_COLORS_EXTRA_SECONDARY, DBX_THEME_COLORS_MAIN, DBX_VALUE_LIST_VIEW_ITEM, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY, DEFAULT_DBX_ERROR_SNACKBAR_CONFIG, DEFAULT_DBX_HELP_VIEW_POPOVER_KEY, DEFAULT_DBX_LINKIFY_STRING_TYPE, DEFAULT_DBX_LIST_ACCORDION_VIEW_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_LIST_GRID_VIEW_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION, DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_SIDENAV_MENU_ICON, DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES, DEFAULT_ERROR_POPOVER_KEY, DEFAULT_ERROR_WIDGET_CODE, DEFAULT_FILTER_POPOVER_KEY, DEFAULT_LIST_GRID_SIZE_CONFIG, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_LOADING_PROGRESS_DIAMETER, DEFAULT_SCREEN_MEDIA_SERVICE_CONFIG, DEFAULT_SNACKBAR_DIRECTIVE_DURATION, DEFAULT_TWO_COLUMNS_MIN_RIGHT_WIDTH, DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION, DbxAccordionHeaderHeightDirective, DbxActionConfirmDirective, DbxActionDialogDirective, DbxActionErrorDirective, DbxActionKeyTriggerDirective, DbxActionLoadingContextDirective, DbxActionModule, DbxActionPopoverDirective, DbxActionSnackbarComponent, DbxActionSnackbarDirective, DbxActionSnackbarErrorDirective, DbxActionSnackbarModule, DbxActionSnackbarService, DbxActionTransitionSafetyDirective, DbxActionUIRouterTransitionSafetyDialogComponent, DbxAnchorComponent, DbxAnchorContentComponent, DbxAnchorIconComponent, DbxAnchorListComponent, DbxAngularRouterSegueAnchorComponent, DbxAvatarComponent, DbxAvatarViewService, DbxAvatarViewServiceConfig, DbxBarDirective, DbxBarHeaderComponent, DbxBarLayoutModule, DbxBasicLoadingComponent, DbxBodyDirective, DbxButtonComponent, DbxButtonModule, DbxButtonSpacerDirective, DbxCardBoxComponent, DbxCardBoxContainerDirective, DbxCardBoxLayoutModule, DbxChipDirective, DbxClickToCopyTextComponent, DbxClickToCopyTextDirective, DbxColorDirective, DbxColumnLayoutModule, DbxCompactDirective, DbxCompactLayoutModule, DbxContentBorderDirective, DbxContentBoxDirective, DbxContentContainerDirective, DbxContentDirective, DbxContentElevateDirective, DbxContentLayoutModule, DbxContentPageDirective, DbxContentPitDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxDialogContentCloseComponent, DbxDialogContentDirective, DbxDialogContentFooterComponent, DbxDialogInteractionModule, DbxDialogModule, DbxDownloadBlobButtonComponent, DbxDownloadTextViewComponent, DbxEmbedComponent, DbxErrorComponent, DbxErrorDefaultErrorWidgetComponent, DbxErrorDetailsComponent, DbxErrorPopoverComponent, DbxErrorSnackbarComponent, DbxErrorSnackbarService, DbxErrorViewComponent, DbxErrorWidgetService, DbxErrorWidgetViewComponent, DbxFileUploadActionCompatable, DbxFileUploadActionSyncDirective, DbxFileUploadAreaComponent, DbxFileUploadButtonComponent, DbxFileUploadComponent, DbxFilterInteractionModule, DbxFilterPopoverButtonComponent, DbxFilterPopoverComponent, DbxFilterWrapperComponent, DbxFlagComponent, DbxFlagLayoutModule, DbxFlagPromptComponent, DbxFlexGroupDirective, DbxFlexLayoutModule, DbxFlexSizeDirective, DbxHelpContextDirective, DbxHelpContextService, DbxHelpViewListComponent, DbxHelpViewListEntryComponent, DbxHelpViewPopoverButtonComponent, DbxHelpViewPopoverComponent, DbxHelpWidgetService, DbxHelpWidgetServiceConfig, DbxIconButtonComponent, DbxIconButtonModule, DbxIconItemComponent, DbxIconSpacerDirective, DbxIfSidenavDisplayModeDirective, DbxIframeComponent, DbxInjectionDialogComponent, DbxInteractionModule, DbxIntroActionSectionComponent, DbxLabelBlockComponent, DbxLayoutModule, DbxLinkComponent, DbxLinkifyComponent, DbxLinkifyService, DbxLinkifyServiceConfig, DbxListAccordionViewComponentImportsModule, DbxListComponent, DbxListEmptyContentComponent, DbxListGridViewComponentImportsModule, DbxListInternalContentDirective, DbxListItemAnchorModifierDirective, DbxListItemDisableRippleModifierDirective, DbxListItemIsSelectedModifierDirective, DbxListModifierModule, DbxListModule, DbxListTitleGroupDirective, DbxListView, DbxListViewMetaIconComponent, DbxListViewWrapper, DbxListWrapperComponentImportsModule, DbxLoadingComponent, DbxLoadingErrorDirective, DbxLoadingModule, DbxLoadingProgressComponent, DbxModelObjectStateService, actions as DbxModelStateActions, model_actions as DbxModelStateModelActions, DbxModelTrackerService, DbxModelTypesService, DbxModelViewTrackerStorage, DbxNavbarComponent, DbxNumberWithLimitComponent, DbxOneColumnComponent, DbxOneColumnLayoutModule, DbxPagebarComponent, DbxPartialPresetFilterListComponent, DbxPartialPresetFilterMenuComponent, DbxPopoverCloseButtonComponent, DbxPopoverComponent, DbxPopoverComponentController, DbxPopoverContentComponent, DbxPopoverController, DbxPopoverControlsDirective, DbxPopoverCoordinatorComponent, DbxPopoverCoordinatorService, DbxPopoverHeaderComponent, DbxPopoverInteractionContentModule, DbxPopoverInteractionModule, DbxPopoverScrollContentDirective, DbxPopoverService, DbxPopupComponent, DbxPopupComponentController, DbxPopupContentComponent, DbxPopupControlButtonsComponent, DbxPopupController, DbxPopupControlsComponent, DbxPopupCoordinatorComponent, DbxPopupCoordinatorService, DbxPopupInteractionModule, DbxPopupService, DbxPopupWindowState, DbxPresetFilterListComponent, DbxPresetFilterMenuComponent, DbxProgressBarButtonComponent, DbxProgressButtonsModule, DbxProgressSpinnerButtonComponent, DbxPromptBoxDirective, DbxPromptComponent, DbxPromptConfirm, DbxPromptConfirmButtonDirective, DbxPromptConfirmComponent, DbxPromptConfirmDialogComponent, DbxPromptConfirmDirective, DbxPromptModule, DbxPromptPageComponent, DbxReadableErrorModule, DbxResizedDirective, DbxRouterAnchorModule, DbxRouterLayoutModule, DbxRouterSidenavModule, DbxRouterWebProviderConfig, DbxScreenMediaService, DbxScreenMediaServiceConfig, DbxSectionComponent, DbxSectionHeaderComponent, DbxSectionLayoutModule, DbxSectionPageComponent, DbxSelectionValueListViewComponent, DbxSelectionValueListViewComponentImportsModule, DbxSelectionValueListViewContentComponent, DbxSetStyleDirective, DbxSidenavButtonComponent, DbxSidenavComponent, DbxSidenavPageComponent, DbxSidenavPagebarComponent, DbxSpacerDirective, DbxStepComponent, DbxStepLayoutModule, DbxStructureDirective, DbxStructureModule, DbxStyleBodyDirective, DbxStyleDirective, DbxStyleLayoutModule, DbxStyleService, DbxSubSectionComponent, DbxTextChipsComponent, DbxTextModule, DbxTwoBlockComponent, DbxTwoColumnBackDirective, DbxTwoColumnColumnHeadDirective, DbxTwoColumnComponent, DbxTwoColumnContextDirective, DbxTwoColumnFullLeftDirective, DbxTwoColumnLayoutModule, DbxTwoColumnRightComponent, DbxTwoColumnSrefDirective, DbxTwoColumnSrefShowRightDirective, DbxUIRouterSegueAnchorComponent, DbxUnitedStatesAddressComponent, DbxValueListAccordionViewComponent, DbxValueListAccordionViewContentComponent, DbxValueListAccordionViewContentGroupComponent, DbxValueListGridSizeDirective, DbxValueListGridViewComponent, DbxValueListGridViewContentComponent, DbxValueListGridViewContentGroupComponent, DbxValueListItemModifier, DbxValueListItemModifierDirective, DbxValueListView, DbxValueListViewComponent, DbxValueListViewComponentImportsModule, DbxValueListViewContentComponent, DbxValueListViewContentGroupComponent, DbxValueListViewGroupDelegate, DbxWebFilePreviewComponent, DbxWebFilePreviewService, DbxWebModule, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent, DbxWidgetService, DbxWidgetViewComponent, DbxWindowKeyDownListenerDirective, DbxZipBlobPreviewComponent, DbxZipPreviewComponent, PopoverPositionStrategy, PopupGlobalPositionStrategy, SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP, SideNavDisplayMode, TRACK_BY_MODEL_ID, TRACK_BY_MODEL_KEY, TwoColumnsContextStore, UNKNOWN_ERROR_WIDGET_CODE, addConfigToValueListItems, allDbxModelViewTrackerEventModelKeys, allDbxModelViewTrackerEventSetModelKeys, catchErrorServerParams, compactModeFromInput, compareScreenMediaWidthTypes, convertServerErrorParams, convertToPOJOServerErrorResponse, convertToServerErrorResponse, copyToClipboardFunction, dbxColorBackground, dbxListAccordionViewComponentImportsAndExports, dbxListGridViewComponentImportsAndExports, dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, dbxStyleClassCleanSuffix, dbxValueListItemDecisionFunction, dbxZipBlobPreviewEntryTreeFromEntries, defaultDbxModelViewTrackerStorageAccessorFactory, defaultDbxValueListViewGroupDelegate, defaultDbxValueListViewGroupValuesFunction, disableRightClickInCdkBackdrop, fileAcceptFilterTypeStringArray, fileAcceptFunction, fileAcceptString, fileArrayAcceptMatchFunction, index as fromDbxModel, injectCopyToClipboardFunction, injectCopyToClipboardFunctionWithSnackbarMessage, listItemModifier, makeDbxActionSnackbarDisplayConfigGeneratorFunction, mapCompactModeObs, mapValuesToValuesListItemConfigObs, index$1 as onDbxModel, openEmbedDialog, openIframeDialog, openZipPreviewDialog, overrideClickElementEffect, provideDbxFileUploadActionCompatable, provideDbxHelpServices, provideDbxLinkify, provideDbxListView, provideDbxListViewWrapper, provideDbxModelService, provideDbxProgressButtonGlobalConfig, provideDbxPromptConfirm, provideDbxRouterWebAngularRouterProviderConfig, provideDbxRouterWebUiRouterProviderConfig, provideDbxScreenMediaService, provideDbxStyleService, provideDbxValueListView, provideDbxValueListViewGroupDelegate, provideDbxValueListViewModifier, provideDbxWebFilePreviewServiceEntries, provideTwoColumnsContext, registerHelpContextKeysWithDbxHelpContextService, resizeSignal, sanitizeDbxDialogContentConfig, screenMediaWidthTypeIsActive, trackByModelKeyRef, trackByUniqueIdentifier };
|
|
15186
|
+
export { APP_POPUP_MINIMIZED_WIDTH, APP_POPUP_NORMAL_HEIGHT, APP_POPUP_NORMAL_WIDTH, AbstractDbxClipboardDirective, AbstractDbxErrorWidgetComponent, AbstractDbxFileUploadComponent, AbstractDbxHelpWidgetDirective, AbstractDbxListAccordionViewDirective, AbstractDbxListGridViewDirective, AbstractDbxListViewDirective, AbstractDbxListWrapperDirective, AbstractDbxPartialPresetFilterMenuDirective, AbstractDbxSegueAnchorDirective, AbstractDbxSelectionListViewDirective, AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListItemModifierDirective, AbstractDbxValueListViewDirective, AbstractDbxValueListViewItemComponent, AbstractDbxWidgetComponent, AbstractDialogDirective, AbstractFilterPopoverButtonDirective, AbstractPopoverDirective, AbstractPopoverRefDirective, AbstractPopoverRefWithEventsDirective, AbstractPopupDirective, AbstractPromptConfirmDirective, CompactContextStore, CompactMode, DBX_ACTION_SNACKBAR_DEFAULTS, DBX_ACTION_SNACKBAR_SERVICE_CONFIG, DBX_AVATAR_CONTEXT_DATA_TOKEN, DBX_DARK_STYLE_CLASS_SUFFIX, DBX_HELP_WIDGET_ENTRY_DATA_TOKEN, DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS, DBX_LIST_DEFAULT_SCROLL_DISTANCE, DBX_LIST_DEFAULT_THROTTLE_SCROLL, DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS, DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION, DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY, DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY, DBX_LIST_VIEW_DEFAULT_META_ICON, DBX_MODEL_VIEW_TRACKER_STORAGE_ACCESSOR_TOKEN, DBX_PROGRESS_BUTTON_GLOBAL_CONFIG, DBX_ROUTER_ANCHOR_COMPONENTS, DBX_ROUTER_VALUE_LIST_ITEM_MODIFIER_KEY, DBX_STYLE_DEFAULT_CONFIG_TOKEN, DBX_THEME_COLORS, DBX_THEME_COLORS_EXTRA, DBX_THEME_COLORS_EXTRA_SECONDARY, DBX_THEME_COLORS_MAIN, DBX_VALUE_LIST_VIEW_ITEM, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY, DEFAULT_DBX_ERROR_SNACKBAR_CONFIG, DEFAULT_DBX_HELP_VIEW_POPOVER_KEY, DEFAULT_DBX_LINKIFY_STRING_TYPE, DEFAULT_DBX_LIST_ACCORDION_VIEW_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_LIST_GRID_VIEW_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION, DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_SIDENAV_MENU_ICON, DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES, DEFAULT_ERROR_POPOVER_KEY, DEFAULT_ERROR_WIDGET_CODE, DEFAULT_FILTER_POPOVER_KEY, DEFAULT_LIST_GRID_SIZE_CONFIG, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_LOADING_PROGRESS_DIAMETER, DEFAULT_SCREEN_MEDIA_SERVICE_CONFIG, DEFAULT_SNACKBAR_DIRECTIVE_DURATION, DEFAULT_TWO_COLUMNS_MIN_RIGHT_WIDTH, DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION, DbxAccordionHeaderHeightDirective, DbxActionConfirmDirective, DbxActionDialogDirective, DbxActionErrorDirective, DbxActionKeyTriggerDirective, DbxActionLoadingContextDirective, DbxActionModule, DbxActionPopoverDirective, DbxActionSnackbarComponent, DbxActionSnackbarDirective, DbxActionSnackbarErrorDirective, DbxActionSnackbarModule, DbxActionSnackbarService, DbxActionTransitionSafetyDirective, DbxActionUIRouterTransitionSafetyDialogComponent, DbxAnchorComponent, DbxAnchorContentComponent, DbxAnchorIconComponent, DbxAnchorListComponent, DbxAngularRouterSegueAnchorComponent, DbxAvatarComponent, DbxAvatarViewService, DbxAvatarViewServiceConfig, DbxBarDirective, DbxBarHeaderComponent, DbxBarLayoutModule, DbxBasicLoadingComponent, DbxBodyDirective, DbxButtonComponent, DbxButtonModule, DbxButtonSpacerDirective, DbxCardBoxComponent, DbxCardBoxContainerDirective, DbxCardBoxLayoutModule, DbxChipDirective, DbxClickToCopyTextComponent, DbxClickToCopyTextDirective, DbxColorDirective, DbxColumnLayoutModule, DbxCompactDirective, DbxCompactLayoutModule, DbxContentBorderDirective, DbxContentBoxDirective, DbxContentContainerDirective, DbxContentDirective, DbxContentElevateDirective, DbxContentLayoutModule, DbxContentPageDirective, DbxContentPitDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxDialogContentCloseComponent, DbxDialogContentDirective, DbxDialogContentFooterComponent, DbxDialogInteractionModule, DbxDialogModule, DbxDownloadBlobButtonComponent, DbxDownloadTextViewComponent, DbxEmbedComponent, DbxErrorComponent, DbxErrorDefaultErrorWidgetComponent, DbxErrorDetailsComponent, DbxErrorPopoverComponent, DbxErrorSnackbarComponent, DbxErrorSnackbarService, DbxErrorViewComponent, DbxErrorWidgetService, DbxErrorWidgetViewComponent, DbxFileUploadActionCompatable, DbxFileUploadActionSyncDirective, DbxFileUploadAreaComponent, DbxFileUploadButtonComponent, DbxFileUploadComponent, DbxFilterInteractionModule, DbxFilterPopoverButtonComponent, DbxFilterPopoverComponent, DbxFilterWrapperComponent, DbxFlagComponent, DbxFlagLayoutModule, DbxFlagPromptComponent, DbxFlexGroupDirective, DbxFlexLayoutModule, DbxFlexSizeDirective, DbxHelpContextDirective, DbxHelpContextService, DbxHelpViewListComponent, DbxHelpViewListEntryComponent, DbxHelpViewPopoverButtonComponent, DbxHelpViewPopoverComponent, DbxHelpWidgetService, DbxHelpWidgetServiceConfig, DbxIconButtonComponent, DbxIconButtonModule, DbxIconItemComponent, DbxIconSpacerDirective, DbxIfSidenavDisplayModeDirective, DbxIframeComponent, DbxInjectionDialogComponent, DbxInteractionModule, DbxIntroActionSectionComponent, DbxLabelBlockComponent, DbxLayoutModule, DbxLinkComponent, DbxLinkifyComponent, DbxLinkifyService, DbxLinkifyServiceConfig, DbxListAccordionViewComponentImportsModule, DbxListComponent, DbxListEmptyContentComponent, DbxListGridViewComponentImportsModule, DbxListInternalContentDirective, DbxListItemAnchorModifierDirective, DbxListItemDisableRippleModifierDirective, DbxListItemIsSelectedModifierDirective, DbxListModifierModule, DbxListModule, DbxListTitleGroupDirective, DbxListView, DbxListViewMetaIconComponent, DbxListViewWrapper, DbxListWrapperComponentImportsModule, DbxLoadingComponent, DbxLoadingErrorDirective, DbxLoadingModule, DbxLoadingProgressComponent, DbxModelObjectStateService, actions as DbxModelStateActions, model_actions as DbxModelStateModelActions, DbxModelTrackerService, DbxModelTypesService, DbxModelViewTrackerStorage, DbxNavbarComponent, DbxNumberWithLimitComponent, DbxOneColumnComponent, DbxOneColumnLayoutModule, DbxPagebarComponent, DbxPartialPresetFilterListComponent, DbxPartialPresetFilterMenuComponent, DbxPopoverCloseButtonComponent, DbxPopoverComponent, DbxPopoverComponentController, DbxPopoverContentComponent, DbxPopoverController, DbxPopoverControlsDirective, DbxPopoverCoordinatorComponent, DbxPopoverCoordinatorService, DbxPopoverHeaderComponent, DbxPopoverInteractionContentModule, DbxPopoverInteractionModule, DbxPopoverScrollContentDirective, DbxPopoverService, DbxPopupComponent, DbxPopupComponentController, DbxPopupContentComponent, DbxPopupControlButtonsComponent, DbxPopupController, DbxPopupControlsComponent, DbxPopupCoordinatorComponent, DbxPopupCoordinatorService, DbxPopupInteractionModule, DbxPopupService, DbxPopupWindowState, DbxPresetFilterListComponent, DbxPresetFilterMenuComponent, DbxProgressBarButtonComponent, DbxProgressButtonsModule, DbxProgressSpinnerButtonComponent, DbxPromptBoxDirective, DbxPromptComponent, DbxPromptConfirm, DbxPromptConfirmButtonDirective, DbxPromptConfirmComponent, DbxPromptConfirmDialogComponent, DbxPromptConfirmDirective, DbxPromptModule, DbxPromptPageComponent, DbxReadableErrorModule, DbxResizedDirective, DbxRouterAnchorModule, DbxRouterLayoutModule, DbxRouterSidenavModule, DbxRouterWebProviderConfig, DbxScreenMediaService, DbxScreenMediaServiceConfig, DbxSectionComponent, DbxSectionHeaderComponent, DbxSectionLayoutModule, DbxSectionPageComponent, DbxSelectionValueListViewComponent, DbxSelectionValueListViewComponentImportsModule, DbxSelectionValueListViewContentComponent, DbxSetStyleDirective, DbxSidenavButtonComponent, DbxSidenavComponent, DbxSidenavPageComponent, DbxSidenavPagebarComponent, DbxSpacerDirective, DbxStepComponent, DbxStepLayoutModule, DbxStructureDirective, DbxStructureModule, DbxStyleBodyDirective, DbxStyleDirective, DbxStyleLayoutModule, DbxStyleService, DbxSubSectionComponent, DbxTextChipsComponent, DbxTextModule, DbxTwoBlockComponent, DbxTwoColumnBackDirective, DbxTwoColumnColumnHeadDirective, DbxTwoColumnComponent, DbxTwoColumnContextDirective, DbxTwoColumnFullLeftDirective, DbxTwoColumnLayoutModule, DbxTwoColumnRightComponent, DbxTwoColumnSrefDirective, DbxTwoColumnSrefShowRightDirective, DbxUIRouterSegueAnchorComponent, DbxUnitedStatesAddressComponent, DbxValueListAccordionViewComponent, DbxValueListAccordionViewContentComponent, DbxValueListAccordionViewContentGroupComponent, DbxValueListGridSizeDirective, DbxValueListGridViewComponent, DbxValueListGridViewContentComponent, DbxValueListGridViewContentGroupComponent, DbxValueListItemModifier, DbxValueListItemModifierDirective, DbxValueListView, DbxValueListViewComponent, DbxValueListViewComponentImportsModule, DbxValueListViewContentComponent, DbxValueListViewContentGroupComponent, DbxValueListViewGroupDelegate, DbxWebFilePreviewComponent, DbxWebFilePreviewService, DbxWebModule, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent, DbxWidgetService, DbxWidgetViewComponent, DbxWindowKeyDownListenerDirective, DbxZipBlobPreviewComponent, DbxZipPreviewComponent, PopoverPositionStrategy, PopupGlobalPositionStrategy, SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP, SideNavDisplayMode, TRACK_BY_MODEL_ID, TRACK_BY_MODEL_KEY, TwoColumnsContextStore, UNKNOWN_ERROR_WIDGET_CODE, addConfigToValueListItems, allDbxModelViewTrackerEventModelKeys, allDbxModelViewTrackerEventSetModelKeys, catchErrorServerParams, compactModeFromInput, compareScreenMediaWidthTypes, convertServerErrorParams, convertToPOJOServerErrorResponse, convertToServerErrorResponse, copyToClipboardFunction, dbxColorBackground, dbxListAccordionViewComponentImportsAndExports, dbxListGridViewComponentImportsAndExports, dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, dbxStyleClassCleanSuffix, dbxValueListItemDecisionFunction, dbxZipBlobPreviewEntryTreeFromEntries, defaultDbxModelViewTrackerStorageAccessorFactory, defaultDbxValueListViewGroupDelegate, defaultDbxValueListViewGroupValuesFunction, disableRightClickInCdkBackdrop, fileAcceptFilterTypeStringArray, fileAcceptFunction, fileAcceptString, fileArrayAcceptMatchFunction, index as fromDbxModel, injectCopyToClipboardFunction, injectCopyToClipboardFunctionWithSnackbarMessage, listItemModifier, makeDbxActionSnackbarDisplayConfigGeneratorFunction, mapCompactModeObs, mapValuesToValuesListItemConfigObs, index$1 as onDbxModel, openEmbedDialog, openIframeDialog, openZipPreviewDialog, overrideClickElementEffect, provideDbxFileUploadActionCompatable, provideDbxHelpServices, provideDbxLinkify, provideDbxListView, provideDbxListViewWrapper, provideDbxModelService, provideDbxProgressButtonGlobalConfig, provideDbxPromptConfirm, provideDbxRouterWebAngularRouterProviderConfig, provideDbxRouterWebUiRouterProviderConfig, provideDbxScreenMediaService, provideDbxStyleService, provideDbxValueListView, provideDbxValueListViewGroupDelegate, provideDbxValueListViewModifier, provideDbxWebFilePreviewServiceEntries, provideTwoColumnsContext, registerHelpContextKeysWithDbxHelpContextService, resizeSignal, sanitizeDbxDialogContentConfig, screenMediaWidthTypeIsActive, trackByModelKeyRef, trackByUniqueIdentifier };
|
|
14900
15187
|
//# sourceMappingURL=dereekb-dbx-web.mjs.map
|