@memberjunction/ng-dashboards 2.120.0 → 2.122.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AI/components/agents/agent-configuration.component.d.ts +23 -11
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +122 -95
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.js +88 -90
- package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
- package/dist/AI/components/agents/agent-filter-panel.component.js +2 -2
- package/dist/AI/components/execution-monitoring.component.d.ts +23 -10
- package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js +143 -124
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management-v2.component.d.ts +17 -13
- package/dist/AI/components/models/model-management-v2.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management-v2.component.js +248 -266
- package/dist/AI/components/models/model-management-v2.component.js.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +76 -78
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-filter-panel.component.js +2 -2
- package/dist/AI/components/prompts/prompt-management-v2.component.d.ts +17 -15
- package/dist/AI/components/prompts/prompt-management-v2.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management-v2.component.js +372 -397
- package/dist/AI/components/prompts/prompt-management-v2.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-version-control.component.js +100 -102
- package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
- package/dist/AI/components/system/system-config-filter-panel.component.js +2 -2
- package/dist/AI/components/system/system-configuration.component.d.ts +17 -10
- package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +82 -61
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/widgets/kpi-card.component.d.ts.map +1 -1
- package/dist/AI/components/widgets/kpi-card.component.js +11 -7
- package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
- package/dist/AI/index.d.ts +4 -0
- package/dist/AI/index.d.ts.map +1 -1
- package/dist/AI/index.js +6 -1
- package/dist/AI/index.js.map +1 -1
- package/dist/Actions/components/actions-list-view.component.js +9 -9
- package/dist/Actions/components/actions-list-view.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.d.ts +16 -13
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +62 -48
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/categories-list-view.component.js +9 -9
- package/dist/Actions/components/categories-list-view.component.js.map +1 -1
- package/dist/Actions/components/code-management.component.d.ts +17 -7
- package/dist/Actions/components/code-management.component.d.ts.map +1 -1
- package/dist/Actions/components/code-management.component.js +45 -12
- package/dist/Actions/components/code-management.component.js.map +1 -1
- package/dist/Actions/components/entity-integration.component.d.ts +17 -7
- package/dist/Actions/components/entity-integration.component.d.ts.map +1 -1
- package/dist/Actions/components/entity-integration.component.js +45 -12
- package/dist/Actions/components/entity-integration.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +16 -10
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +56 -30
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.d.ts +17 -7
- package/dist/Actions/components/scheduled-actions.component.d.ts.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.js +45 -12
- package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
- package/dist/Actions/components/security-permissions.component.d.ts +17 -7
- package/dist/Actions/components/security-permissions.component.d.ts.map +1 -1
- package/dist/Actions/components/security-permissions.component.js +45 -12
- package/dist/Actions/components/security-permissions.component.js.map +1 -1
- package/dist/Actions/index.d.ts +6 -1
- package/dist/Actions/index.d.ts.map +1 -1
- package/dist/Actions/index.js +9 -1
- package/dist/Actions/index.js.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js +8 -8
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-load-dialog.component.js +52 -57
- package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +8 -9
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +107 -0
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -0
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +553 -0
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -0
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts +179 -0
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts.map +1 -0
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js +814 -0
- package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js.map +1 -0
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts +151 -0
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +1 -0
- package/dist/DataExplorer/components/view-selector/view-selector.component.js +480 -0
- package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -0
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +439 -0
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -0
- package/dist/DataExplorer/data-explorer-dashboard.component.js +2129 -0
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -0
- package/dist/DataExplorer/index.d.ts +5 -0
- package/dist/DataExplorer/index.d.ts.map +1 -0
- package/dist/DataExplorer/index.js +10 -0
- package/dist/DataExplorer/index.js.map +1 -0
- package/dist/DataExplorer/models/explorer-state.interface.d.ts +183 -0
- package/dist/DataExplorer/models/explorer-state.interface.d.ts.map +1 -0
- package/dist/DataExplorer/models/explorer-state.interface.js +31 -0
- package/dist/DataExplorer/models/explorer-state.interface.js.map +1 -0
- package/dist/DataExplorer/services/explorer-state.service.d.ts +232 -0
- package/dist/DataExplorer/services/explorer-state.service.d.ts.map +1 -0
- package/dist/DataExplorer/services/explorer-state.service.js +912 -0
- package/dist/DataExplorer/services/explorer-state.service.js.map +1 -0
- package/dist/EntityAdmin/components/entity-details.component.d.ts.map +1 -1
- package/dist/EntityAdmin/components/entity-details.component.js +11 -13
- package/dist/EntityAdmin/components/entity-details.component.js.map +1 -1
- package/dist/EntityAdmin/components/entity-filter-panel.component.js +2 -2
- package/dist/EntityAdmin/components/erd-composite.component.js +2 -2
- package/dist/EntityAdmin/components/erd-diagram.component.js +2 -2
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +14 -15
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +122 -0
- package/dist/Home/home-dashboard.component.d.ts.map +1 -0
- package/dist/Home/home-dashboard.component.js +698 -0
- package/dist/Home/home-dashboard.component.js.map +1 -0
- package/dist/Scheduling/components/index.d.ts +11 -0
- package/dist/Scheduling/components/index.d.ts.map +1 -0
- package/dist/Scheduling/components/index.js +13 -0
- package/dist/Scheduling/components/index.js.map +1 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-health-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-health.component.js +7 -8
- package/dist/Scheduling/components/scheduling-health.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-history-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-history-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-history-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-history-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-history.component.js +7 -8
- package/dist/Scheduling/components/scheduling-history.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-jobs.component.js +7 -8
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-monitor-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-monitor-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-monitoring.component.js +7 -8
- package/dist/Scheduling/components/scheduling-monitoring.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-types-resource.component.d.ts +20 -0
- package/dist/Scheduling/components/scheduling-types-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-types-resource.component.js +55 -0
- package/dist/Scheduling/components/scheduling-types-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-types.component.js +7 -8
- package/dist/Scheduling/components/scheduling-types.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +3 -3
- package/dist/Testing/components/index.d.ts +11 -0
- package/dist/Testing/components/index.d.ts.map +1 -0
- package/dist/Testing/components/index.js +13 -0
- package/dist/Testing/components/index.js.map +1 -0
- package/dist/Testing/components/testing-analytics-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-analytics-resource.component.js +55 -0
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-execution-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-execution-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-execution-resource.component.js +55 -0
- package/dist/Testing/components/testing-execution-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-execution.component.js +3 -3
- package/dist/Testing/components/testing-execution.component.js.map +1 -1
- package/dist/Testing/components/testing-feedback-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-feedback-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-feedback-resource.component.js +55 -0
- package/dist/Testing/components/testing-feedback-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-overview-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-overview-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-overview-resource.component.js +55 -0
- package/dist/Testing/components/testing-overview-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-version-resource.component.d.ts +20 -0
- package/dist/Testing/components/testing-version-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-version-resource.component.js +55 -0
- package/dist/Testing/components/testing-version-resource.component.js.map +1 -0
- package/dist/Testing/testing-dashboard.component.d.ts +1 -1
- package/dist/Testing/testing-dashboard.component.js +23 -25
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/module.d.ts +83 -66
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +137 -19
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +6 -4
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +41 -13
- package/dist/public-api.js.map +1 -1
- package/package.json +17 -14
- package/dist/AI/ai-dashboard.component.d.ts +0 -62
- package/dist/AI/ai-dashboard.component.d.ts.map +0 -1
- package/dist/AI/ai-dashboard.component.js +0 -338
- package/dist/AI/ai-dashboard.component.js.map +0 -1
- package/dist/Actions/actions-management-dashboard.component.d.ts +0 -52
- package/dist/Actions/actions-management-dashboard.component.d.ts.map +0 -1
- package/dist/Actions/actions-management-dashboard.component.js +0 -308
- package/dist/Actions/actions-management-dashboard.component.js.map +0 -1
- package/dist/generic/base-dashboard.d.ts +0 -65
- package/dist/generic/base-dashboard.d.ts.map +0 -1
- package/dist/generic/base-dashboard.js +0 -74
- package/dist/generic/base-dashboard.js.map +0 -1
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
import { OnInit, OnDestroy, ChangeDetectorRef, OnChanges, SimpleChanges, ElementRef } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { BaseDashboard } from '@memberjunction/ng-shared';
|
|
4
|
+
import { RecentAccessService } from '@memberjunction/ng-shared-generic';
|
|
5
|
+
import { EntityInfo } from '@memberjunction/core';
|
|
6
|
+
import { BaseEntity } from '@memberjunction/core';
|
|
7
|
+
import { RecordSelectedEvent, RecordOpenedEvent, DataLoadedEvent, FilteredCountChangedEvent, EntityViewerConfig, EntityViewMode, NavigateToRelatedEvent, EntityViewerComponent, ViewGridStateConfig, GridStateChangedEvent } from '@memberjunction/ng-entity-viewer';
|
|
8
|
+
import { ViewSelectedEvent, SaveViewRequestedEvent, ViewSelectorComponent } from './components/view-selector/view-selector.component';
|
|
9
|
+
import { ViewSaveEvent } from './components/view-config-panel/view-config-panel.component';
|
|
10
|
+
import { UserViewEntityExtended } from '@memberjunction/core-entities';
|
|
11
|
+
import { ExplorerStateService } from './services/explorer-state.service';
|
|
12
|
+
import { DataExplorerState, DataExplorerFilter, BreadcrumbItem, DataExplorerDeepLink, RecentRecordAccess, FavoriteRecord } from './models/explorer-state.interface';
|
|
13
|
+
import { OpenRecordEvent, SelectRecordEvent } from './components/navigation-panel/navigation-panel.component';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
/**
|
|
16
|
+
* Data Explorer Dashboard - Power user interface for exploring data across entities
|
|
17
|
+
* Combines card-based browsing with grid views and relationship visualization
|
|
18
|
+
*
|
|
19
|
+
* Uses mj-entity-viewer composite component for the main content area,
|
|
20
|
+
* which handles data loading, filtering, and view mode switching.
|
|
21
|
+
*/
|
|
22
|
+
export declare class DataExplorerDashboardComponent extends BaseDashboard implements OnInit, OnDestroy, OnChanges {
|
|
23
|
+
stateService: ExplorerStateService;
|
|
24
|
+
private cdr;
|
|
25
|
+
private router;
|
|
26
|
+
private recentAccessService;
|
|
27
|
+
private destroy$;
|
|
28
|
+
private metadata;
|
|
29
|
+
/** Reference to the filter input for keyboard shortcuts */
|
|
30
|
+
filterInputRef: ElementRef<HTMLInputElement> | undefined;
|
|
31
|
+
/** Reference to the view selector for refreshing after save */
|
|
32
|
+
viewSelectorRef: ViewSelectorComponent | undefined;
|
|
33
|
+
/** Reference to the entity viewer for refreshing after view save */
|
|
34
|
+
entityViewerRef: EntityViewerComponent | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Optional filter to constrain which entities are shown in the explorer.
|
|
37
|
+
* Can filter by applicationId, schemaNames, or explicit entityNames.
|
|
38
|
+
*/
|
|
39
|
+
entityFilter: DataExplorerFilter | null;
|
|
40
|
+
/**
|
|
41
|
+
* Optional deep link to navigate to a specific entity/record on load.
|
|
42
|
+
* Parsed from URL query parameters (e.g., ?entity=Users&record=123)
|
|
43
|
+
*/
|
|
44
|
+
deepLink: DataExplorerDeepLink | null;
|
|
45
|
+
/**
|
|
46
|
+
* Optional context name to display in the header instead of "Data Explorer".
|
|
47
|
+
* Use this to customize the explorer for specific applications (e.g., "CRM", "Association Demo").
|
|
48
|
+
*/
|
|
49
|
+
contextName: string | null;
|
|
50
|
+
/**
|
|
51
|
+
* Optional context icon (Font Awesome class) to display in the header.
|
|
52
|
+
* Use this alongside contextName for a fully customized header (e.g., "fa-solid fa-users" for CRM).
|
|
53
|
+
*/
|
|
54
|
+
contextIcon: string | null;
|
|
55
|
+
state: DataExplorerState;
|
|
56
|
+
private allEntities;
|
|
57
|
+
entities: EntityInfo[];
|
|
58
|
+
private applicationEntityIds;
|
|
59
|
+
selectedEntity: EntityInfo | null;
|
|
60
|
+
totalRecordCount: number;
|
|
61
|
+
filteredRecordCount: number;
|
|
62
|
+
selectedRecord: BaseEntity | null;
|
|
63
|
+
detailPanelEntity: EntityInfo | null;
|
|
64
|
+
private loadedRecords;
|
|
65
|
+
selectedViewEntity: UserViewEntityExtended | null;
|
|
66
|
+
debouncedFilterText: string;
|
|
67
|
+
private filterInput$;
|
|
68
|
+
entityFilterText: string;
|
|
69
|
+
breadcrumbs: BreadcrumbItem[];
|
|
70
|
+
isLoadingEntities: boolean;
|
|
71
|
+
private skipUrlUpdates;
|
|
72
|
+
private lastNavigatedUrl;
|
|
73
|
+
recentRecords: RecentRecordAccess[];
|
|
74
|
+
favoriteRecords: FavoriteRecord[];
|
|
75
|
+
isLoadingRecentRecords: boolean;
|
|
76
|
+
recentRecordsEntityFilter: string | null;
|
|
77
|
+
/**
|
|
78
|
+
* Filtered entities based on entityFilterText (for home screen)
|
|
79
|
+
* Excludes entities shown in recent or favorites sections
|
|
80
|
+
* Applies Common/All toggle filtering
|
|
81
|
+
*/
|
|
82
|
+
get filteredEntities(): EntityInfo[];
|
|
83
|
+
/**
|
|
84
|
+
* Get recent entities for home screen display (max 5)
|
|
85
|
+
*/
|
|
86
|
+
get recentEntities(): EntityInfo[];
|
|
87
|
+
/**
|
|
88
|
+
* Get favorite entities for home screen display
|
|
89
|
+
*/
|
|
90
|
+
get favoriteEntities(): EntityInfo[];
|
|
91
|
+
/**
|
|
92
|
+
* Check if we should show the Common/All toggle
|
|
93
|
+
* Only show if we have DefaultForNewUser information
|
|
94
|
+
*/
|
|
95
|
+
get showCommonAllToggle(): boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Total count of all entities (for display)
|
|
98
|
+
*/
|
|
99
|
+
get allEntitiesCount(): number;
|
|
100
|
+
/**
|
|
101
|
+
* Count of common (DefaultForNewUser) entities
|
|
102
|
+
*/
|
|
103
|
+
get commonEntitiesCount(): number;
|
|
104
|
+
/**
|
|
105
|
+
* Check if we have any content for the top two-column section
|
|
106
|
+
* (recent/favorite entities OR recent/favorite records)
|
|
107
|
+
*/
|
|
108
|
+
get hasTopSectionContent(): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Get unique entities from recent records for the filter strip.
|
|
111
|
+
* Returns up to 5 entities, sorted by frequency in the recent records.
|
|
112
|
+
*/
|
|
113
|
+
get uniqueRecentRecordEntities(): {
|
|
114
|
+
entityId: string;
|
|
115
|
+
entityName: string;
|
|
116
|
+
icon: string;
|
|
117
|
+
count: number;
|
|
118
|
+
}[];
|
|
119
|
+
/**
|
|
120
|
+
* Check if we should show the entity filter strip for recent records.
|
|
121
|
+
* Only show when there are 2+ unique entities.
|
|
122
|
+
*/
|
|
123
|
+
get showRecentRecordsEntityFilter(): boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Get filtered recent records based on entity filter.
|
|
126
|
+
*/
|
|
127
|
+
get filteredRecentRecords(): RecentRecordAccess[];
|
|
128
|
+
/**
|
|
129
|
+
* Set the entity filter for recent records
|
|
130
|
+
*/
|
|
131
|
+
setRecentRecordsEntityFilter(entityId: string | null): void;
|
|
132
|
+
/**
|
|
133
|
+
* Get the display title for the header.
|
|
134
|
+
* Priority: contextName > entityFilter.applicationName > "Data Explorer"
|
|
135
|
+
*/
|
|
136
|
+
get displayTitle(): string;
|
|
137
|
+
/**
|
|
138
|
+
* Get the display icon for the header (when at home level).
|
|
139
|
+
* Returns contextIcon if provided, otherwise null.
|
|
140
|
+
*/
|
|
141
|
+
get displayIcon(): string | null;
|
|
142
|
+
/**
|
|
143
|
+
* Configuration for mj-entity-viewer composite component
|
|
144
|
+
* Hides the built-in header since we have a custom header in the dashboard
|
|
145
|
+
* Uses server-side pagination with 100 records per page (default)
|
|
146
|
+
*/
|
|
147
|
+
viewerConfig: Partial<EntityViewerConfig>;
|
|
148
|
+
/**
|
|
149
|
+
* Current grid state (built from view entity or local state changes)
|
|
150
|
+
* This is passed to mj-entity-viewer to control column display
|
|
151
|
+
*/
|
|
152
|
+
currentGridState: ViewGridStateConfig | null;
|
|
153
|
+
constructor(stateService: ExplorerStateService, cdr: ChangeDetectorRef, router: Router, recentAccessService: RecentAccessService);
|
|
154
|
+
ngOnInit(): Promise<void>;
|
|
155
|
+
/**
|
|
156
|
+
* Handle keyboard shortcuts
|
|
157
|
+
* "/" or Cmd+K focuses the filter input
|
|
158
|
+
*/
|
|
159
|
+
handleKeyboardShortcut(event: KeyboardEvent): void;
|
|
160
|
+
/**
|
|
161
|
+
* Focus the filter input
|
|
162
|
+
*/
|
|
163
|
+
private focusFilterInput;
|
|
164
|
+
ngOnDestroy(): void;
|
|
165
|
+
ngOnChanges(changes: SimpleChanges): Promise<void>;
|
|
166
|
+
protected initDashboard(): void;
|
|
167
|
+
protected loadData(): void;
|
|
168
|
+
/**
|
|
169
|
+
* Load all available entities the user can access, applying any configured filter
|
|
170
|
+
* @param urlState Optional URL state - if provided, skip restoring persisted entity to avoid race conditions
|
|
171
|
+
*/
|
|
172
|
+
private loadEntities;
|
|
173
|
+
/**
|
|
174
|
+
* Load entity IDs associated with a specific application
|
|
175
|
+
*/
|
|
176
|
+
private loadApplicationEntityIds;
|
|
177
|
+
/**
|
|
178
|
+
* Apply the configured filter to the entity list
|
|
179
|
+
*/
|
|
180
|
+
private applyEntityFilter;
|
|
181
|
+
/**
|
|
182
|
+
* Handle entity selection from navigation panel or home screen
|
|
183
|
+
*/
|
|
184
|
+
onEntitySelected(entity: EntityInfo): void;
|
|
185
|
+
/**
|
|
186
|
+
* Handle state changes from external sources
|
|
187
|
+
*/
|
|
188
|
+
private onStateChanged;
|
|
189
|
+
/**
|
|
190
|
+
* Reset record counts when entity changes.
|
|
191
|
+
* The actual counts will be updated when mj-entity-viewer emits dataLoaded event.
|
|
192
|
+
*/
|
|
193
|
+
private resetRecordCounts;
|
|
194
|
+
/**
|
|
195
|
+
* Handle view selection from view selector dropdown
|
|
196
|
+
*/
|
|
197
|
+
onViewSelected(event: ViewSelectedEvent): void;
|
|
198
|
+
/**
|
|
199
|
+
* Parse GridState JSON from a UserView entity
|
|
200
|
+
* Returns null if no valid GridState is present
|
|
201
|
+
*/
|
|
202
|
+
private parseViewGridState;
|
|
203
|
+
/**
|
|
204
|
+
* Handle grid state changes from entity-viewer (column resize, reorder, etc.)
|
|
205
|
+
* Updates the local currentGridState and marks view as modified
|
|
206
|
+
*/
|
|
207
|
+
onGridStateChanged(event: GridStateChangedEvent): void;
|
|
208
|
+
/**
|
|
209
|
+
* Handle save view request from view selector
|
|
210
|
+
*/
|
|
211
|
+
onSaveViewRequested(event: SaveViewRequestedEvent): void;
|
|
212
|
+
/**
|
|
213
|
+
* Handle manage views request - opens view browser
|
|
214
|
+
*/
|
|
215
|
+
onManageViewsRequested(): void;
|
|
216
|
+
/**
|
|
217
|
+
* Handle open in tab request
|
|
218
|
+
*/
|
|
219
|
+
onOpenInTabRequested(viewId: string): void;
|
|
220
|
+
/**
|
|
221
|
+
* Handle configure view request - opens the configuration panel
|
|
222
|
+
*/
|
|
223
|
+
onConfigureViewRequested(): void;
|
|
224
|
+
/**
|
|
225
|
+
* Close the view configuration panel
|
|
226
|
+
*/
|
|
227
|
+
onCloseViewConfigPanel(): void;
|
|
228
|
+
/**
|
|
229
|
+
* Handle save view from config panel
|
|
230
|
+
*/
|
|
231
|
+
onSaveView(event: ViewSaveEvent): Promise<void>;
|
|
232
|
+
/**
|
|
233
|
+
* Build GridState in Kendo-compatible format
|
|
234
|
+
* Format: { columnSettings: [{ID, Name, DisplayName, hidden, width, orderIndex}], sortSettings: [{field, dir}] }
|
|
235
|
+
*
|
|
236
|
+
* Priority for column settings:
|
|
237
|
+
* 1. If event.columns provided (from config panel) - use those
|
|
238
|
+
* 2. If currentGridState exists (from grid interactions) - use that
|
|
239
|
+
* 3. Otherwise return null
|
|
240
|
+
*/
|
|
241
|
+
private buildGridState;
|
|
242
|
+
/**
|
|
243
|
+
* Build SortState in Kendo-compatible format
|
|
244
|
+
* Format: [{field, direction}] where direction is 'asc' or 'desc'
|
|
245
|
+
*/
|
|
246
|
+
private buildSortState;
|
|
247
|
+
/**
|
|
248
|
+
* Handle delete view from config panel
|
|
249
|
+
*/
|
|
250
|
+
onDeleteView(): Promise<void>;
|
|
251
|
+
/**
|
|
252
|
+
* Handle view mode toggle from dashboard header
|
|
253
|
+
*/
|
|
254
|
+
onViewModeChanged(mode: EntityViewMode): void;
|
|
255
|
+
/**
|
|
256
|
+
* Handle smart filter change from dashboard header
|
|
257
|
+
*/
|
|
258
|
+
onSmartFilterChanged(prompt: string): void;
|
|
259
|
+
/**
|
|
260
|
+
* Handle filter text change from mj-entity-viewer (two-way binding)
|
|
261
|
+
*/
|
|
262
|
+
onFilterTextChanged(filterText: string): void;
|
|
263
|
+
/**
|
|
264
|
+
* Handle record selection from mj-entity-viewer
|
|
265
|
+
*/
|
|
266
|
+
onViewerRecordSelected(event: RecordSelectedEvent): void;
|
|
267
|
+
/**
|
|
268
|
+
* Handle record opened from mj-entity-viewer (double-click or open button)
|
|
269
|
+
*/
|
|
270
|
+
onViewerRecordOpened(event: RecordOpenedEvent): void;
|
|
271
|
+
/**
|
|
272
|
+
* Handle data loaded from mj-entity-viewer
|
|
273
|
+
*/
|
|
274
|
+
onDataLoaded(event: DataLoadedEvent): void;
|
|
275
|
+
/**
|
|
276
|
+
* Handle filtered count change from mj-entity-viewer
|
|
277
|
+
*/
|
|
278
|
+
onFilteredCountChanged(event: FilteredCountChangedEvent): void;
|
|
279
|
+
/**
|
|
280
|
+
* Handle detail panel close
|
|
281
|
+
*/
|
|
282
|
+
onDetailPanelClosed(): void;
|
|
283
|
+
/**
|
|
284
|
+
* Handle opening a record in full view (from detail panel)
|
|
285
|
+
* Uses detailPanelEntity since the panel may be showing a different entity than the grid
|
|
286
|
+
*/
|
|
287
|
+
onOpenRecord(record: BaseEntity): void;
|
|
288
|
+
/**
|
|
289
|
+
* Handle navigation to a related entity from detail panel.
|
|
290
|
+
* Navigates within the explorer and applies filter to show related records.
|
|
291
|
+
*/
|
|
292
|
+
onNavigateToRelated(event: NavigateToRelatedEvent): void;
|
|
293
|
+
/**
|
|
294
|
+
* Handle opening a related record - display in detail panel (not new tab)
|
|
295
|
+
* The record is already loaded, so just update the detail panel
|
|
296
|
+
*/
|
|
297
|
+
onOpenRelatedRecord(event: {
|
|
298
|
+
entityName: string;
|
|
299
|
+
record: BaseEntity;
|
|
300
|
+
}): void;
|
|
301
|
+
/**
|
|
302
|
+
* Handle opening a foreign key record (from FK field link in detail panel)
|
|
303
|
+
* Loads the record and displays it in the detail panel
|
|
304
|
+
*/
|
|
305
|
+
onOpenForeignKeyRecord(event: {
|
|
306
|
+
entityName: string;
|
|
307
|
+
recordId: string;
|
|
308
|
+
}): Promise<void>;
|
|
309
|
+
/**
|
|
310
|
+
* Show an already-loaded record in the detail panel
|
|
311
|
+
* Note: This does NOT change selectedEntity (the main grid's entity)
|
|
312
|
+
* It only updates detailPanelEntity which is used by the detail panel
|
|
313
|
+
*/
|
|
314
|
+
private showRecordInDetailPanel;
|
|
315
|
+
/**
|
|
316
|
+
* Load a record by ID and show it in the detail panel
|
|
317
|
+
*/
|
|
318
|
+
private loadAndShowRecordInDetailPanel;
|
|
319
|
+
/**
|
|
320
|
+
* Handle opening a record from navigation panel (recent/favorites)
|
|
321
|
+
*/
|
|
322
|
+
onOpenRecordFromNav(event: OpenRecordEvent): void;
|
|
323
|
+
/**
|
|
324
|
+
* Handle selecting a record from navigation panel (recent/favorites).
|
|
325
|
+
* Navigates to the entity within Data Explorer and selects the record
|
|
326
|
+
* in the detail panel (instead of opening full record view).
|
|
327
|
+
*/
|
|
328
|
+
onSelectRecordFromNav(event: SelectRecordEvent): void;
|
|
329
|
+
/**
|
|
330
|
+
* Toggle navigation panel
|
|
331
|
+
*/
|
|
332
|
+
toggleNavigationPanel(): void;
|
|
333
|
+
/**
|
|
334
|
+
* Handle expand and focus from collapsed nav icon click
|
|
335
|
+
*/
|
|
336
|
+
onExpandAndFocus(section: 'favorites' | 'recent' | 'entities'): void;
|
|
337
|
+
/**
|
|
338
|
+
* Apply a deep link to navigate to a specific entity/record
|
|
339
|
+
*/
|
|
340
|
+
private applyDeepLink;
|
|
341
|
+
/** Record ID to select once data loads (from deep link) */
|
|
342
|
+
private pendingRecordSelection;
|
|
343
|
+
/**
|
|
344
|
+
* Handle breadcrumb click - navigate to that level
|
|
345
|
+
*/
|
|
346
|
+
onBreadcrumbClick(breadcrumb: BreadcrumbItem, index: number): void;
|
|
347
|
+
/**
|
|
348
|
+
* Get the set of allowed entity names for filtering favorites/recents.
|
|
349
|
+
* Returns null if no filter is active (all entities allowed).
|
|
350
|
+
*/
|
|
351
|
+
get allowedEntityNames(): Set<string> | null;
|
|
352
|
+
/**
|
|
353
|
+
* Get display name for a record
|
|
354
|
+
*/
|
|
355
|
+
private getRecordDisplayName;
|
|
356
|
+
/**
|
|
357
|
+
* Get the icon class for an entity
|
|
358
|
+
*/
|
|
359
|
+
getEntityIcon(entity: EntityInfo): string;
|
|
360
|
+
/**
|
|
361
|
+
* Format entity icon to ensure proper Font Awesome class format
|
|
362
|
+
*/
|
|
363
|
+
private formatEntityIcon;
|
|
364
|
+
/**
|
|
365
|
+
* Parse URL query string and return a deep link object.
|
|
366
|
+
* Returns null if no relevant params found.
|
|
367
|
+
*
|
|
368
|
+
* Query params:
|
|
369
|
+
* - entity: Selected entity name
|
|
370
|
+
* - record: Selected record ID (URL segment format via CompositeKey)
|
|
371
|
+
* - filter: Current filter text
|
|
372
|
+
* - view: View mode (grid or cards)
|
|
373
|
+
*/
|
|
374
|
+
private parseUrlState;
|
|
375
|
+
/**
|
|
376
|
+
* Apply URL state to the component.
|
|
377
|
+
* Used both during init and for popstate handling.
|
|
378
|
+
*/
|
|
379
|
+
private applyUrlState;
|
|
380
|
+
/**
|
|
381
|
+
* Update the URL query string to reflect current navigation state.
|
|
382
|
+
* This enables deep linking - users can bookmark or share URLs to specific views.
|
|
383
|
+
* Called immediately on state changes (not debounced).
|
|
384
|
+
* Uses Angular Router for proper browser history integration.
|
|
385
|
+
*/
|
|
386
|
+
private updateUrl;
|
|
387
|
+
/**
|
|
388
|
+
* Handle external navigation (back/forward buttons).
|
|
389
|
+
* Parses the URL and applies the state without triggering a new navigation.
|
|
390
|
+
*/
|
|
391
|
+
private onExternalNavigation;
|
|
392
|
+
/**
|
|
393
|
+
* Parse URL state from a URL string (used for external navigation).
|
|
394
|
+
*/
|
|
395
|
+
private parseUrlFromString;
|
|
396
|
+
/**
|
|
397
|
+
* Toggle entity favorite status
|
|
398
|
+
*/
|
|
399
|
+
toggleEntityFavorite(entity: EntityInfo, event: Event): Promise<void>;
|
|
400
|
+
/**
|
|
401
|
+
* Check if entity is favorited (for template)
|
|
402
|
+
*/
|
|
403
|
+
isEntityFavorited(entity: EntityInfo): boolean;
|
|
404
|
+
/**
|
|
405
|
+
* Toggle show all entities vs common entities
|
|
406
|
+
*/
|
|
407
|
+
toggleShowAllEntities(): void;
|
|
408
|
+
/**
|
|
409
|
+
* Handle clicking on a recent record from home screen.
|
|
410
|
+
* Navigates to the entity and sets up pending selection to select the record
|
|
411
|
+
* and open the detail panel once data loads.
|
|
412
|
+
*/
|
|
413
|
+
onRecentRecordClick(record: RecentRecordAccess): void;
|
|
414
|
+
/**
|
|
415
|
+
* Handle clicking on a favorite record from home screen.
|
|
416
|
+
* Navigates to the entity and sets up pending selection to select the record
|
|
417
|
+
* and open the detail panel once data loads.
|
|
418
|
+
*/
|
|
419
|
+
onFavoriteRecordClick(record: FavoriteRecord): void;
|
|
420
|
+
/**
|
|
421
|
+
* Get the icon for an entity by ID (for recent records)
|
|
422
|
+
*/
|
|
423
|
+
getEntityIconById(entityId: string): string;
|
|
424
|
+
/**
|
|
425
|
+
* Format relative time for display (e.g., "2 hours ago")
|
|
426
|
+
*/
|
|
427
|
+
formatRelativeTime(date: Date): string;
|
|
428
|
+
/**
|
|
429
|
+
* Check if we're at the home level (no entity selected)
|
|
430
|
+
*/
|
|
431
|
+
get isAtHomeLevel(): boolean;
|
|
432
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DataExplorerDashboardComponent, never>;
|
|
433
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DataExplorerDashboardComponent, "mj-data-explorer-dashboard", never, { "entityFilter": { "alias": "entityFilter"; "required": false; }; "deepLink": { "alias": "deepLink"; "required": false; }; "contextName": { "alias": "contextName"; "required": false; }; "contextIcon": { "alias": "contextIcon"; "required": false; }; }, {}, never, never, false, never>;
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Tree-shaking prevention
|
|
437
|
+
*/
|
|
438
|
+
export declare function LoadDataExplorerDashboard(): void;
|
|
439
|
+
//# sourceMappingURL=data-explorer-dashboard.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-explorer-dashboard.component.d.ts","sourceRoot":"","sources":["../../src/DataExplorer/data-explorer-dashboard.component.ts"],"names":[],"mappings":"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"}
|