@memberjunction/ng-explorer-core 2.121.0 → 2.122.1

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.
Files changed (127) hide show
  1. package/README.md +0 -1
  2. package/dist/app-routing.module.d.ts +6 -5
  3. package/dist/app-routing.module.d.ts.map +1 -1
  4. package/dist/app-routing.module.js +266 -132
  5. package/dist/app-routing.module.js.map +1 -1
  6. package/dist/lib/app-view/application-view.component.js +10 -10
  7. package/dist/lib/app-view/application-view.component.js.map +1 -1
  8. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +11 -12
  9. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
  10. package/dist/lib/data-browser-component/data-browser.component.js +8 -8
  11. package/dist/lib/data-browser-component/data-browser.component.js.map +1 -1
  12. package/dist/lib/generic-browse-list/generic-browse-list.component.js +10 -7
  13. package/dist/lib/generic-browse-list/generic-browse-list.component.js.map +1 -1
  14. package/dist/lib/generic-browser-list/generic-browser-list.component.js +14 -11
  15. package/dist/lib/generic-browser-list/generic-browser-list.component.js.map +1 -1
  16. package/dist/lib/list-view/list-view.component.js +24 -21
  17. package/dist/lib/list-view/list-view.component.js.map +1 -1
  18. package/dist/lib/navigation/navigation.component.d.ts +0 -1
  19. package/dist/lib/navigation/navigation.component.d.ts.map +1 -1
  20. package/dist/lib/navigation/navigation.component.js +11 -19
  21. package/dist/lib/navigation/navigation.component.js.map +1 -1
  22. package/dist/lib/resource-browser/resource-browser.component.js +14 -11
  23. package/dist/lib/resource-browser/resource-browser.component.js.map +1 -1
  24. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +20 -0
  25. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -0
  26. package/dist/lib/resource-wrappers/artifact-resource.component.js +92 -0
  27. package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -0
  28. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +119 -0
  29. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -0
  30. package/dist/lib/resource-wrappers/chat-collections-resource.component.js +500 -0
  31. package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -0
  32. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +87 -0
  33. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -0
  34. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +345 -0
  35. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -0
  36. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +67 -0
  37. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -0
  38. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +244 -0
  39. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -0
  40. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +46 -3
  41. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
  42. package/dist/lib/resource-wrappers/dashboard-resource.component.js +298 -21
  43. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  44. package/dist/lib/resource-wrappers/list-detail-resource.component.js +1 -1
  45. package/dist/lib/resource-wrappers/list-detail-resource.component.js.map +1 -1
  46. package/dist/lib/resource-wrappers/query-resource.component.js +1 -1
  47. package/dist/lib/resource-wrappers/query-resource.component.js.map +1 -1
  48. package/dist/lib/resource-wrappers/record-resource.component.d.ts.map +1 -1
  49. package/dist/lib/resource-wrappers/record-resource.component.js +22 -5
  50. package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
  51. package/dist/lib/resource-wrappers/report-resource.component.js +1 -1
  52. package/dist/lib/resource-wrappers/report-resource.component.js.map +1 -1
  53. package/dist/lib/resource-wrappers/resource-wrappers-loader.d.ts.map +1 -1
  54. package/dist/lib/resource-wrappers/resource-wrappers-loader.js +15 -0
  55. package/dist/lib/resource-wrappers/resource-wrappers-loader.js.map +1 -1
  56. package/dist/lib/resource-wrappers/search-results-resource.component.js +1 -1
  57. package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
  58. package/dist/lib/resource-wrappers/view-resource.component.js +1 -1
  59. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  60. package/dist/lib/shell/components/header/app-nav.component.d.ts +45 -0
  61. package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -0
  62. package/dist/lib/shell/components/header/app-nav.component.js +127 -0
  63. package/dist/lib/shell/components/header/app-nav.component.js.map +1 -0
  64. package/dist/lib/shell/components/header/app-switcher.component.d.ts +53 -0
  65. package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -0
  66. package/dist/lib/shell/components/header/app-switcher.component.js +190 -0
  67. package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -0
  68. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +83 -0
  69. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -0
  70. package/dist/lib/shell/components/tabs/component-cache-manager.js +175 -0
  71. package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -0
  72. package/dist/lib/shell/components/tabs/tab-container.component.d.ts +138 -0
  73. package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -0
  74. package/dist/lib/shell/components/tabs/tab-container.component.js +920 -0
  75. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -0
  76. package/dist/lib/shell/services/settings-dialog.service.d.ts +28 -0
  77. package/dist/lib/shell/services/settings-dialog.service.d.ts.map +1 -0
  78. package/dist/lib/shell/services/settings-dialog.service.js +67 -0
  79. package/dist/lib/shell/services/settings-dialog.service.js.map +1 -0
  80. package/dist/lib/shell/shell.component.d.ts +166 -0
  81. package/dist/lib/shell/shell.component.d.ts.map +1 -0
  82. package/dist/lib/shell/shell.component.js +1173 -0
  83. package/dist/lib/shell/shell.component.js.map +1 -0
  84. package/dist/lib/shell/shell.module.d.ts +14 -0
  85. package/dist/lib/shell/shell.module.d.ts.map +1 -0
  86. package/dist/lib/shell/shell.module.js +42 -0
  87. package/dist/lib/shell/shell.module.js.map +1 -0
  88. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +17 -13
  89. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
  90. package/dist/lib/single-dashboard/single-dashboard.component.d.ts +2 -1
  91. package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
  92. package/dist/lib/single-dashboard/single-dashboard.component.js +6 -1
  93. package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
  94. package/dist/lib/single-entity/single-entity.component.js +21 -17
  95. package/dist/lib/single-entity/single-entity.component.js.map +1 -1
  96. package/dist/lib/single-list-detail/single-list-detail.component.js +36 -30
  97. package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
  98. package/dist/lib/single-record/single-record.component.d.ts +1 -0
  99. package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
  100. package/dist/lib/single-record/single-record.component.js +16 -9
  101. package/dist/lib/single-record/single-record.component.js.map +1 -1
  102. package/dist/lib/single-report/single-report.component.d.ts +1 -7
  103. package/dist/lib/single-report/single-report.component.d.ts.map +1 -1
  104. package/dist/lib/single-report/single-report.component.js +16 -37
  105. package/dist/lib/single-report/single-report.component.js.map +1 -1
  106. package/dist/lib/single-view/single-view.component.d.ts +1 -2
  107. package/dist/lib/single-view/single-view.component.d.ts.map +1 -1
  108. package/dist/lib/single-view/single-view.component.js +35 -43
  109. package/dist/lib/single-view/single-view.component.js.map +1 -1
  110. package/dist/lib/style-guide-test/style-guide-test.component.js +20 -13
  111. package/dist/lib/style-guide-test/style-guide-test.component.js.map +1 -1
  112. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts +1 -1
  113. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts.map +1 -1
  114. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js +8 -11
  115. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js.map +1 -1
  116. package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
  117. package/dist/lib/user-notifications/user-notifications.component.js +0 -5
  118. package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
  119. package/dist/module.d.ts +50 -46
  120. package/dist/module.d.ts.map +1 -1
  121. package/dist/module.js +23 -11
  122. package/dist/module.js.map +1 -1
  123. package/dist/public-api.d.ts +4 -0
  124. package/dist/public-api.d.ts.map +1 -1
  125. package/dist/public-api.js +5 -0
  126. package/dist/public-api.js.map +1 -1
  127. package/package.json +44 -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
