@dereekb/dbx-firebase 12.6.16 → 12.6.17

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.
@@ -3676,6 +3676,8 @@ class DbxFirebaseModelEntitiesEntityComponent {
3676
3676
  widgetInjectionConfig$ = combineLatest([this.currentWidgetEntry$, this.currentEntityWithStore$]).pipe(map(([entry, entity]) => (entity ? this.widgetInjectionConfigFactory(entry, entity) : null)), shareReplay(1));
3677
3677
  hasTypeInfoSignal = toSignal(this.hasTypeInfo$);
3678
3678
  displayInfoSignal = toSignal(this.displayInfo$);
3679
+ modelIdentitySignal = toSignal(this.modelIdentity$);
3680
+ modelTypeSignal = computed(() => this.modelIdentitySignal()?.modelType);
3679
3681
  widgetInjectionConfigSignal = toSignal(this.widgetInjectionConfig$);
3680
3682
  entityWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.entityComponentConfig);
3681
3683
  commonWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.commonComponentConfig);
@@ -3685,11 +3687,11 @@ class DbxFirebaseModelEntitiesEntityComponent {
3685
3687
  this.loadingContext.destroy();
3686
3688
  }
3687
3689
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3688
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesEntityComponent, isStandalone: true, selector: "dbx-firebase-model-entities-entity", inputs: { entity: { classPropertyName: "entity", publicName: "entity", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (displayInfoSignal(); as displayInfo) {\n @if (displayInfo.icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ displayInfo.icon }}</mat-icon>\n }\n <span>{{ displayInfo.title }}</span>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-firebase-model-entities-entity-panel-content\">\n <dbx-loading [context]=\"loadingContext\">\n @if (entityWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-entity-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (commonWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-common-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (debugWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-debug-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n </dbx-loading>\n </div>\n </ng-template>\n</mat-expansion-panel>\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3690
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesEntityComponent, isStandalone: true, selector: "dbx-firebase-model-entities-entity", inputs: { entity: { classPropertyName: "entity", publicName: "entity", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (displayInfoSignal(); as displayInfo) {\n <div class=\"dbx-list-two-line-item\">\n <div class=\"item-left\">\n <span class=\"dbx-pb2 dbx-flex-bar\">\n @if (displayInfo.icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ displayInfo.icon }}</mat-icon>\n }\n <span>{{ displayInfo.title }}</span>\n </span>\n <span class=\"dbx-hint dbx-small\">{{ modelTypeSignal() }}</span>\n </div>\n </div>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-firebase-model-entities-entity-panel-content\">\n <dbx-loading [context]=\"loadingContext\">\n @if (entityWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-entity-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (commonWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-common-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (debugWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-debug-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n </dbx-loading>\n </div>\n </ng-template>\n</mat-expansion-panel>\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3689
3691
  }
3690
3692
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, decorators: [{
3691
3693
  type: Component,
3692
- args: [{ selector: 'dbx-firebase-model-entities-entity', imports: [DbxInjectionComponent, DbxLoadingComponent, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent, MatIcon, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (displayInfoSignal(); as displayInfo) {\n @if (displayInfo.icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ displayInfo.icon }}</mat-icon>\n }\n <span>{{ displayInfo.title }}</span>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-firebase-model-entities-entity-panel-content\">\n <dbx-loading [context]=\"loadingContext\">\n @if (entityWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-entity-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (commonWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-common-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (debugWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-debug-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n </dbx-loading>\n </div>\n </ng-template>\n</mat-expansion-panel>\n" }]
3694
+ args: [{ selector: 'dbx-firebase-model-entities-entity', imports: [DbxInjectionComponent, DbxLoadingComponent, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent, MatIcon, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (displayInfoSignal(); as displayInfo) {\n <div class=\"dbx-list-two-line-item\">\n <div class=\"item-left\">\n <span class=\"dbx-pb2 dbx-flex-bar\">\n @if (displayInfo.icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ displayInfo.icon }}</mat-icon>\n }\n <span>{{ displayInfo.title }}</span>\n </span>\n <span class=\"dbx-hint dbx-small\">{{ modelTypeSignal() }}</span>\n </div>\n </div>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-firebase-model-entities-entity-panel-content\">\n <dbx-loading [context]=\"loadingContext\">\n @if (entityWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-entity-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (commonWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-common-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (debugWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-debug-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n </dbx-loading>\n </div>\n </ng-template>\n</mat-expansion-panel>\n" }]
3693
3695
  }] });
3694
3696
 
3695
3697
  class DbxFirebaseModelEntitiesComponent {
@@ -3698,33 +3700,66 @@ class DbxFirebaseModelEntitiesComponent {
3698
3700
  * Whether the accordion should allow multiple expanded panels.
3699
3701
  */
3700
3702
  multi = input(true);
3703
+ /**
3704
+ * If true, will only show entities that have a registered widget entry.
3705
+ *
3706
+ * Defaults to true.
3707
+ */
3708
+ onlyShowRegisteredTypes = input(true);
3709
+ /**
3710
+ * If true, will show unregistered entities, even if onlyShowRegisteredTypes is true.
3711
+ */
3712
+ showUnregisteredTypesSignal = signal(undefined);
3713
+ onlyShowRegisteredTypesSignal = computed(() => {
3714
+ const onlyShowRegisteredTypes = this.onlyShowRegisteredTypes();
3715
+ const showUnregisteredTypes = this.showUnregisteredTypesSignal();
3716
+ return !showUnregisteredTypes && onlyShowRegisteredTypes;
3717
+ });
3718
+ onlyShowRegisteredTypes$ = toObservable(this.onlyShowRegisteredTypesSignal).pipe(distinctUntilChanged(), shareReplay(1));
3701
3719
  entities = input();
3702
3720
  entities$ = toObservable(this.entities).pipe(switchMapMaybe(), map((x) => x ?? beginLoading()), shareReplay(1));
3703
- allEntitiesWithKeysState$ = this.entities$.pipe(mapLoadingStateValueWithOperator(switchMap((entities) => {
3721
+ allEntitiesState$ = this.entities$.pipe(mapLoadingStateValueWithOperator(switchMap((entities) => {
3704
3722
  const sortPriorityMap = this.entitiesWidgetService.getSortPriorityMap();
3705
3723
  const entitiesWithStore = (entities ?? []).filter((x) => Boolean(x.store));
3706
3724
  const entitiesWithKeys = combineLatest(entitiesWithStore.map((x) => {
3707
3725
  const sortPriorityMapEntry = sortPriorityMap.get(x.modelIdentity);
3708
- const isKnownType = sortPriorityMapEntry != null;
3726
+ const isRegisteredType = sortPriorityMapEntry != null;
3709
3727
  const sortPriority = sortPriorityMapEntry ?? -2;
3710
- const obs = x.store.currentKey$.pipe(map((key) => (key ? { key, ...x, sortPriority, isKnownType } : null)));
3728
+ const obs = x.store.currentKey$.pipe(map((key) => (key ? { key, ...x, sortPriority, isRegisteredType } : null)));
3711
3729
  return obs;
3712
3730
  }));
3713
- return entitiesWithKeys.pipe(filterMaybeArray(), map((entities) => {
3714
- return filterUniqueValues(entities, (x) => x.key).sort(reverseCompareFn(sortByNumberFunction((x) => x.sortPriority)));
3715
- }), defaultIfEmpty([]));
3731
+ return entitiesWithKeys.pipe(filterMaybeArray(), defaultIfEmpty([]), combineLatestWith(this.onlyShowRegisteredTypes$), map(([entities, onlyShowRegisteredTypes]) => {
3732
+ const filteredEntities = filterUniqueValues(entities, (x) => x.key).sort(reverseCompareFn(sortByNumberFunction((x) => x.sortPriority)));
3733
+ const { included: registeredEntities, excluded: unregisteredEntities } = separateValues(filteredEntities, (x) => x.isRegisteredType);
3734
+ const result = {
3735
+ entities: onlyShowRegisteredTypes ? registeredEntities : filteredEntities,
3736
+ onlyShowRegisteredTypes,
3737
+ registeredEntities,
3738
+ unregisteredEntities
3739
+ };
3740
+ return result;
3741
+ }));
3716
3742
  })), shareReplay(1));
3717
- entitiesWithKeys$ = this.allEntitiesWithKeysState$.pipe(valueFromFinishedLoadingState(), shareReplay(1));
3718
- entitiesWithKeysSignal = toSignal(this.entitiesWithKeys$, { initialValue: [] });
3743
+ allEntities$ = this.allEntitiesState$.pipe(valueFromFinishedLoadingState(), shareReplay(1));
3744
+ allEntitiesSignal = toSignal(this.allEntities$, { initialValue: { entities: [], registeredEntities: [], unregisteredEntities: [], onlyShowRegisteredTypes: false } });
3745
+ entitiesWithKeysSignal = computed(() => this.allEntitiesSignal()?.entities);
3746
+ unregisteredEntitiesCountSignal = computed(() => this.allEntitiesSignal()?.unregisteredEntities?.length ?? 0);
3747
+ showViewUnregisteredEntitiesButtonSignal = computed(() => {
3748
+ const { onlyShowRegisteredTypes, unregisteredEntities } = this.allEntitiesSignal() ?? {};
3749
+ return onlyShowRegisteredTypes && Boolean(unregisteredEntities?.length);
3750
+ });
3719
3751
  hasNoEntitiesSignal = computed(() => !this.entitiesWithKeysSignal()?.length);
3720
- context = loadingStateContext({ obs: this.allEntitiesWithKeysState$ });
3752
+ context = loadingStateContext({ obs: this.allEntitiesState$ });
3721
3753
  ngOnDestroy() {
3722
3754
  this.context.destroy();
3723
3755
  }
3756
+ clickShowUnregisteredEntities() {
3757
+ this.showUnregisteredTypesSignal.set(true);
3758
+ }
3724
3759
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3725
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesComponent, isStandalone: true, selector: "dbx-firebase-model-entities", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, entities: { classPropertyName: "entities", publicName: "entities", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3760
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesComponent, isStandalone: true, selector: "dbx-firebase-model-entities", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, onlyShowRegisteredTypes: { classPropertyName: "onlyShowRegisteredTypes", publicName: "onlyShowRegisteredTypes", isSignal: true, isRequired: false, transformFunction: null }, entities: { classPropertyName: "entities", publicName: "entities", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3726
3761
  <dbx-loading [linear]="true" [context]="context">
3727
- <mat-accordion [multi]="multi()">
3762
+ <mat-accordion class="dbx-firebase-model-entities-accordion" [multi]="multi()">
3728
3763
  @for (entity of entitiesWithKeysSignal(); track entity.key) {
3729
3764
  <dbx-firebase-model-entities-entity [entity]="entity"></dbx-firebase-model-entities-entity>
3730
3765
  }
@@ -3734,8 +3769,13 @@ class DbxFirebaseModelEntitiesComponent {
3734
3769
  <ng-content select="[empty]"></ng-content>
3735
3770
  </dbx-list-empty-content>
3736
3771
  }
3772
+ @if (showViewUnregisteredEntitiesButtonSignal()) {
3773
+ <div class="dbx-pt3 text-center">
3774
+ <dbx-icon-button icon="visibility" [text]="'View ' + unregisteredEntitiesCountSignal() + ' Hidden Entities'" (buttonClick)="clickShowUnregisteredEntities()"></dbx-icon-button>
3775
+ </div>
3776
+ }
3737
3777
  </dbx-loading>
3738
- `, isInline: true, dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "component", type: DbxFirebaseModelEntitiesEntityComponent, selector: "dbx-firebase-model-entities-entity", inputs: ["entity"] }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3778
+ `, isInline: true, dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "component", type: DbxFirebaseModelEntitiesEntityComponent, selector: "dbx-firebase-model-entities-entity", inputs: ["entity"] }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }, { kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3739
3779
  }
3740
3780
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, decorators: [{
3741
3781
  type: Component,
@@ -3743,7 +3783,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3743
3783
  selector: 'dbx-firebase-model-entities',
3744
3784
  template: `
3745
3785
  <dbx-loading [linear]="true" [context]="context">
3746
- <mat-accordion [multi]="multi()">
3786
+ <mat-accordion class="dbx-firebase-model-entities-accordion" [multi]="multi()">
3747
3787
  @for (entity of entitiesWithKeysSignal(); track entity.key) {
3748
3788
  <dbx-firebase-model-entities-entity [entity]="entity"></dbx-firebase-model-entities-entity>
3749
3789
  }
@@ -3753,9 +3793,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3753
3793
  <ng-content select="[empty]"></ng-content>
3754
3794
  </dbx-list-empty-content>
3755
3795
  }
3796
+ @if (showViewUnregisteredEntitiesButtonSignal()) {
3797
+ <div class="dbx-pt3 text-center">
3798
+ <dbx-icon-button icon="visibility" [text]="'View ' + unregisteredEntitiesCountSignal() + ' Hidden Entities'" (buttonClick)="clickShowUnregisteredEntities()"></dbx-icon-button>
3799
+ </div>
3800
+ }
3756
3801
  </dbx-loading>
3757
3802
  `,
3758
- imports: [MatAccordion, DbxLoadingComponent, DbxFirebaseModelEntitiesEntityComponent, DbxListEmptyContentComponent],
3803
+ imports: [MatAccordion, DbxLoadingComponent, DbxFirebaseModelEntitiesEntityComponent, DbxListEmptyContentComponent, DbxIconButtonComponent],
3759
3804
  changeDetection: ChangeDetectionStrategy.OnPush,
3760
3805
  standalone: true
3761
3806
  }]
@@ -3764,10 +3809,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3764
3809
  const DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY = 'entities';
3765
3810
  class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective {
3766
3811
  entities$ = this.popover.data?.entities$;
3767
- static openPopover(popupService, { origin, header, icon, emptyText, entities$ }, popoverKey) {
3812
+ static openPopover(popupService, config, popoverKey) {
3813
+ const { origin, header, icon, emptyText, entities$, onlyShowRegisteredTypes, popoverSizingConfig } = config;
3768
3814
  return popupService.open({
3769
3815
  height: '600px',
3770
3816
  width: '800px',
3817
+ isResizable: true,
3818
+ ...popoverSizingConfig,
3771
3819
  key: popoverKey ?? DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY,
3772
3820
  origin,
3773
3821
  componentClass: DbxFirebaseModelEntitiesPopoverComponent,
@@ -3775,9 +3823,9 @@ class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective
3775
3823
  header,
3776
3824
  icon,
3777
3825
  emptyText,
3778
- entities$
3779
- },
3780
- isResizable: true
3826
+ entities$,
3827
+ onlyShowRegisteredTypes
3828
+ }
3781
3829
  });
3782
3830
  }
3783
3831
  get config() {
@@ -3786,12 +3834,13 @@ class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective
3786
3834
  icon = this.config.icon ?? 'data_object';
3787
3835
  header = this.config.header ?? 'Entities';
3788
3836
  emptyText = this.config.emptyText ?? 'No entities found in current context.';
3837
+ onlyShowRegisteredTypes = this.config.onlyShowRegisteredTypes;
3789
3838
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3790
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\"></dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-firebase-model-entities [entities]=\"entities$\">\n <p empty>{{ emptyText }}</p>\n </dbx-firebase-model-entities>\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: DbxFirebaseModelEntitiesComponent, selector: "dbx-firebase-model-entities", inputs: ["multi", "entities"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3839
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\"></dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-firebase-model-entities [entities]=\"entities$\" [onlyShowRegisteredTypes]=\"onlyShowRegisteredTypes\">\n <p empty>{{ emptyText }}</p>\n </dbx-firebase-model-entities>\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: DbxFirebaseModelEntitiesComponent, selector: "dbx-firebase-model-entities", inputs: ["multi", "onlyShowRegisteredTypes", "entities"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3791
3840
  }
3792
3841
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, decorators: [{
3793
3842
  type: Component,
3794
- args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxFirebaseModelEntitiesComponent, DbxListEmptyContentComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\"></dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-firebase-model-entities [entities]=\"entities$\">\n <p empty>{{ emptyText }}</p>\n </dbx-firebase-model-entities>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
3843
+ args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxFirebaseModelEntitiesComponent, DbxListEmptyContentComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\"></dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-firebase-model-entities [entities]=\"entities$\" [onlyShowRegisteredTypes]=\"onlyShowRegisteredTypes\">\n <p empty>{{ emptyText }}</p>\n </dbx-firebase-model-entities>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
3795
3844
  }] });
3796
3845
 
3797
3846
  class DbxFirebaseModelEntitiesPopoverButtonComponent extends AbstractPopoverRefDirective {
@@ -4047,11 +4096,11 @@ class DbxFirebaseModelEntitiesDebugWidgetComponent extends AbstractDbxFirebaseMo
4047
4096
  this.context.destroy();
4048
4097
  }
4049
4098
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4050
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesDebugWidgetComponent, isStandalone: true, selector: "dbx-firebase-model-entities-debug-widget", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-firebase-model-entities-debug-widget\">\n <!-- Model Key Section -->\n <div class=\"dbx-debug-section\">\n <h4>Model Key Information</h4>\n @if (currentKey(); as key) {\n <dbx-firebase-model-key [modelKey]=\"key\"></dbx-firebase-model-key>\n }\n </div>\n\n <!-- Document Data Section -->\n <div class=\"dbx-debug-section\">\n <h4>Document Data</h4>\n <dbx-loading [context]=\"context\">\n @if (currentData(); as data) {\n <dbx-download-text-view [content]=\"contentSignal()\"></dbx-download-text-view>\n } @else {\n <p class=\"dbx-empty\">No data available</p>\n }\n </dbx-loading>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: DbxFirebaseModelKeyComponent, selector: "dbx-firebase-model-key", inputs: ["modelKey"] }, { kind: "component", type: DbxDownloadTextViewComponent, selector: "dbx-download-text-view", inputs: ["showDownloadButton", "loadingText", "linear", "showTitle", "showPreview", "showExpandPreviewButton", "expandPreview", "content", "contentState"], outputs: ["expandPreviewChange"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }] });
4099
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesDebugWidgetComponent, isStandalone: true, selector: "dbx-firebase-model-entities-debug-widget", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-firebase-model-entities-debug-widget\">\n <!-- Model Key Section -->\n <div class=\"dbx-debug-section\">\n <h4>Model Key Information</h4>\n @if (currentKey(); as key) {\n <dbx-firebase-model-key [modelKey]=\"key\"></dbx-firebase-model-key>\n }\n </div>\n\n <!-- Document Data Section -->\n <div class=\"dbx-debug-section\">\n <h4>Document Data</h4>\n <dbx-loading [context]=\"context\">\n @if (currentData(); as data) {\n <dbx-download-text-view [showTitle]=\"false\" [content]=\"contentSignal()\"></dbx-download-text-view>\n } @else {\n <p class=\"dbx-empty\">No data available</p>\n }\n </dbx-loading>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: DbxFirebaseModelKeyComponent, selector: "dbx-firebase-model-key", inputs: ["modelKey"] }, { kind: "component", type: DbxDownloadTextViewComponent, selector: "dbx-download-text-view", inputs: ["showDownloadButton", "loadingText", "linear", "showTitle", "showPreview", "showExpandPreviewButton", "expandPreview", "content", "contentState"], outputs: ["expandPreviewChange"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }] });
4051
4100
  }
4052
4101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, decorators: [{
4053
4102
  type: Component,
4054
- args: [{ selector: 'dbx-firebase-model-entities-debug-widget', standalone: true, imports: [DbxFirebaseModelKeyComponent, DbxClickToCopyTextComponent, DbxContentPitDirective, DbxDownloadTextViewComponent, DbxLoadingComponent, JsonPipe], template: "<div class=\"dbx-firebase-model-entities-debug-widget\">\n <!-- Model Key Section -->\n <div class=\"dbx-debug-section\">\n <h4>Model Key Information</h4>\n @if (currentKey(); as key) {\n <dbx-firebase-model-key [modelKey]=\"key\"></dbx-firebase-model-key>\n }\n </div>\n\n <!-- Document Data Section -->\n <div class=\"dbx-debug-section\">\n <h4>Document Data</h4>\n <dbx-loading [context]=\"context\">\n @if (currentData(); as data) {\n <dbx-download-text-view [content]=\"contentSignal()\"></dbx-download-text-view>\n } @else {\n <p class=\"dbx-empty\">No data available</p>\n }\n </dbx-loading>\n </div>\n</div>\n" }]
4103
+ args: [{ selector: 'dbx-firebase-model-entities-debug-widget', standalone: true, imports: [DbxFirebaseModelKeyComponent, DbxClickToCopyTextComponent, DbxContentPitDirective, DbxDownloadTextViewComponent, DbxLoadingComponent, JsonPipe], template: "<div class=\"dbx-firebase-model-entities-debug-widget\">\n <!-- Model Key Section -->\n <div class=\"dbx-debug-section\">\n <h4>Model Key Information</h4>\n @if (currentKey(); as key) {\n <dbx-firebase-model-key [modelKey]=\"key\"></dbx-firebase-model-key>\n }\n </div>\n\n <!-- Document Data Section -->\n <div class=\"dbx-debug-section\">\n <h4>Document Data</h4>\n <dbx-loading [context]=\"context\">\n @if (currentData(); as data) {\n <dbx-download-text-view [showTitle]=\"false\" [content]=\"contentSignal()\"></dbx-download-text-view>\n } @else {\n <p class=\"dbx-empty\">No data available</p>\n }\n </dbx-loading>\n </div>\n</div>\n" }]
4055
4104
  }] });
4056
4105
 
4057
4106
  /**