@memberjunction/ng-explorer-core 2.121.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/README.md +0 -1
- package/dist/app-routing.module.d.ts +6 -5
- package/dist/app-routing.module.d.ts.map +1 -1
- package/dist/app-routing.module.js +266 -132
- package/dist/app-routing.module.js.map +1 -1
- package/dist/lib/app-view/application-view.component.js +10 -10
- package/dist/lib/app-view/application-view.component.js.map +1 -1
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +11 -12
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
- package/dist/lib/data-browser-component/data-browser.component.js +8 -8
- package/dist/lib/data-browser-component/data-browser.component.js.map +1 -1
- package/dist/lib/generic-browse-list/generic-browse-list.component.js +10 -7
- package/dist/lib/generic-browse-list/generic-browse-list.component.js.map +1 -1
- package/dist/lib/generic-browser-list/generic-browser-list.component.js +14 -11
- package/dist/lib/generic-browser-list/generic-browser-list.component.js.map +1 -1
- package/dist/lib/list-view/list-view.component.js +24 -21
- package/dist/lib/list-view/list-view.component.js.map +1 -1
- package/dist/lib/navigation/navigation.component.d.ts +0 -1
- package/dist/lib/navigation/navigation.component.d.ts.map +1 -1
- package/dist/lib/navigation/navigation.component.js +11 -19
- package/dist/lib/navigation/navigation.component.js.map +1 -1
- package/dist/lib/resource-browser/resource-browser.component.js +14 -11
- package/dist/lib/resource-browser/resource-browser.component.js.map +1 -1
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +20 -0
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/artifact-resource.component.js +92 -0
- package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -0
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +119 -0
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js +500 -0
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -0
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +87 -0
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +345 -0
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -0
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +67 -0
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +244 -0
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +46 -3
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.js +298 -21
- package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/list-detail-resource.component.js +1 -1
- package/dist/lib/resource-wrappers/list-detail-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/query-resource.component.js +1 -1
- package/dist/lib/resource-wrappers/query-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/record-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/record-resource.component.js +22 -5
- package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/report-resource.component.js +1 -1
- package/dist/lib/resource-wrappers/report-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/resource-wrappers-loader.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/resource-wrappers-loader.js +15 -0
- package/dist/lib/resource-wrappers/resource-wrappers-loader.js.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.js +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.js +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.d.ts +45 -0
- package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -0
- package/dist/lib/shell/components/header/app-nav.component.js +127 -0
- package/dist/lib/shell/components/header/app-nav.component.js.map +1 -0
- package/dist/lib/shell/components/header/app-switcher.component.d.ts +53 -0
- package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -0
- package/dist/lib/shell/components/header/app-switcher.component.js +190 -0
- package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -0
- package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +83 -0
- package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -0
- package/dist/lib/shell/components/tabs/component-cache-manager.js +175 -0
- package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -0
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts +138 -0
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -0
- package/dist/lib/shell/components/tabs/tab-container.component.js +920 -0
- package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -0
- package/dist/lib/shell/services/settings-dialog.service.d.ts +28 -0
- package/dist/lib/shell/services/settings-dialog.service.d.ts.map +1 -0
- package/dist/lib/shell/services/settings-dialog.service.js +67 -0
- package/dist/lib/shell/services/settings-dialog.service.js.map +1 -0
- package/dist/lib/shell/shell.component.d.ts +166 -0
- package/dist/lib/shell/shell.component.d.ts.map +1 -0
- package/dist/lib/shell/shell.component.js +1173 -0
- package/dist/lib/shell/shell.component.js.map +1 -0
- package/dist/lib/shell/shell.module.d.ts +14 -0
- package/dist/lib/shell/shell.module.d.ts.map +1 -0
- package/dist/lib/shell/shell.module.js +42 -0
- package/dist/lib/shell/shell.module.js.map +1 -0
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +17 -13
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.d.ts +2 -1
- package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js +6 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
- package/dist/lib/single-entity/single-entity.component.js +21 -17
- package/dist/lib/single-entity/single-entity.component.js.map +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.js +36 -30
- package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
- package/dist/lib/single-record/single-record.component.d.ts +1 -0
- package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
- package/dist/lib/single-record/single-record.component.js +16 -9
- package/dist/lib/single-record/single-record.component.js.map +1 -1
- package/dist/lib/single-report/single-report.component.d.ts +1 -7
- package/dist/lib/single-report/single-report.component.d.ts.map +1 -1
- package/dist/lib/single-report/single-report.component.js +16 -37
- package/dist/lib/single-report/single-report.component.js.map +1 -1
- package/dist/lib/single-view/single-view.component.d.ts +1 -2
- package/dist/lib/single-view/single-view.component.d.ts.map +1 -1
- package/dist/lib/single-view/single-view.component.js +35 -43
- package/dist/lib/single-view/single-view.component.js.map +1 -1
- package/dist/lib/style-guide-test/style-guide-test.component.js +20 -13
- package/dist/lib/style-guide-test/style-guide-test.component.js.map +1 -1
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts +1 -1
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts.map +1 -1
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js +8 -11
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.js +0 -5
- package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
- package/dist/module.d.ts +50 -46
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +23 -11
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +4 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +5 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +36 -35
package/README.md
CHANGED
|
@@ -437,7 +437,6 @@ The Explorer Core integrates seamlessly with:
|
|
|
437
437
|
- **@memberjunction/ng-file-storage**: File upload and management
|
|
438
438
|
- **@memberjunction/ng-record-changes**: Audit trail functionality
|
|
439
439
|
- **@memberjunction/ng-user-view-grid**: Data grid components
|
|
440
|
-
- **@memberjunction/ng-skip-chat**: AI chat integration
|
|
441
440
|
- **@memberjunction/ng-dashboards**: Dashboard creation and management
|
|
442
441
|
- **@memberjunction/ng-resource-permissions**: Resource-level permissions
|
|
443
442
|
|
|
@@ -2,6 +2,7 @@ import { ComponentRef } from '@angular/core';
|
|
|
2
2
|
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';
|
|
3
3
|
import { SharedService } from '@memberjunction/ng-shared';
|
|
4
4
|
import { DetachedRouteHandle, RouteReuseStrategy } from '@angular/router';
|
|
5
|
+
import { ApplicationManager, TabService } from '@memberjunction/ng-base-application';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/router";
|
|
7
8
|
export declare class CustomReuseStrategy implements RouteReuseStrategy {
|
|
@@ -19,7 +20,11 @@ export declare class CustomReuseStrategy implements RouteReuseStrategy {
|
|
|
19
20
|
export declare class ResourceResolver implements Resolve<void> {
|
|
20
21
|
private sharedService;
|
|
21
22
|
private router;
|
|
22
|
-
|
|
23
|
+
private appManager;
|
|
24
|
+
private tabService;
|
|
25
|
+
private processedUrls;
|
|
26
|
+
private readonly URL_DEBOUNCE_MS;
|
|
27
|
+
constructor(sharedService: SharedService, router: Router, appManager: ApplicationManager, tabService: TabService);
|
|
23
28
|
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): void;
|
|
24
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<ResourceResolver, never>;
|
|
25
30
|
static ɵprov: i0.ɵɵInjectableDeclaration<ResourceResolver>;
|
|
@@ -28,10 +33,6 @@ interface DetachedRouteHandleExt extends DetachedRouteHandle {
|
|
|
28
33
|
componentRef: ComponentRef<any>;
|
|
29
34
|
}
|
|
30
35
|
export declare class AppRoutingModule {
|
|
31
|
-
private router;
|
|
32
|
-
constructor(router: Router);
|
|
33
|
-
loadDynamicRoutes(): void;
|
|
34
|
-
protected innerLoadDynamicRoutes(): Promise<void>;
|
|
35
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppRoutingModule, never>;
|
|
36
37
|
static ɵmod: i0.ɵɵNgModuleDeclaration<AppRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
|
|
37
38
|
static ɵinj: i0.ɵɵInjectorDeclaration<AppRoutingModule>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-routing.module.d.ts","sourceRoot":"","sources":["../src/app-routing.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAwB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"app-routing.module.d.ts","sourceRoot":"","sources":["../src/app-routing.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAwB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAkBrH,OAAO,EAAE,aAAa,EAAiB,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;;;AAErF,qBAAa,mBAAoB,YAAW,kBAAkB;IAC5D,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAAA;KAAE,CAAM;IAGpE,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAMpD,KAAK,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI;IAYjF,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAUpD,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,IAAI;IAgBnE,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO;IAevF,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IAmClD,OAAO,CAAC,QAAQ;CAUjB;AAED,qBAGa,gBAAiB,YAAW,OAAO,CAAC,IAAI,CAAC;IAKlD,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAPpB,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAO;gBAG7B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,UAAU;IAgBhC,OAAO,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;yCAxB7D,gBAAgB;6CAAhB,gBAAgB;CAyR5B;AA0FD,UAAU,sBAAuB,SAAQ,mBAAmB;IAC1D,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;CACjC;AAED,qBAIa,gBAAgB;yCAAhB,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAK5B"}
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
import { Injectable, NgModule } from '@angular/core';
|
|
2
2
|
import { RouterModule } from '@angular/router';
|
|
3
|
-
import {
|
|
3
|
+
import { SingleEntityComponent, SingleRecordComponent, HomeWrapperComponent, UserNotificationsComponent, DataBrowserComponent, ReportBrowserComponent, DashboardBrowserComponent, AuthGuardService as AuthGuard, FilesComponent, QueryBrowserComponent, ListViewComponent, ChatWrapperComponent, } from './public-api';
|
|
4
4
|
import { StyleGuideTestComponent } from './lib/style-guide-test/style-guide-test.component';
|
|
5
5
|
import { SettingsComponent } from '@memberjunction/ng-explorer-settings';
|
|
6
6
|
import { LogError, Metadata } from '@memberjunction/core';
|
|
7
|
-
import {
|
|
8
|
-
import { EventCodes, BaseNavigationComponent } from '@memberjunction/ng-shared';
|
|
9
|
-
import { ResourceData } from '@memberjunction/core-entities';
|
|
10
|
-
import { SkipChatWrapperComponent } from '@memberjunction/ng-ask-skip';
|
|
7
|
+
import { SYSTEM_APP_ID } from '@memberjunction/ng-shared';
|
|
11
8
|
import * as i0 from "@angular/core";
|
|
12
9
|
import * as i1 from "@memberjunction/ng-shared";
|
|
13
10
|
import * as i2 from "@angular/router";
|
|
11
|
+
import * as i3 from "@memberjunction/ng-base-application";
|
|
14
12
|
export class CustomReuseStrategy {
|
|
15
13
|
storedRoutes = {};
|
|
16
14
|
// Determines if a route should be detached and stored
|
|
17
15
|
shouldDetach(route) {
|
|
18
|
-
//
|
|
19
|
-
return
|
|
16
|
+
// removed reference to the skip stuff from here - we don't use the skip stuff anymore, using generic conversations/chat now
|
|
17
|
+
return false;
|
|
20
18
|
}
|
|
21
19
|
// Stores the detached route
|
|
22
20
|
store(route, handle) {
|
|
@@ -107,9 +105,15 @@ export class CustomReuseStrategy {
|
|
|
107
105
|
export class ResourceResolver {
|
|
108
106
|
sharedService;
|
|
109
107
|
router;
|
|
110
|
-
|
|
108
|
+
appManager;
|
|
109
|
+
tabService;
|
|
110
|
+
processedUrls = new Map();
|
|
111
|
+
URL_DEBOUNCE_MS = 100; // Allow same URL after 100ms
|
|
112
|
+
constructor(sharedService, router, appManager, tabService) {
|
|
111
113
|
this.sharedService = sharedService;
|
|
112
114
|
this.router = router;
|
|
115
|
+
this.appManager = appManager;
|
|
116
|
+
this.tabService = tabService;
|
|
113
117
|
// Subscribe to router events
|
|
114
118
|
this.router.events.subscribe(event => {
|
|
115
119
|
// if (event instanceof NavigationEnd) {
|
|
@@ -124,78 +128,218 @@ export class ResourceResolver {
|
|
|
124
128
|
});
|
|
125
129
|
}
|
|
126
130
|
resolve(route, state) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
data.Configuration.Entity = entityNameDecoded;
|
|
179
|
-
data.Configuration.SearchInput = resourceRecordId;
|
|
180
|
-
data.ResourceRecordID = 0; /*tell nav to create new tab*/
|
|
181
|
-
break;
|
|
182
|
-
default:
|
|
183
|
-
LogError(`Unsupported resource type: ${resourceType}`);
|
|
184
|
-
// Handle the unsupported resource type error appropriately
|
|
131
|
+
console.log('[ResourceResolver.resolve] Called with URL:', state.url);
|
|
132
|
+
// Prevent duplicate processing of the same URL within a short time window
|
|
133
|
+
// This allows legitimate re-navigation to the same URL (like app switching)
|
|
134
|
+
// while preventing rapid duplicate calls
|
|
135
|
+
const now = Date.now();
|
|
136
|
+
const lastProcessed = this.processedUrls.get(state.url);
|
|
137
|
+
if (lastProcessed && (now - lastProcessed) < this.URL_DEBOUNCE_MS) {
|
|
138
|
+
console.log('[ResourceResolver.resolve] Recently processed URL (debounced):', state.url);
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
this.processedUrls.set(state.url, now);
|
|
142
|
+
console.log('[ResourceResolver.resolve] Processing URL:', state.url);
|
|
143
|
+
const md = new Metadata();
|
|
144
|
+
// Handle app-level navigation: /app/:appName (no nav item - app default)
|
|
145
|
+
if (route.params['appName'] !== undefined && route.params['navItemName'] === undefined) {
|
|
146
|
+
const appName = decodeURIComponent(route.params['appName']);
|
|
147
|
+
console.log('[ResourceResolver.resolve] App-only URL detected:', appName);
|
|
148
|
+
// Find the app
|
|
149
|
+
const app = md.Applications.find(a => a.Name.trim().toLowerCase() === appName.trim().toLowerCase());
|
|
150
|
+
if (!app) {
|
|
151
|
+
LogError(`Application ${appName} not found in metadata`);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
console.log('[ResourceResolver.resolve] Found app:', app.Name, 'ID:', app.ID);
|
|
155
|
+
console.log('[ResourceResolver.resolve] Letting shell handle default tab creation');
|
|
156
|
+
// Let the app create its default tab (will load default dashboard if no nav items)
|
|
157
|
+
// The shell component will handle this after setting the active app
|
|
158
|
+
// We don't need to do anything here - just return to allow the app to activate
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
// Handle app navigation: /app/:appName/:navItemName
|
|
162
|
+
if (route.params['appName'] !== undefined && route.params['navItemName'] !== undefined) {
|
|
163
|
+
const appName = decodeURIComponent(route.params['appName']);
|
|
164
|
+
const navItemName = decodeURIComponent(route.params['navItemName']);
|
|
165
|
+
console.log('[ResourceResolver.resolve] App nav item URL detected:', appName, '/', navItemName);
|
|
166
|
+
// Find the app
|
|
167
|
+
const app = md.Applications.find(a => a.Name.trim().toLowerCase() === appName.trim().toLowerCase());
|
|
168
|
+
if (!app) {
|
|
169
|
+
LogError(`Application ${appName} not found in metadata`);
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
console.log('[ResourceResolver.resolve] Found app:', app.Name, 'ID:', app.ID);
|
|
173
|
+
// Get nav items from the app's DefaultNavItems JSON
|
|
174
|
+
let navItems = [];
|
|
175
|
+
if (app.DefaultNavItems) {
|
|
176
|
+
try {
|
|
177
|
+
navItems = JSON.parse(app.DefaultNavItems);
|
|
178
|
+
}
|
|
179
|
+
catch (e) {
|
|
180
|
+
LogError(`Failed to parse DefaultNavItems for app ${appName}`);
|
|
181
|
+
console.error(e);
|
|
185
182
|
return;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
console.log('[ResourceResolver.resolve] Nav items count:', navItems.length);
|
|
186
|
+
// Find the nav item by label (case-insensitive)
|
|
187
|
+
const navItem = navItems.find(item => item.Label?.trim().toLowerCase() === navItemName.trim().toLowerCase());
|
|
188
|
+
if (!navItem) {
|
|
189
|
+
LogError(`Nav item ${navItemName} not found in app ${appName}`);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
console.log('[ResourceResolver.resolve] Found nav item:', navItem.Label, 'ResourceType:', navItem.ResourceType);
|
|
193
|
+
// Get the resource type from the nav item
|
|
194
|
+
if (!navItem.ResourceType) {
|
|
195
|
+
LogError(`Nav item ${navItemName} has no ResourceType defined`);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
// NOTE: Don't set active app here - the shell component handles that
|
|
199
|
+
// based on the URL to avoid navigation loops
|
|
200
|
+
// Queue tab request via TabService
|
|
201
|
+
console.log('[ResourceResolver.resolve] Queuing tab request via TabService');
|
|
202
|
+
// Build configuration - include DriverClass for Custom resource types
|
|
203
|
+
const config = {
|
|
204
|
+
route: navItem.Route,
|
|
205
|
+
resourceType: navItem.ResourceType,
|
|
206
|
+
recordId: navItem.RecordID,
|
|
207
|
+
appName: appName,
|
|
208
|
+
appId: app.ID,
|
|
209
|
+
navItemName: navItem.Label,
|
|
210
|
+
...(navItem.Configuration || {}),
|
|
211
|
+
queryParams: route.queryParams
|
|
212
|
+
};
|
|
213
|
+
// For Custom resource types, include the DriverClass
|
|
214
|
+
if (navItem.ResourceType === 'Custom' && navItem.DriverClass) {
|
|
215
|
+
config.driverClass = navItem.DriverClass;
|
|
216
|
+
console.log('[ResourceResolver.resolve] Added DriverClass for Custom resource:', navItem.DriverClass);
|
|
186
217
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
218
|
+
this.tabService.OpenTab({
|
|
219
|
+
ApplicationId: app.ID,
|
|
220
|
+
Title: navItem.Label,
|
|
221
|
+
Configuration: config,
|
|
222
|
+
IsPinned: false
|
|
223
|
+
});
|
|
224
|
+
console.log('[ResourceResolver.resolve] Tab request queued');
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
// Determine resource type and record ID based on the route path
|
|
228
|
+
if (route.params['recordId'] !== undefined && route.params['entityName'] !== undefined) {
|
|
229
|
+
// /resource/record/:entityName/:recordId
|
|
230
|
+
const entityName = decodeURIComponent(route.params['entityName']);
|
|
231
|
+
const recordId = route.params['recordId'];
|
|
232
|
+
const entityInfo = md.Entities.find(e => e.Name.trim().toLowerCase() === entityName.trim().toLowerCase());
|
|
233
|
+
if (!entityInfo) {
|
|
234
|
+
LogError(`Entity ${entityName} not found in metadata`);
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
// Queue tab request via TabService
|
|
238
|
+
this.tabService.OpenTab({
|
|
239
|
+
ApplicationId: SYSTEM_APP_ID,
|
|
240
|
+
Title: `${entityName} - ${recordId}`,
|
|
241
|
+
Configuration: {
|
|
242
|
+
resourceType: 'Records',
|
|
243
|
+
Entity: entityName,
|
|
244
|
+
recordId: recordId
|
|
245
|
+
},
|
|
246
|
+
ResourceRecordId: recordId,
|
|
247
|
+
IsPinned: false
|
|
248
|
+
});
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
if (route.params['viewId'] !== undefined) {
|
|
252
|
+
// /resource/view/:viewId (saved views)
|
|
253
|
+
const viewId = route.params['viewId'];
|
|
254
|
+
// Queue tab request via TabService
|
|
255
|
+
this.tabService.OpenTab({
|
|
256
|
+
ApplicationId: SYSTEM_APP_ID,
|
|
257
|
+
Title: `View - ${viewId}`,
|
|
258
|
+
Configuration: {
|
|
259
|
+
resourceType: 'User Views',
|
|
260
|
+
viewId,
|
|
261
|
+
recordId: viewId
|
|
262
|
+
},
|
|
263
|
+
ResourceRecordId: viewId,
|
|
264
|
+
IsPinned: false
|
|
265
|
+
});
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
if (route.url.length >= 3 && route.url[1].path === 'view' && route.url[2].path === 'dynamic') {
|
|
269
|
+
// /resource/view/dynamic/:entityName
|
|
270
|
+
const entityName = decodeURIComponent(route.params['entityName']);
|
|
271
|
+
const extraFilter = route.queryParams['ExtraFilter'] || route.queryParams['extraFilter'];
|
|
272
|
+
const filterSuffix = extraFilter ? ' (Filtered)' : '';
|
|
273
|
+
// Queue tab request via TabService
|
|
274
|
+
this.tabService.OpenTab({
|
|
275
|
+
ApplicationId: SYSTEM_APP_ID,
|
|
276
|
+
Title: `${entityName}${filterSuffix}`,
|
|
277
|
+
Configuration: {
|
|
278
|
+
resourceType: 'User Views',
|
|
279
|
+
Entity: entityName,
|
|
280
|
+
ExtraFilter: extraFilter,
|
|
281
|
+
isDynamic: true,
|
|
282
|
+
recordId: 'dynamic'
|
|
283
|
+
},
|
|
284
|
+
ResourceRecordId: 'dynamic',
|
|
285
|
+
IsPinned: false
|
|
192
286
|
});
|
|
287
|
+
return;
|
|
193
288
|
}
|
|
194
|
-
|
|
195
|
-
|
|
289
|
+
if (route.params['dashboardId'] !== undefined) {
|
|
290
|
+
// /resource/dashboard/:dashboardId
|
|
291
|
+
const dashboardId = route.params['dashboardId'];
|
|
292
|
+
// Queue tab request via TabService
|
|
293
|
+
this.tabService.OpenTab({
|
|
294
|
+
ApplicationId: SYSTEM_APP_ID,
|
|
295
|
+
Title: `Dashboard - ${dashboardId}`,
|
|
296
|
+
Configuration: {
|
|
297
|
+
resourceType: 'Dashboards',
|
|
298
|
+
dashboardId,
|
|
299
|
+
recordId: dashboardId
|
|
300
|
+
},
|
|
301
|
+
ResourceRecordId: dashboardId,
|
|
302
|
+
IsPinned: false
|
|
303
|
+
});
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
if (route.params['artifactId'] !== undefined) {
|
|
307
|
+
// /resource/artifact/:artifactId
|
|
308
|
+
const artifactId = route.params['artifactId'];
|
|
309
|
+
// Queue tab request via TabService
|
|
310
|
+
this.tabService.OpenTab({
|
|
311
|
+
ApplicationId: SYSTEM_APP_ID,
|
|
312
|
+
Title: `Artifact - ${artifactId}`,
|
|
313
|
+
Configuration: {
|
|
314
|
+
resourceType: 'Artifacts',
|
|
315
|
+
artifactId,
|
|
316
|
+
recordId: artifactId
|
|
317
|
+
},
|
|
318
|
+
ResourceRecordId: artifactId,
|
|
319
|
+
IsPinned: false
|
|
320
|
+
});
|
|
321
|
+
return;
|
|
196
322
|
}
|
|
323
|
+
if (route.params['queryId'] !== undefined) {
|
|
324
|
+
// /resource/query/:queryId
|
|
325
|
+
const queryId = route.params['queryId'];
|
|
326
|
+
// Queue tab request via TabService
|
|
327
|
+
this.tabService.OpenTab({
|
|
328
|
+
ApplicationId: SYSTEM_APP_ID,
|
|
329
|
+
Title: `Query - ${queryId}`,
|
|
330
|
+
Configuration: {
|
|
331
|
+
resourceType: 'Queries',
|
|
332
|
+
queryId,
|
|
333
|
+
recordId: queryId
|
|
334
|
+
},
|
|
335
|
+
ResourceRecordId: queryId,
|
|
336
|
+
IsPinned: false
|
|
337
|
+
});
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
LogError(`Unable to parse resource route parameters from URL: ${state.url}`);
|
|
197
341
|
}
|
|
198
|
-
static ɵfac = function ResourceResolver_Factory(t) { return new (t || ResourceResolver)(i0.ɵɵinject(i1.SharedService), i0.ɵɵinject(i2.Router)); };
|
|
342
|
+
static ɵfac = function ResourceResolver_Factory(t) { return new (t || ResourceResolver)(i0.ɵɵinject(i1.SharedService), i0.ɵɵinject(i2.Router), i0.ɵɵinject(i3.ApplicationManager), i0.ɵɵinject(i3.TabService)); };
|
|
199
343
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ResourceResolver, factory: ResourceResolver.ɵfac, providedIn: 'root' });
|
|
200
344
|
}
|
|
201
345
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ResourceResolver, [{
|
|
@@ -203,14 +347,12 @@ export class ResourceResolver {
|
|
|
203
347
|
args: [{
|
|
204
348
|
providedIn: 'root',
|
|
205
349
|
}]
|
|
206
|
-
}], () => [{ type: i1.SharedService }, { type: i2.Router }], null); })();
|
|
350
|
+
}], () => [{ type: i1.SharedService }, { type: i2.Router }, { type: i3.ApplicationManager }, { type: i3.TabService }], null); })();
|
|
207
351
|
const routes = [
|
|
208
352
|
{ path: '', component: HomeWrapperComponent, canActivate: [AuthGuard] },
|
|
209
353
|
{ path: 'home', component: HomeWrapperComponent, canActivate: [AuthGuard] },
|
|
210
354
|
{ path: 'chat', component: ChatWrapperComponent, canActivate: [AuthGuard] },
|
|
211
355
|
{ path: 'chat/:conversationId', component: ChatWrapperComponent, canActivate: [AuthGuard] },
|
|
212
|
-
{ path: 'askskip', component: SkipChatWrapperComponent, canActivate: [AuthGuard] },
|
|
213
|
-
{ path: 'askskip/:conversationId', component: SkipChatWrapperComponent, canActivate: [AuthGuard] },
|
|
214
356
|
{ path: 'dashboards', component: DashboardBrowserComponent, canActivate: [AuthGuard] },
|
|
215
357
|
{ path: 'dashboards/:folderID', component: DashboardBrowserComponent, canActivate: [AuthGuard] },
|
|
216
358
|
{ path: 'reports', component: ReportBrowserComponent, canActivate: [AuthGuard] },
|
|
@@ -239,12 +381,51 @@ const routes = [
|
|
|
239
381
|
},
|
|
240
382
|
{ path: 'notifications', component: UserNotificationsComponent, canActivate: [AuthGuard] },
|
|
241
383
|
{ path: 'style-guide-test', component: StyleGuideTestComponent, canActivate: [AuthGuard] },
|
|
242
|
-
{ path: 'app/:appName', component: SingleApplicationComponent, canActivate: [AuthGuard] },
|
|
243
|
-
{ path: 'app/:appName/:entityName', component: SingleApplicationComponent, canActivate: [AuthGuard] },
|
|
244
|
-
{ path: 'app/:appName/:entityName/:folderID', component: SingleApplicationComponent, canActivate: [AuthGuard] },
|
|
245
384
|
{ path: 'entity/:entityName', component: SingleEntityComponent, canActivate: [AuthGuard] },
|
|
246
385
|
{
|
|
247
|
-
path: '
|
|
386
|
+
path: 'app/:appName/:navItemName',
|
|
387
|
+
resolve: { data: ResourceResolver },
|
|
388
|
+
canActivate: [AuthGuard],
|
|
389
|
+
component: SingleRecordComponent,
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
path: 'app/:appName',
|
|
393
|
+
resolve: { data: ResourceResolver },
|
|
394
|
+
canActivate: [AuthGuard],
|
|
395
|
+
component: SingleRecordComponent,
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
path: 'resource/record/:entityName/:recordId',
|
|
399
|
+
resolve: { data: ResourceResolver },
|
|
400
|
+
canActivate: [AuthGuard],
|
|
401
|
+
component: SingleRecordComponent,
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
path: 'resource/view/dynamic/:entityName',
|
|
405
|
+
resolve: { data: ResourceResolver },
|
|
406
|
+
canActivate: [AuthGuard],
|
|
407
|
+
component: SingleRecordComponent,
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
path: 'resource/view/:viewId',
|
|
411
|
+
resolve: { data: ResourceResolver },
|
|
412
|
+
canActivate: [AuthGuard],
|
|
413
|
+
component: SingleRecordComponent,
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
path: 'resource/dashboard/:dashboardId',
|
|
417
|
+
resolve: { data: ResourceResolver },
|
|
418
|
+
canActivate: [AuthGuard],
|
|
419
|
+
component: SingleRecordComponent,
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
path: 'resource/artifact/:artifactId',
|
|
423
|
+
resolve: { data: ResourceResolver },
|
|
424
|
+
canActivate: [AuthGuard],
|
|
425
|
+
component: SingleRecordComponent,
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
path: 'resource/query/:queryId',
|
|
248
429
|
resolve: { data: ResourceResolver },
|
|
249
430
|
canActivate: [AuthGuard],
|
|
250
431
|
component: SingleRecordComponent,
|
|
@@ -255,63 +436,16 @@ const routes = [
|
|
|
255
436
|
},
|
|
256
437
|
];
|
|
257
438
|
export class AppRoutingModule {
|
|
258
|
-
|
|
259
|
-
constructor(router) {
|
|
260
|
-
this.router = router;
|
|
261
|
-
this.loadDynamicRoutes();
|
|
262
|
-
}
|
|
263
|
-
loadDynamicRoutes() {
|
|
264
|
-
MJGlobal.Instance.GetEventListener(true) // true gets us replay of past events so we can "catch up" as needed
|
|
265
|
-
.subscribe((event) => {
|
|
266
|
-
// event handler
|
|
267
|
-
switch (event.event) {
|
|
268
|
-
case MJEventType.LoggedIn:
|
|
269
|
-
this.innerLoadDynamicRoutes();
|
|
270
|
-
}
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
async innerLoadDynamicRoutes() {
|
|
274
|
-
// gets called after we're logged in
|
|
275
|
-
const md = new Metadata();
|
|
276
|
-
const dynamicRoutes = md.VisibleExplorerNavigationItems.map(item => {
|
|
277
|
-
const registration = MJGlobal.Instance.ClassFactory.GetRegistration(BaseNavigationComponent, item.Name);
|
|
278
|
-
if (registration) {
|
|
279
|
-
// remove the leading slash from the route if it exists
|
|
280
|
-
const route = item.Route.startsWith('/') ? item.Route.substring(1) : item.Route;
|
|
281
|
-
return {
|
|
282
|
-
path: route,
|
|
283
|
-
component: registration.SubClass,
|
|
284
|
-
canActivate: [AuthGuard],
|
|
285
|
-
};
|
|
286
|
-
}
|
|
287
|
-
else {
|
|
288
|
-
throw new Error(`No registration found for Explorer Navigation Item: ${item.Name}`);
|
|
289
|
-
}
|
|
290
|
-
});
|
|
291
|
-
// Find and remove the wildcard route
|
|
292
|
-
const wildcardRouteIndex = routes.findIndex(route => route.path?.trim() === '**');
|
|
293
|
-
const wildcardRoute = routes[wildcardRouteIndex];
|
|
294
|
-
if (wildcardRouteIndex > -1) {
|
|
295
|
-
routes.splice(wildcardRouteIndex, 1);
|
|
296
|
-
}
|
|
297
|
-
// create a combined routes array and make sure that we filter out any dynamic routes that are ALREADY in the router config
|
|
298
|
-
const newCombinedRoutes = [...routes, ...dynamicRoutes.filter(route => !routes.some(r => r.path?.trim().toLowerCase() === route.path?.trim().toLowerCase()))];
|
|
299
|
-
// Re-add the wildcard route at the end
|
|
300
|
-
if (wildcardRoute) {
|
|
301
|
-
newCombinedRoutes.push(wildcardRoute);
|
|
302
|
-
}
|
|
303
|
-
this.router.resetConfig(newCombinedRoutes);
|
|
304
|
-
}
|
|
305
|
-
static ɵfac = function AppRoutingModule_Factory(t) { return new (t || AppRoutingModule)(i0.ɵɵinject(i2.Router)); };
|
|
439
|
+
static ɵfac = function AppRoutingModule_Factory(t) { return new (t || AppRoutingModule)(); };
|
|
306
440
|
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AppRoutingModule });
|
|
307
|
-
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [RouterModule.forRoot(routes, {
|
|
441
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload' }), RouterModule] });
|
|
308
442
|
}
|
|
309
443
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppRoutingModule, [{
|
|
310
444
|
type: NgModule,
|
|
311
445
|
args: [{
|
|
312
|
-
imports: [RouterModule.forRoot(routes, {
|
|
446
|
+
imports: [RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload' })],
|
|
313
447
|
exports: [RouterModule],
|
|
314
448
|
}]
|
|
315
|
-
}],
|
|
449
|
+
}], null, null); })();
|
|
316
450
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AppRoutingModule, { imports: [i2.RouterModule], exports: [RouterModule] }); })();
|
|
317
451
|
//# sourceMappingURL=app-routing.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-routing.module.js","sourceRoot":"","sources":["../src/app-routing.module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-routing.module.js","sourceRoot":"","sources":["../src/app-routing.module.ts"],"names":[],"mappings":"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"}
|