- constructor(sharedService: SharedService, router: Router);
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;AAoBrH,OAAO,EAAc,aAAa,EAA2B,MAAM,2BAA2B,CAAC;AAE/F,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;;;AAG1E,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;IACxC,OAAO,CAAC,aAAa;IAAiB,OAAO,CAAC,MAAM;gBAA5C,aAAa,EAAE,aAAa,EAAU,MAAM,EAAE,MAAM;IAexE,OAAO,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;yCAhB7D,gBAAgB;6CAAhB,gBAAgB;CAyF5B;AAqDD,UAAU,sBAAuB,SAAQ,mBAAmB;IAC1D,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;CACjC;AAED,qBAIa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAIlC,iBAAiB;cAWD,sBAAsB;yCAhB3B,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAoD5B"}
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 { SingleApplicationComponent, SingleEntityComponent, SingleRecordComponent, HomeWrapperComponent, UserNotificationsComponent, DataBrowserComponent, ReportBrowserComponent, DashboardBrowserComponent, AuthGuardService as AuthGuard, FilesComponent, QueryBrowserComponent, ListViewComponent, ChatWrapperComponent, } from './public-api';
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 { MJEventType, MJGlobal } from '@memberjunction/global';
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
- // Store the route if it's an "askskip" route
19
- return route.routeConfig && route.routeConfig.path?.includes('askskip') ? true : false;
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
- constructor(sharedService, router) {
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
- let resourceType = route.params['resourceType'];
128
- const resourceRecordId = route.params['resourceRecordId'];
129
- if (resourceType !== undefined && resourceRecordId !== undefined) {
130
- resourceType = this.sharedService.mapResourceTypeRouteSegmentToName(resourceType);
131
- const data = new ResourceData({
132
- Name: '',
133
- ResourceRecordID: resourceRecordId,
134
- ResourceTypeID: this.sharedService.ResourceTypeByName(resourceType)?.ID,
135
- Configuration: {},
136
- });
137
- let code = EventCodes.AddDashboard;
138
- const entityNameDecoded = decodeURIComponent(route.queryParams['Entity'] || route.queryParams['entity']);
139
- const md = new Metadata();
140
- switch (resourceType.trim().toLowerCase()) {
141
- case 'lists':
142
- code = EventCodes.ListClicked;
143
- break;
144
- case 'user views':
145
- code = EventCodes.ViewClicked;
146
- break;
147
- case 'dashboards':
148
- code = EventCodes.AddDashboard;
149
- break;
150
- case 'reports':
151
- code = EventCodes.AddReport;
152
- break;
153
- case 'queries':
154
- code = EventCodes.AddQuery;
155
- break;
156
- case 'records':
157
- code = EventCodes.EntityRecordClicked;
158
- data.Configuration.Entity = entityNameDecoded; // Entity or entity is specified for this resource type since resource record id isn't good enough
159
- const newRecordVals = route.queryParams['NewRecordValues'] || route.queryParams['newRecordValues'];
160
- if (newRecordVals) {
161
- data.Configuration.NewRecordValues = decodeURIComponent(newRecordVals);
162
- }
163
- data.Configuration.___rawQueryParams = route.queryParams;
164
- if (data.Configuration.Entity === undefined || data.Configuration.Entity === null) {
165
- LogError('No Entity provided in the URL, must have Entity as a query parameter for this resource type');
166
- return;
167
- }
168
- else {
169
- const entityInfo = md.Entities.find(e => e.Name.trim().toLowerCase() === data.Configuration.Entity.trim().toLowerCase());
170
- if (!entityInfo) {
171
- LogError(`Entity ${data.Configuration.Entity} not found in metadata`);
172
- return;
173
- }
174
- }
175
- break;
176
- case 'search results':
177
- code = EventCodes.RunSearch;
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
- MJGlobal.Instance.RaiseEvent({
188
- component: this,
189
- event: MJEventType.ComponentEvent,
190
- eventCode: code,
191
- args: data,
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
- else {
195
- LogError(`ResourceType: ${resourceType} or ResourceRecordId: ${resourceRecordId} is undefined in the route parameters`);
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: 'resource/:resourceType/:resourceRecordId',
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
- router;
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, { initialNavigation: 'disabled', onSameUrlNavigation: 'reload' }), RouterModule] });
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, { initialNavigation: 'disabled', onSameUrlNavigation: 'reload' })],
446
+ imports: [RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload' })],
313
447
  exports: [RouterModule],
314
448
  }]
315
- }], () => [{ type: i2.Router }], null); })();
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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"}