@dereekb/dbx-web 12.6.16 → 12.6.18
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/esm2022/lib/extension/help/help.view.list.component.mjs +34 -6
- package/esm2022/lib/extension/help/help.view.popover.component.mjs +9 -6
- package/esm2022/lib/extension/help/help.widget.mjs +1 -1
- package/esm2022/lib/extension/help/help.widget.service.mjs +16 -2
- package/esm2022/lib/interaction/popover/popover.service.mjs +1 -1
- package/esm2022/lib/router/provider/uirouter/anchor.component.mjs +57 -4
- package/fesm2022/dereekb-dbx-web.mjs +109 -12
- package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
- package/lib/extension/help/help.view.list.component.d.ts +14 -2
- package/lib/extension/help/help.view.popover.component.d.ts +17 -1
- package/lib/extension/help/help.widget.d.ts +6 -0
- package/lib/extension/help/help.widget.service.d.ts +12 -0
- package/lib/interaction/popover/popover.service.d.ts +1 -1
- package/lib/router/provider/uirouter/anchor.component.d.ts +18 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, input, inject, effect, Directive, NgModule, Component, output, computed, HostListener, InjectionToken, signal, ChangeDetectionStrategy, ElementRef, Injector, DestroyRef, viewChild, makeEnvironmentProviders, TemplateRef, model, SecurityContext, forwardRef, ViewContainerRef, Optional, Inject, Renderer2, ChangeDetectorRef } from '@angular/core';
|
|
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 } from '@dereekb/util';
|
|
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 { AbstractSubscriptionDirective, AbstractTransitionWatcherDirective, DbxInjectionComponent, AbstractDbxActionValueGetterDirective, AbstractDbxButtonDirective, provideDbxButton, dbxActionWorkProgress, DbxCoreButtonModule, AbstractDbxActionHandlerDirective, FilterSourceDirective, provideActionStoreSource, isClickableFilterPreset, AbstractDbxAnchorDirective, expandClickableAnchorLinkTrees, DbxCoreFilterModule, DbxButton, DbxActionContextStoreSourceInstance, DBX_INJECTION_COMPONENT_DATA, checkNgContentWrapperHasContent, DbxActionSourceDirective, DbxActionSuccessHandlerDirective, DbxActionDirective, DbxActionValueStreamDirective, transformEmptyStringInputToUndefined, isIdleActionState, canTriggerAction, DbxCoreActionModule, DbxActionButtonDirective, onDbxAppAuth, SimpleStorageAccessorFactory, mergeStaticProviders, asSegueRef, AbstractTransitionDirective, DbxRouterService, AbstractIfDirective, isSegueRefActive, anchorTypeForAnchor } from '@dereekb/dbx-core';
|
|
6
6
|
import { NgPopoverRef, NgOverlayContainerService } from 'ng-overlay-container';
|
|
@@ -8284,16 +8284,69 @@ function provideDbxRouterWebAngularRouterProviderConfig() {
|
|
|
8284
8284
|
* SegueAnchor implementation for UIRouter.
|
|
8285
8285
|
*/
|
|
8286
8286
|
class DbxUIRouterSegueAnchorComponent extends AbstractDbxSegueAnchorDirective {
|
|
8287
|
+
_cleanupClickOverride = null;
|
|
8287
8288
|
_parentAnchorSignal = toSignal(this.parent.anchor$, { initialValue: undefined });
|
|
8289
|
+
anchorElement = viewChild.required('anchor', { read: ElementRef });
|
|
8290
|
+
injectionElement = viewChild.required('injection', { read: ElementRef });
|
|
8291
|
+
anchorDisabledSignal = computed(() => this.anchorSignal()?.disabled ?? false);
|
|
8292
|
+
/**
|
|
8293
|
+
* This effect exists to solve the issue of an injected element that utilizes event.stopPropogation() and doesn't also call event.preventDefault().
|
|
8294
|
+
*
|
|
8295
|
+
* We didn't want to use css's pointer-events: none as that would disable the Angular Material button effects.
|
|
8296
|
+
*
|
|
8297
|
+
* For example, dbx-button would call event.stopPropagation() on click, which would prevent the uiSref from being triggered, but the default behavior
|
|
8298
|
+
* of the anchor element would still be triggered, causing the browser to load/reload the page at the given href instead of navigating to the new state using uiSref.
|
|
8299
|
+
*
|
|
8300
|
+
* NOTE: Those nested event listeners are still ultimately triggered.
|
|
8301
|
+
*/
|
|
8302
|
+
_overrideClickElementEffect = effect(() => {
|
|
8303
|
+
const anchorElement = this.anchorElement();
|
|
8304
|
+
const injectionElement = this.injectionElement();
|
|
8305
|
+
const anchorDisabled = this.anchorDisabledSignal();
|
|
8306
|
+
if (injectionElement) {
|
|
8307
|
+
// cleanup/remove the previous/existing click function
|
|
8308
|
+
if (this._cleanupClickOverride) {
|
|
8309
|
+
this._cleanupClickOverride();
|
|
8310
|
+
}
|
|
8311
|
+
if (!anchorDisabled) {
|
|
8312
|
+
const clickOverride = (event) => {
|
|
8313
|
+
// Allow ctrl+click, cmd+click, shift+click, and middle-click for new tab/window
|
|
8314
|
+
// Don't preventDefault or stopPropagation - let browser handle it naturally
|
|
8315
|
+
if (event.ctrlKey || event.metaKey || event.shiftKey || event.button === 1) {
|
|
8316
|
+
return; // Browser will open in new tab/window
|
|
8317
|
+
}
|
|
8318
|
+
else {
|
|
8319
|
+
// otherwise, also trigger a click on the uiSref anchor element
|
|
8320
|
+
anchorElement?.nativeElement.click();
|
|
8321
|
+
// Prevents the default behavior of the anchor element's href from being triggered
|
|
8322
|
+
event.preventDefault();
|
|
8323
|
+
event.stopPropagation();
|
|
8324
|
+
}
|
|
8325
|
+
};
|
|
8326
|
+
this._cleanupClickOverride = () => {
|
|
8327
|
+
injectionElement.nativeElement.removeEventListener('click', clickOverride);
|
|
8328
|
+
delete this._cleanupClickOverride;
|
|
8329
|
+
};
|
|
8330
|
+
injectionElement.nativeElement.addEventListener('click', clickOverride, {
|
|
8331
|
+
capture: true // Use capture to ensure this event listener is called before any nested child's event listeners
|
|
8332
|
+
});
|
|
8333
|
+
}
|
|
8334
|
+
}
|
|
8335
|
+
});
|
|
8288
8336
|
uiSrefSignal = computed(() => (this._parentAnchorSignal()?.ref ?? ''));
|
|
8289
8337
|
uiParamsSignal = computed(() => this._parentAnchorSignal()?.refParams);
|
|
8290
8338
|
uiOptionsSignal = computed(() => this._parentAnchorSignal()?.refOptions ?? {});
|
|
8339
|
+
ngOnDestroy() {
|
|
8340
|
+
if (this._cleanupClickOverride) {
|
|
8341
|
+
this._cleanupClickOverride();
|
|
8342
|
+
}
|
|
8343
|
+
}
|
|
8291
8344
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxUIRouterSegueAnchorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8292
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
8345
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxUIRouterSegueAnchorComponent, 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 dbx-anchor-sref\" #anchor [attr.target]=\"targetSignal()\" [uiSref]=\"uiSrefSignal()\" [uiParams]=\"uiParamsSignal()\" [uiOptions]=\"uiOptionsSignal()\" uiSrefActive=\"dbx-anchor-active\" uiSrefActiveEq=\"dbx-anchor-active-eq\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n", dependencies: [{ kind: "ngmodule", type: UIRouterModule }, { kind: "directive", type: i1$5.UISref, selector: "[uiSref]", inputs: ["uiSref", "uiParams", "uiOptions"], exportAs: ["uiSref"] }, { kind: "directive", type: i1$5.AnchorUISref, selector: "a[uiSref]" }, { kind: "directive", type: i1$5.UISrefActive, selector: "[uiSrefActive],[uiSrefActiveEq]", inputs: ["uiSrefActive", "uiSrefActiveEq"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8293
8346
|
}
|
|
8294
8347
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxUIRouterSegueAnchorComponent, decorators: [{
|
|
8295
8348
|
type: Component,
|
|
8296
|
-
args: [{ imports: [UIRouterModule, DbxInjectionComponent], standalone: true, template: "<a class=\"dbx-anchor-a dbx-anchor-sref\" [attr.target]=\"targetSignal()\" [uiSref]=\"uiSrefSignal()\" [uiParams]=\"uiParamsSignal()\" [uiOptions]=\"uiOptionsSignal()\" uiSrefActive=\"dbx-anchor-active\" uiSrefActiveEq=\"dbx-anchor-active-eq\">\n <dbx-injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n" }]
|
|
8349
|
+
args: [{ imports: [UIRouterModule, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<a class=\"dbx-anchor-a dbx-anchor-sref\" #anchor [attr.target]=\"targetSignal()\" [uiSref]=\"uiSrefSignal()\" [uiParams]=\"uiParamsSignal()\" [uiOptions]=\"uiOptionsSignal()\" uiSrefActive=\"dbx-anchor-active\" uiSrefActiveEq=\"dbx-anchor-active-eq\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n" }]
|
|
8297
8350
|
}] });
|
|
8298
8351
|
|
|
8299
8352
|
/**
|
|
@@ -11694,13 +11747,18 @@ class DbxHelpWidgetServiceConfig {
|
|
|
11694
11747
|
*/
|
|
11695
11748
|
class DbxHelpWidgetService {
|
|
11696
11749
|
_entries = new Map();
|
|
11750
|
+
_sortPriorityMap = cachedGetter(() => {
|
|
11751
|
+
return new Map(mapIterable(this._entries.values(), (entry) => [entry.helpContextString, entry.sortPriority ?? -1]));
|
|
11752
|
+
});
|
|
11697
11753
|
_defaultWidgetComponentClass;
|
|
11754
|
+
_helpListFooterComponentConfig;
|
|
11698
11755
|
_defaultIcon;
|
|
11699
11756
|
_popoverHeaderComponentConfig;
|
|
11700
11757
|
constructor(initialConfig) {
|
|
11701
11758
|
this.setDefaultWidgetComponentClass(initialConfig?.defaultWidgetComponentClass);
|
|
11702
11759
|
this.setDefaultIcon(initialConfig?.defaultIcon !== undefined ? initialConfig?.defaultIcon : 'help');
|
|
11703
11760
|
this.setPopoverHeaderComponentConfig(initialConfig?.popoverHeaderComponentConfig);
|
|
11761
|
+
this.setHelpListFooterComponentConfig(initialConfig?.helpListFooterComponentConfig);
|
|
11704
11762
|
if (initialConfig?.entries) {
|
|
11705
11763
|
this.register(initialConfig.entries);
|
|
11706
11764
|
}
|
|
@@ -11723,6 +11781,12 @@ class DbxHelpWidgetService {
|
|
|
11723
11781
|
setPopoverHeaderComponentConfig(componentConfig) {
|
|
11724
11782
|
this._popoverHeaderComponentConfig = componentConfig;
|
|
11725
11783
|
}
|
|
11784
|
+
getHelpListFooterComponentConfig() {
|
|
11785
|
+
return this._helpListFooterComponentConfig;
|
|
11786
|
+
}
|
|
11787
|
+
setHelpListFooterComponentConfig(componentConfig) {
|
|
11788
|
+
this._helpListFooterComponentConfig = componentConfig;
|
|
11789
|
+
}
|
|
11726
11790
|
/**
|
|
11727
11791
|
* Used to register one or more entries.
|
|
11728
11792
|
*
|
|
@@ -11753,6 +11817,9 @@ class DbxHelpWidgetService {
|
|
|
11753
11817
|
hasHelpWidgetEntry(context) {
|
|
11754
11818
|
return this._entries.has(context);
|
|
11755
11819
|
}
|
|
11820
|
+
getSortPriorityMap() {
|
|
11821
|
+
return this._sortPriorityMap();
|
|
11822
|
+
}
|
|
11756
11823
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpWidgetService, deps: [{ token: DbxHelpWidgetServiceConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11757
11824
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpWidgetService });
|
|
11758
11825
|
}
|
|
@@ -11860,13 +11927,34 @@ class DbxHelpViewListComponent {
|
|
|
11860
11927
|
* Whether the accordion should allow multiple expanded panels.
|
|
11861
11928
|
*/
|
|
11862
11929
|
multi = input(true);
|
|
11930
|
+
/**
|
|
11931
|
+
* Whether or not to show the empty list content.
|
|
11932
|
+
*/
|
|
11933
|
+
allowEmptyListContent = input(true);
|
|
11934
|
+
/**
|
|
11935
|
+
* Optional footer component config to inject after the list.
|
|
11936
|
+
*
|
|
11937
|
+
* If set null, then will not show any footer.
|
|
11938
|
+
*/
|
|
11939
|
+
helpListFooterComponentConfig = input(undefined);
|
|
11863
11940
|
helpContextStrings = input.required();
|
|
11864
|
-
helpContextStrings$ = toObservable(this.helpContextStrings).pipe(switchMap((x) => asObservable(x) ?? of([])), map(asArray), distinctUntilHasDifferentValues(),
|
|
11941
|
+
helpContextStrings$ = toObservable(this.helpContextStrings).pipe(switchMap((x) => asObservable(x) ?? of([])), map(asArray), distinctUntilHasDifferentValues(), map((x) => {
|
|
11942
|
+
const sortPriorityMap = this.helpWidgetService.getSortPriorityMap();
|
|
11943
|
+
const sorted = [...x].sort(sortByNumberFunction((x) => sortPriorityMap.get(x) ?? -2));
|
|
11944
|
+
return sorted;
|
|
11945
|
+
}), shareReplay(1));
|
|
11865
11946
|
helpContextStringsSignal = toSignal(this.helpContextStrings$, { initialValue: [] });
|
|
11866
11947
|
helpWidgetEntriesSignal = computed(() => this.helpWidgetService.getHelpWidgetEntriesForHelpContextStrings(this.helpContextStringsSignal()));
|
|
11867
11948
|
hasNoHelpWidgetEntriesSignal = computed(() => !this.helpWidgetEntriesSignal()?.length);
|
|
11949
|
+
helpListFooterComponentConfigSignal = computed(() => {
|
|
11950
|
+
let config = this.helpListFooterComponentConfig();
|
|
11951
|
+
if (config !== null) {
|
|
11952
|
+
config = this.helpWidgetService.getHelpListFooterComponentConfig();
|
|
11953
|
+
}
|
|
11954
|
+
return config;
|
|
11955
|
+
});
|
|
11868
11956
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11869
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxHelpViewListComponent, isStandalone: true, selector: "dbx-help-view-list", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, helpContextStrings: { classPropertyName: "helpContextStrings", publicName: "helpContextStrings", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "dbx-help-view-list dbx-block" }, ngImport: i0, template: `
|
|
11957
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxHelpViewListComponent, isStandalone: true, selector: "dbx-help-view-list", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, allowEmptyListContent: { classPropertyName: "allowEmptyListContent", publicName: "allowEmptyListContent", isSignal: true, isRequired: false, transformFunction: null }, helpListFooterComponentConfig: { classPropertyName: "helpListFooterComponentConfig", publicName: "helpListFooterComponentConfig", isSignal: true, isRequired: false, transformFunction: null }, helpContextStrings: { classPropertyName: "helpContextStrings", publicName: "helpContextStrings", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "dbx-help-view-list dbx-block" }, ngImport: i0, template: `
|
|
11870
11958
|
<mat-accordion [multi]="multi()">
|
|
11871
11959
|
@for (widgetEntry of helpWidgetEntriesSignal(); track widgetEntry.helpContextString) {
|
|
11872
11960
|
<dbx-help-view-list-entry [helpWidgetEntry]="widgetEntry"></dbx-help-view-list-entry>
|
|
@@ -11877,7 +11965,10 @@ class DbxHelpViewListComponent {
|
|
|
11877
11965
|
<ng-content select="[empty]"></ng-content>
|
|
11878
11966
|
</dbx-list-empty-content>
|
|
11879
11967
|
}
|
|
11880
|
-
|
|
11968
|
+
<div class="dbx-help-view-list-footer">
|
|
11969
|
+
<dbx-injection [config]="helpListFooterComponentConfigSignal()"></dbx-injection>
|
|
11970
|
+
</div>
|
|
11971
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: DbxHelpViewListEntryComponent, selector: "dbx-help-view-list-entry", inputs: ["helpWidgetEntry"] }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11881
11972
|
}
|
|
11882
11973
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewListComponent, decorators: [{
|
|
11883
11974
|
type: Component,
|
|
@@ -11894,11 +11985,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
11894
11985
|
<ng-content select="[empty]"></ng-content>
|
|
11895
11986
|
</dbx-list-empty-content>
|
|
11896
11987
|
}
|
|
11988
|
+
<div class="dbx-help-view-list-footer">
|
|
11989
|
+
<dbx-injection [config]="helpListFooterComponentConfigSignal()"></dbx-injection>
|
|
11990
|
+
</div>
|
|
11897
11991
|
`,
|
|
11898
11992
|
host: {
|
|
11899
11993
|
class: 'dbx-help-view-list dbx-block'
|
|
11900
11994
|
},
|
|
11901
|
-
imports: [MatAccordion, DbxHelpViewListEntryComponent, DbxListEmptyContentComponent],
|
|
11995
|
+
imports: [MatAccordion, DbxHelpViewListEntryComponent, DbxListEmptyContentComponent, DbxInjectionComponent],
|
|
11902
11996
|
standalone: true,
|
|
11903
11997
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
11904
11998
|
}]
|
|
@@ -11913,15 +12007,16 @@ class DbxHelpViewPopoverComponent extends AbstractPopoverDirective {
|
|
|
11913
12007
|
_helpWidgetService = inject(DbxHelpWidgetService);
|
|
11914
12008
|
helpContextStrings$ = this.popover.data?.helpContextStrings ?? this._helpContextService.activeHelpContextStringsArray$;
|
|
11915
12009
|
static openPopover(popoverService, config, popoverKey) {
|
|
11916
|
-
const { origin, ...data } = config;
|
|
12010
|
+
const { origin, popoverSizingConfig, ...data } = config;
|
|
11917
12011
|
return popoverService.open({
|
|
11918
12012
|
height: '500px',
|
|
11919
12013
|
width: '600px',
|
|
12014
|
+
...popoverSizingConfig,
|
|
11920
12015
|
key: popoverKey ?? DEFAULT_DBX_HELP_VIEW_POPOVER_KEY,
|
|
11921
|
-
origin,
|
|
11922
12016
|
componentClass: DbxHelpViewPopoverComponent,
|
|
11923
12017
|
data,
|
|
11924
|
-
isResizable: true
|
|
12018
|
+
isResizable: true,
|
|
12019
|
+
origin
|
|
11925
12020
|
});
|
|
11926
12021
|
}
|
|
11927
12022
|
get config() {
|
|
@@ -11930,6 +12025,8 @@ class DbxHelpViewPopoverComponent extends AbstractPopoverDirective {
|
|
|
11930
12025
|
icon = this.config.icon ?? 'help';
|
|
11931
12026
|
header = this.config.header ?? 'Help';
|
|
11932
12027
|
emptyText = this.config.emptyText ?? 'No help topics available in current context.';
|
|
12028
|
+
allowEmptyListContent = this.config.allowEmptyListContent ?? true;
|
|
12029
|
+
helpListFooterComponentConfig = this.config.helpListFooterComponentConfig;
|
|
11933
12030
|
popoverHeaderConfig = (() => {
|
|
11934
12031
|
let config = this.config.popoverHeaderConfig;
|
|
11935
12032
|
if (!config) {
|
|
@@ -11938,11 +12035,11 @@ class DbxHelpViewPopoverComponent extends AbstractPopoverDirective {
|
|
|
11938
12035
|
return config;
|
|
11939
12036
|
})();
|
|
11940
12037
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
11941
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxHelpViewPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <dbx-injection [config]=\"popoverHeaderConfig\"></dbx-injection>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-help-view-list [helpContextStrings]=\"helpContextStrings$\">\n <p empty>{{ emptyText }}</p>\n </dbx-help-view-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "component", type: DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "directive", type: DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "component", type: DbxHelpViewListComponent, selector: "dbx-help-view-list", inputs: ["multi", "helpContextStrings"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12038
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxHelpViewPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <dbx-injection [config]=\"popoverHeaderConfig\"></dbx-injection>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-help-view-list [helpContextStrings]=\"helpContextStrings$\" [allowEmptyListContent]=\"allowEmptyListContent\" [helpListFooterComponentConfig]=\"helpListFooterComponentConfig\">\n <p empty>{{ emptyText }}</p>\n </dbx-help-view-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "component", type: DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "directive", type: DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "component", type: DbxHelpViewListComponent, selector: "dbx-help-view-list", inputs: ["multi", "allowEmptyListContent", "helpListFooterComponentConfig", "helpContextStrings"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11942
12039
|
}
|
|
11943
12040
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewPopoverComponent, decorators: [{
|
|
11944
12041
|
type: Component,
|
|
11945
|
-
args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxHelpViewListComponent, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <dbx-injection [config]=\"popoverHeaderConfig\"></dbx-injection>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-help-view-list [helpContextStrings]=\"helpContextStrings$\">\n <p empty>{{ emptyText }}</p>\n </dbx-help-view-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
|
|
12042
|
+
args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxHelpViewListComponent, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <dbx-injection [config]=\"popoverHeaderConfig\"></dbx-injection>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-help-view-list [helpContextStrings]=\"helpContextStrings$\" [allowEmptyListContent]=\"allowEmptyListContent\" [helpListFooterComponentConfig]=\"helpListFooterComponentConfig\">\n <p empty>{{ emptyText }}</p>\n </dbx-help-view-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
|
|
11946
12043
|
}] });
|
|
11947
12044
|
|
|
11948
12045
|
/**
|