@memberjunction/ng-explorer-core 3.4.0 → 4.0.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 +1 -1
- package/dist/app-routing.module.d.ts.map +1 -1
- package/dist/app-routing.module.js +11 -0
- package/dist/app-routing.module.js.map +1 -1
- package/dist/generic/Events.types.d.ts +174 -0
- package/dist/generic/Events.types.d.ts.map +1 -0
- package/dist/generic/Events.types.js +220 -0
- package/dist/generic/Events.types.js.map +1 -0
- package/dist/lib/app-view/application-view.component.d.ts +65 -0
- package/dist/lib/app-view/application-view.component.d.ts.map +1 -0
- package/dist/lib/app-view/application-view.component.js +611 -0
- package/dist/lib/app-view/application-view.component.js.map +1 -0
- package/dist/lib/auth-button/auth-button.component.d.ts +13 -0
- package/dist/lib/auth-button/auth-button.component.d.ts.map +1 -0
- package/dist/lib/auth-button/auth-button.component.js +36 -0
- package/dist/lib/auth-button/auth-button.component.js.map +1 -0
- package/dist/lib/base-browser-component/base-browser-component.d.ts +44 -0
- package/dist/lib/base-browser-component/base-browser-component.d.ts.map +1 -0
- package/dist/lib/base-browser-component/base-browser-component.js +195 -0
- package/dist/lib/base-browser-component/base-browser-component.js.map +1 -0
- package/dist/lib/chat-wrapper/chat-wrapper.component.d.ts +54 -0
- package/dist/lib/chat-wrapper/chat-wrapper.component.d.ts.map +1 -0
- package/dist/lib/chat-wrapper/chat-wrapper.component.js +257 -0
- package/dist/lib/chat-wrapper/chat-wrapper.component.js.map +1 -0
- package/dist/lib/command-palette/command-palette.component.d.ts +79 -0
- package/dist/lib/command-palette/command-palette.component.d.ts.map +1 -0
- package/dist/lib/command-palette/command-palette.component.js +326 -0
- package/dist/lib/command-palette/command-palette.component.js.map +1 -0
- package/dist/lib/command-palette/command-palette.service.d.ts +49 -0
- package/dist/lib/command-palette/command-palette.service.d.ts.map +1 -0
- package/dist/lib/command-palette/command-palette.service.js +101 -0
- package/dist/lib/command-palette/command-palette.service.js.map +1 -0
- package/dist/lib/command-palette/index.d.ts +3 -0
- package/dist/lib/command-palette/index.d.ts.map +1 -0
- package/dist/lib/command-palette/index.js +3 -0
- package/dist/lib/command-palette/index.js.map +1 -0
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts +32 -0
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts.map +1 -0
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.js +244 -0
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.js.map +1 -0
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts.map +1 -1
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +14 -12
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
- package/dist/lib/data-browser-component/data-browser.component.d.ts +23 -0
- package/dist/lib/data-browser-component/data-browser.component.d.ts.map +1 -0
- package/dist/lib/data-browser-component/data-browser.component.js +267 -0
- package/dist/lib/data-browser-component/data-browser.component.js.map +1 -0
- package/dist/lib/expansion-panel-component/expansion-panel-component.d.ts +21 -0
- package/dist/lib/expansion-panel-component/expansion-panel-component.d.ts.map +1 -0
- package/dist/lib/expansion-panel-component/expansion-panel-component.js +158 -0
- package/dist/lib/expansion-panel-component/expansion-panel-component.js.map +1 -0
- package/dist/lib/favorites/favorites.component.d.ts +15 -0
- package/dist/lib/favorites/favorites.component.d.ts.map +1 -0
- package/dist/lib/favorites/favorites.component.js +135 -0
- package/dist/lib/favorites/favorites.component.js.map +1 -0
- package/dist/lib/files/files.component.d.ts +10 -0
- package/dist/lib/files/files.component.d.ts.map +1 -0
- package/dist/lib/files/files.component.js +41 -0
- package/dist/lib/files/files.component.js.map +1 -0
- package/dist/lib/generic/form-toolbar.d.ts.map +1 -1
- package/dist/lib/generic/form-toolbar.js +56 -38
- package/dist/lib/generic/form-toolbar.js.map +1 -1
- package/dist/lib/generic/resource-container-component.d.ts.map +1 -1
- package/dist/lib/generic/resource-container-component.js +3 -2
- package/dist/lib/generic/resource-container-component.js.map +1 -1
- package/dist/lib/generic-browse-list/generic-browse-list.component.d.ts +30 -0
- package/dist/lib/generic-browse-list/generic-browse-list.component.d.ts.map +1 -0
- package/dist/lib/generic-browse-list/generic-browse-list.component.js +171 -0
- package/dist/lib/generic-browse-list/generic-browse-list.component.js.map +1 -0
- package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts +120 -0
- package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts.map +1 -0
- package/dist/lib/generic-browser-list/generic-browser-list.component.js +1093 -0
- package/dist/lib/generic-browser-list/generic-browser-list.component.js.map +1 -0
- package/dist/lib/header/MSFT_UserImageService.d.ts +12 -0
- package/dist/lib/header/MSFT_UserImageService.d.ts.map +1 -0
- package/dist/lib/header/MSFT_UserImageService.js +25 -0
- package/dist/lib/header/MSFT_UserImageService.js.map +1 -0
- package/dist/lib/header/header.component.d.ts +69 -0
- package/dist/lib/header/header.component.d.ts.map +1 -0
- package/dist/lib/header/header.component.js +342 -0
- package/dist/lib/header/header.component.js.map +1 -0
- package/dist/lib/home-component/home.component.d.ts +22 -0
- package/dist/lib/home-component/home.component.d.ts.map +1 -0
- package/dist/lib/home-component/home.component.js +194 -0
- package/dist/lib/home-component/home.component.js.map +1 -0
- package/dist/lib/home-wrapper/home-wrapper.component.d.ts +7 -0
- package/dist/lib/home-wrapper/home-wrapper.component.d.ts.map +1 -0
- package/dist/lib/home-wrapper/home-wrapper.component.js +30 -0
- package/dist/lib/home-wrapper/home-wrapper.component.js.map +1 -0
- package/dist/lib/list-view/list-view.component.d.ts +45 -0
- package/dist/lib/list-view/list-view.component.d.ts.map +1 -0
- package/dist/lib/list-view/list-view.component.js +329 -0
- package/dist/lib/list-view/list-view.component.js.map +1 -0
- package/dist/lib/navigation/navigation.component.d.ts +142 -0
- package/dist/lib/navigation/navigation.component.d.ts.map +1 -0
- package/dist/lib/navigation/navigation.component.js +1212 -0
- package/dist/lib/navigation/navigation.component.js.map +1 -0
- package/dist/lib/oauth/oauth-callback.component.d.ts +97 -0
- package/dist/lib/oauth/oauth-callback.component.d.ts.map +1 -0
- package/dist/lib/oauth/oauth-callback.component.js +408 -0
- package/dist/lib/oauth/oauth-callback.component.js.map +1 -0
- package/dist/lib/oauth/oauth.module.d.ts +14 -0
- package/dist/lib/oauth/oauth.module.d.ts.map +1 -0
- package/dist/lib/oauth/oauth.module.js +43 -0
- package/dist/lib/oauth/oauth.module.js.map +1 -0
- package/dist/lib/query-browser-component/query-browser.component.d.ts +75 -0
- package/dist/lib/query-browser-component/query-browser.component.d.ts.map +1 -0
- package/dist/lib/query-browser-component/query-browser.component.js +908 -0
- package/dist/lib/query-browser-component/query-browser.component.js.map +1 -0
- package/dist/lib/report-browser-component/report-browser.component.d.ts +22 -0
- package/dist/lib/report-browser-component/report-browser.component.d.ts.map +1 -0
- package/dist/lib/report-browser-component/report-browser.component.js +80 -0
- package/dist/lib/report-browser-component/report-browser.component.js.map +1 -0
- package/dist/lib/resource-browser/resource-browser.component.d.ts +178 -0
- package/dist/lib/resource-browser/resource-browser.component.d.ts.map +1 -0
- package/dist/lib/resource-browser/resource-browser.component.js +1012 -0
- package/dist/lib/resource-browser/resource-browser.component.js.map +1 -0
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +0 -1
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/artifact-resource.component.js +20 -23
- package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +0 -1
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js +36 -45
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +0 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +98 -100
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +0 -1
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +21 -24
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +0 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.js +11 -10
- package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/list-detail-resource.component.d.ts +0 -1
- package/dist/lib/resource-wrappers/list-detail-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/list-detail-resource.component.js +3 -5
- package/dist/lib/resource-wrappers/list-detail-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/notifications-resource.component.d.ts +0 -1
- package/dist/lib/resource-wrappers/notifications-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/notifications-resource.component.js +3 -5
- package/dist/lib/resource-wrappers/notifications-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/query-resource.component.d.ts +0 -1
- package/dist/lib/resource-wrappers/query-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/query-resource.component.js +3 -5
- package/dist/lib/resource-wrappers/query-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/record-resource.component.d.ts +0 -1
- package/dist/lib/resource-wrappers/record-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/record-resource.component.js +3 -5
- package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/report-resource.component.d.ts +13 -0
- package/dist/lib/resource-wrappers/report-resource.component.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/report-resource.component.js +49 -0
- package/dist/lib/resource-wrappers/report-resource.component.js.map +1 -0
- package/dist/lib/resource-wrappers/resource-wrappers-loader.d.ts +0 -1
- package/dist/lib/resource-wrappers/resource-wrappers-loader.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/resource-wrappers-loader.js +3 -33
- package/dist/lib/resource-wrappers/resource-wrappers-loader.js.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +0 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.js +3 -5
- package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.d.ts +0 -1
- package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.js +8 -13
- package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
- package/dist/lib/shared/custom-icon/custom-icon.component.d.ts +11 -0
- package/dist/lib/shared/custom-icon/custom-icon.component.d.ts.map +1 -0
- package/dist/lib/shared/custom-icon/custom-icon.component.js +44 -0
- package/dist/lib/shared/custom-icon/custom-icon.component.js.map +1 -0
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts +6 -0
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts.map +1 -1
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.js +62 -34
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.js.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.js +15 -16
- package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
- package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -1
- package/dist/lib/shell/components/header/app-switcher.component.js +36 -35
- package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.js +14 -15
- package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
- package/dist/lib/shell/shell.component.d.ts +13 -1
- package/dist/lib/shell/shell.component.d.ts.map +1 -1
- package/dist/lib/shell/shell.component.js +242 -190
- package/dist/lib/shell/shell.component.js.map +1 -1
- package/dist/lib/shell/shell.module.d.ts +8 -7
- package/dist/lib/shell/shell.module.d.ts.map +1 -1
- package/dist/lib/shell/shell.module.js +12 -3
- package/dist/lib/shell/shell.module.js.map +1 -1
- package/dist/lib/single-application/single-application.component.d.ts +24 -0
- package/dist/lib/single-application/single-application.component.d.ts.map +1 -0
- package/dist/lib/single-application/single-application.component.js +122 -0
- package/dist/lib/single-application/single-application.component.js.map +1 -0
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +56 -61
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +3 -3
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +21 -22
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js +84 -83
- package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
- package/dist/lib/single-entity/single-entity.component.d.ts +34 -0
- package/dist/lib/single-entity/single-entity.component.d.ts.map +1 -0
- package/dist/lib/single-entity/single-entity.component.js +245 -0
- package/dist/lib/single-entity/single-entity.component.js.map +1 -0
- package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.js +75 -72
- package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
- package/dist/lib/single-query/single-query.component.d.ts.map +1 -1
- package/dist/lib/single-query/single-query.component.js +4 -4
- package/dist/lib/single-query/single-query.component.js.map +1 -1
- package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
- package/dist/lib/single-record/single-record.component.js +11 -11
- package/dist/lib/single-record/single-record.component.js.map +1 -1
- package/dist/lib/single-report/single-report.component.d.ts +17 -0
- package/dist/lib/single-report/single-report.component.d.ts.map +1 -0
- package/dist/lib/single-report/single-report.component.js +55 -0
- package/dist/lib/single-report/single-report.component.js.map +1 -0
- package/dist/lib/single-search-result/single-search-result.component.d.ts.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.js +4 -4
- package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
- package/dist/lib/single-view/single-view.component.d.ts +43 -0
- package/dist/lib/single-view/single-view.component.d.ts.map +1 -0
- package/dist/lib/single-view/single-view.component.js +207 -0
- package/dist/lib/single-view/single-view.component.js.map +1 -0
- package/dist/lib/style-guide-test/style-guide-test.component.d.ts +70 -0
- package/dist/lib/style-guide-test/style-guide-test.component.d.ts.map +1 -0
- package/dist/lib/style-guide-test/style-guide-test.component.js +1024 -0
- package/dist/lib/style-guide-test/style-guide-test.component.js.map +1 -0
- package/dist/lib/system-validation/system-validation-banner.component.d.ts.map +1 -1
- package/dist/lib/system-validation/system-validation-banner.component.js +85 -65
- package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -1
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts +46 -0
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts.map +1 -0
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js +547 -0
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js.map +1 -0
- package/dist/lib/user-menu/base-user-menu.d.ts +0 -1
- package/dist/lib/user-menu/base-user-menu.d.ts.map +1 -1
- package/dist/lib/user-menu/base-user-menu.js +0 -4
- package/dist/lib/user-menu/base-user-menu.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 +14 -15
- package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
- package/dist/lib/user-profile/user-profile.component.d.ts.map +1 -1
- package/dist/lib/user-profile/user-profile.component.js +56 -54
- package/dist/lib/user-profile/user-profile.component.js.map +1 -1
- package/dist/module.d.ts +32 -32
- package/dist/module.js +4 -5
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +6 -1
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +10 -1
- package/dist/public-api.js.map +1 -1
- package/package.json +60 -60
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Component } from '@angular/core';
|
|
8
|
+
import { Metadata, CompositeKey } from '@memberjunction/core';
|
|
9
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
10
|
+
import { EnvironmentEntityExtended } from '@memberjunction/core-entities';
|
|
11
|
+
import { BaseNavigationComponent, SharedService } from '@memberjunction/ng-shared';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/router";
|
|
14
|
+
import * as i2 from "@angular/common";
|
|
15
|
+
import * as i3 from "@memberjunction/ng-conversations";
|
|
16
|
+
function ChatWrapperComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
18
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "mj-conversation-workspace", 2);
|
|
19
|
+
i0.ɵɵlistener("navigationChanged", function ChatWrapperComponent_div_0_Template_mj_conversation_workspace_navigationChanged_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onNavigationChanged($event)); })("newConversationStarted", function ChatWrapperComponent_div_0_Template_mj_conversation_workspace_newConversationStarted_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onNewConversationStarted()); })("actionableCommandExecuted", function ChatWrapperComponent_div_0_Template_mj_conversation_workspace_actionableCommandExecuted_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onActionableCommand($event)); })("automaticCommandExecuted", function ChatWrapperComponent_div_0_Template_mj_conversation_workspace_automaticCommandExecuted_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onAutomaticCommand($event)); });
|
|
20
|
+
i0.ɵɵelementEnd()();
|
|
21
|
+
} if (rf & 2) {
|
|
22
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
23
|
+
i0.ɵɵadvance();
|
|
24
|
+
i0.ɵɵproperty("environmentId", ctx_r1.environmentId)("initialConversationId", ctx_r1.conversationId)("currentUser", ctx_r1.currentUser)("layout", "full")("activeContext", ctx_r1.activeContext)("contextItemId", ctx_r1.contextItemId)("activeTabInput", ctx_r1.activeTab)("activeConversationInput", ctx_r1.activeConversationId)("activeCollectionInput", ctx_r1.activeCollectionId)("activeVersionIdInput", ctx_r1.activeVersionId)("activeTaskInput", ctx_r1.activeTaskId);
|
|
25
|
+
} }
|
|
26
|
+
/**
|
|
27
|
+
* Wrapper component for the conversations interface within MJ Explorer
|
|
28
|
+
* Integrates the generic @memberjunction/ng-conversations package with Explorer routing
|
|
29
|
+
* Handles route params for conversation, library, and task context
|
|
30
|
+
*/
|
|
31
|
+
let ChatWrapperComponent = class ChatWrapperComponent {
|
|
32
|
+
route;
|
|
33
|
+
router;
|
|
34
|
+
environmentId = '';
|
|
35
|
+
conversationId;
|
|
36
|
+
activeContext;
|
|
37
|
+
contextItemId;
|
|
38
|
+
currentUser = null;
|
|
39
|
+
// Navigation state from route params
|
|
40
|
+
activeTab;
|
|
41
|
+
activeConversationId;
|
|
42
|
+
activeCollectionId;
|
|
43
|
+
activeVersionId;
|
|
44
|
+
activeTaskId;
|
|
45
|
+
constructor(route, router) {
|
|
46
|
+
this.route = route;
|
|
47
|
+
this.router = router;
|
|
48
|
+
}
|
|
49
|
+
ngOnInit() {
|
|
50
|
+
const md = new Metadata();
|
|
51
|
+
this.currentUser = md.CurrentUser;
|
|
52
|
+
this.environmentId = EnvironmentEntityExtended.DefaultEnvironmentID;
|
|
53
|
+
// Subscribe to route params for conversation and context navigation
|
|
54
|
+
this.route.params.subscribe(params => {
|
|
55
|
+
if (params['conversationId']) {
|
|
56
|
+
this.conversationId = params['conversationId'];
|
|
57
|
+
}
|
|
58
|
+
// Handle context (library or task) and contextItemId
|
|
59
|
+
if (params['context']) {
|
|
60
|
+
const context = params['context'];
|
|
61
|
+
if (context === 'library' || context === 'task') {
|
|
62
|
+
this.activeContext = context;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.activeContext = undefined;
|
|
67
|
+
}
|
|
68
|
+
if (params['itemId']) {
|
|
69
|
+
this.contextItemId = params['itemId'];
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.contextItemId = undefined;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
// Subscribe to query params for navigation state (tab, activeTaskId, etc.)
|
|
76
|
+
this.route.queryParams.subscribe(queryParams => {
|
|
77
|
+
// Parse navigation properties from query params
|
|
78
|
+
if (queryParams['tab']) {
|
|
79
|
+
const tab = queryParams['tab'];
|
|
80
|
+
if (tab === 'conversations' || tab === 'collections' || tab === 'tasks') {
|
|
81
|
+
this.activeTab = tab;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// Parse entity-specific IDs based on active tab
|
|
85
|
+
this.activeConversationId = queryParams['activeConversationId'];
|
|
86
|
+
this.activeCollectionId = queryParams['activeCollectionId'];
|
|
87
|
+
this.activeVersionId = queryParams['activeVersionId'];
|
|
88
|
+
this.activeTaskId = queryParams['activeTaskId'];
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Handle new conversation started event
|
|
93
|
+
* Clears conversation-specific URL parameters when user clicks "New Conversation"
|
|
94
|
+
*/
|
|
95
|
+
onNewConversationStarted() {
|
|
96
|
+
console.log('🆕 New conversation started - clearing URL params');
|
|
97
|
+
// Clear local state
|
|
98
|
+
this.activeConversationId = undefined;
|
|
99
|
+
// Update URL to remove conversation ID, keeping only tab parameter
|
|
100
|
+
this.router.navigate([], {
|
|
101
|
+
relativeTo: this.route,
|
|
102
|
+
queryParams: {
|
|
103
|
+
tab: 'conversations'
|
|
104
|
+
},
|
|
105
|
+
replaceUrl: false // Add to browser history
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Handle navigation changes from conversation workspace
|
|
110
|
+
* Update route params to reflect navigation state for browser history/deep linking
|
|
111
|
+
*/
|
|
112
|
+
onNavigationChanged(event) {
|
|
113
|
+
// Update local state
|
|
114
|
+
this.activeTab = event.tab;
|
|
115
|
+
this.activeConversationId = event.conversationId;
|
|
116
|
+
this.activeCollectionId = event.collectionId;
|
|
117
|
+
this.activeVersionId = event.versionId;
|
|
118
|
+
this.activeTaskId = event.taskId;
|
|
119
|
+
// Build query params based on active tab
|
|
120
|
+
// IMPORTANT: Only include params relevant to the current tab
|
|
121
|
+
// This prevents parameter accumulation across different contexts
|
|
122
|
+
const queryParams = {
|
|
123
|
+
tab: event.tab
|
|
124
|
+
};
|
|
125
|
+
if (event.tab === 'conversations' && event.conversationId) {
|
|
126
|
+
queryParams.activeConversationId = event.conversationId;
|
|
127
|
+
}
|
|
128
|
+
else if (event.tab === 'collections') {
|
|
129
|
+
// Only add collection/version IDs if they exist
|
|
130
|
+
if (event.collectionId) {
|
|
131
|
+
queryParams.activeCollectionId = event.collectionId;
|
|
132
|
+
}
|
|
133
|
+
if (event.versionId) {
|
|
134
|
+
queryParams.activeVersionId = event.versionId;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else if (event.tab === 'tasks' && event.taskId) {
|
|
138
|
+
queryParams.activeTaskId = event.taskId;
|
|
139
|
+
}
|
|
140
|
+
// Update URL without reloading the page
|
|
141
|
+
// NOTE: We don't use 'merge' here because we want to REPLACE query params entirely
|
|
142
|
+
// This ensures switching tabs clears irrelevant parameters from previous contexts
|
|
143
|
+
this.router.navigate([], {
|
|
144
|
+
relativeTo: this.route,
|
|
145
|
+
queryParams: queryParams,
|
|
146
|
+
replaceUrl: false // Add to browser history for back/forward navigation
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Handle actionable commands from agents and UI interactions
|
|
151
|
+
* Routes commands to appropriate Explorer services (SharedService for entity records, etc.)
|
|
152
|
+
*/
|
|
153
|
+
onActionableCommand(command) {
|
|
154
|
+
console.log('🎯 Explorer handling actionable command:', command);
|
|
155
|
+
if (command.type === 'open:resource') {
|
|
156
|
+
// Handle opening MJ resources using SharedService
|
|
157
|
+
const { resourceType, resourceId, entityName, mode } = command;
|
|
158
|
+
if (resourceType === 'Record') {
|
|
159
|
+
// Open entity record using SharedService
|
|
160
|
+
if (!entityName) {
|
|
161
|
+
console.error('entityName is required for Record type commands');
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const compositeKey = new CompositeKey([{ FieldName: 'ID', Value: resourceId }]);
|
|
165
|
+
SharedService.Instance.OpenEntityRecord(entityName, compositeKey);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
// For other resource types (Dashboard, Report, Form, View), navigate using Router
|
|
169
|
+
const routeMap = {
|
|
170
|
+
'Dashboard': '/dashboard',
|
|
171
|
+
'Report': '/report',
|
|
172
|
+
'Form': '/form',
|
|
173
|
+
'View': '/view'
|
|
174
|
+
};
|
|
175
|
+
const basePath = routeMap[resourceType];
|
|
176
|
+
if (basePath) {
|
|
177
|
+
const queryParams = command.parameters || {};
|
|
178
|
+
if (mode) {
|
|
179
|
+
queryParams['mode'] = mode;
|
|
180
|
+
}
|
|
181
|
+
this.router.navigate([`${basePath}/${resourceId}`], { queryParams });
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
console.warn('Unknown resource type:', resourceType);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
else if (command.type === 'open:url') {
|
|
189
|
+
// Handle opening external URLs
|
|
190
|
+
const { url, newTab } = command;
|
|
191
|
+
if (newTab !== false) {
|
|
192
|
+
// Open in new tab (default behavior)
|
|
193
|
+
window.open(url, '_blank', 'noopener,noreferrer');
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
// Navigate in current window
|
|
197
|
+
window.location.href = url;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Handle automatic commands from agents
|
|
203
|
+
* Shows notifications using SharedService notification system
|
|
204
|
+
*/
|
|
205
|
+
onAutomaticCommand(command) {
|
|
206
|
+
console.log('🎯 Explorer handling automatic command:', command);
|
|
207
|
+
if (command.type === 'notification') {
|
|
208
|
+
// Show notification using SharedService
|
|
209
|
+
const { message, severity, duration } = command;
|
|
210
|
+
// Map severity to SharedService notification types
|
|
211
|
+
const typeMap = {
|
|
212
|
+
'success': 'success',
|
|
213
|
+
'info': 'info',
|
|
214
|
+
'warning': 'warning',
|
|
215
|
+
'error': 'error'
|
|
216
|
+
};
|
|
217
|
+
const notificationType = typeMap[severity || 'info'] || 'info';
|
|
218
|
+
SharedService.Instance.CreateSimpleNotification(message, notificationType, duration || 3000);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
static ɵfac = function ChatWrapperComponent_Factory(t) { return new (t || ChatWrapperComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i1.Router)); };
|
|
222
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ChatWrapperComponent, selectors: [["mj-chat-wrapper"]], decls: 1, vars: 1, consts: [["class", "chat-wrapper", 4, "ngIf"], [1, "chat-wrapper"], [3, "navigationChanged", "newConversationStarted", "actionableCommandExecuted", "automaticCommandExecuted", "environmentId", "initialConversationId", "currentUser", "layout", "activeContext", "contextItemId", "activeTabInput", "activeConversationInput", "activeCollectionInput", "activeVersionIdInput", "activeTaskInput"]], template: function ChatWrapperComponent_Template(rf, ctx) { if (rf & 1) {
|
|
223
|
+
i0.ɵɵtemplate(0, ChatWrapperComponent_div_0_Template, 2, 11, "div", 0);
|
|
224
|
+
} if (rf & 2) {
|
|
225
|
+
i0.ɵɵproperty("ngIf", ctx.currentUser);
|
|
226
|
+
} }, dependencies: [i2.NgIf, i3.ConversationWorkspaceComponent], styles: [".chat-wrapper[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n }"] });
|
|
227
|
+
};
|
|
228
|
+
ChatWrapperComponent = __decorate([
|
|
229
|
+
RegisterClass(BaseNavigationComponent, 'Chat')
|
|
230
|
+
], ChatWrapperComponent);
|
|
231
|
+
export { ChatWrapperComponent };
|
|
232
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ChatWrapperComponent, [{
|
|
233
|
+
type: Component,
|
|
234
|
+
args: [{ selector: 'mj-chat-wrapper', template: `
|
|
235
|
+
<div class="chat-wrapper" *ngIf="currentUser">
|
|
236
|
+
<mj-conversation-workspace
|
|
237
|
+
[environmentId]="environmentId"
|
|
238
|
+
[initialConversationId]="conversationId"
|
|
239
|
+
[currentUser]="currentUser"
|
|
240
|
+
[layout]="'full'"
|
|
241
|
+
[activeContext]="activeContext"
|
|
242
|
+
[contextItemId]="contextItemId"
|
|
243
|
+
[activeTabInput]="activeTab"
|
|
244
|
+
[activeConversationInput]="activeConversationId"
|
|
245
|
+
[activeCollectionInput]="activeCollectionId"
|
|
246
|
+
[activeVersionIdInput]="activeVersionId"
|
|
247
|
+
[activeTaskInput]="activeTaskId"
|
|
248
|
+
(navigationChanged)="onNavigationChanged($event)"
|
|
249
|
+
(newConversationStarted)="onNewConversationStarted()"
|
|
250
|
+
(actionableCommandExecuted)="onActionableCommand($event)"
|
|
251
|
+
(automaticCommandExecuted)="onAutomaticCommand($event)">
|
|
252
|
+
</mj-conversation-workspace>
|
|
253
|
+
</div>
|
|
254
|
+
`, styles: ["\n .chat-wrapper {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n "] }]
|
|
255
|
+
}], () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], null); })();
|
|
256
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChatWrapperComponent, { className: "ChatWrapperComponent" }); })();
|
|
257
|
+
//# sourceMappingURL=chat-wrapper.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-wrapper.component.js","sourceRoot":"","sources":["../../../src/lib/chat-wrapper/chat-wrapper.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { OnInit, OnDestroy, ElementRef, ChangeDetectorRef, EventEmitter } from '@angular/core';
|
|
2
|
+
import { ApplicationManager, BaseApplication } from '@memberjunction/ng-base-application';
|
|
3
|
+
import { CommandPaletteService } from './command-palette.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Command Palette Component
|
|
7
|
+
*
|
|
8
|
+
* Provides a Notion-style command palette for quickly searching and navigating to applications.
|
|
9
|
+
* Triggered by Cmd+K (Mac) or Ctrl+/ (Windows/Linux).
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Fuzzy search with relevance scoring
|
|
13
|
+
* - Keyboard navigation (arrow keys, enter, escape)
|
|
14
|
+
* - Loading state during navigation
|
|
15
|
+
* - Empty state with helpful message
|
|
16
|
+
*/
|
|
17
|
+
export declare class CommandPaletteComponent implements OnInit, OnDestroy {
|
|
18
|
+
private service;
|
|
19
|
+
private appManager;
|
|
20
|
+
private cdr;
|
|
21
|
+
private destroy$;
|
|
22
|
+
SearchInput: ElementRef<HTMLInputElement>;
|
|
23
|
+
AppSelected: EventEmitter<string>;
|
|
24
|
+
IsOpen: boolean;
|
|
25
|
+
SearchQuery: string;
|
|
26
|
+
AllApps: BaseApplication[];
|
|
27
|
+
FilteredApps: BaseApplication[];
|
|
28
|
+
SelectedIndex: number;
|
|
29
|
+
IsNavigating: boolean;
|
|
30
|
+
constructor(service: CommandPaletteService, appManager: ApplicationManager, cdr: ChangeDetectorRef);
|
|
31
|
+
ngOnInit(): void;
|
|
32
|
+
ngOnDestroy(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Called when command palette opens
|
|
35
|
+
*/
|
|
36
|
+
private onOpen;
|
|
37
|
+
/**
|
|
38
|
+
* Called when command palette closes
|
|
39
|
+
*/
|
|
40
|
+
private onClose;
|
|
41
|
+
/**
|
|
42
|
+
* Handle search query change
|
|
43
|
+
*/
|
|
44
|
+
OnSearchChange(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Filter and sort applications based on search query
|
|
47
|
+
*/
|
|
48
|
+
private filterAndSortApps;
|
|
49
|
+
/**
|
|
50
|
+
* Calculate match score for fuzzy search
|
|
51
|
+
*
|
|
52
|
+
* Scoring:
|
|
53
|
+
* - Exact match: 1000 points
|
|
54
|
+
* - Starts with: 500 points
|
|
55
|
+
* - Contains: 100 points
|
|
56
|
+
* - Description match: 50 points
|
|
57
|
+
* - Initials match: 25 points (e.g., "de" matches "Data Explorer")
|
|
58
|
+
*/
|
|
59
|
+
private calculateMatchScore;
|
|
60
|
+
/**
|
|
61
|
+
* Select an application and emit event for shell to handle navigation
|
|
62
|
+
*/
|
|
63
|
+
SelectApp(app: BaseApplication): void;
|
|
64
|
+
/**
|
|
65
|
+
* Close the command palette
|
|
66
|
+
*/
|
|
67
|
+
Close(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Handle keyboard navigation
|
|
70
|
+
*/
|
|
71
|
+
HandleKeyDown(event: KeyboardEvent): void;
|
|
72
|
+
/**
|
|
73
|
+
* Ensure selected item is visible in results list
|
|
74
|
+
*/
|
|
75
|
+
private scrollToSelected;
|
|
76
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CommandPaletteComponent, never>;
|
|
77
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CommandPaletteComponent, "mj-command-palette", never, {}, { "AppSelected": "AppSelected"; }, never, never, false, never>;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=command-palette.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-palette.component.d.ts","sourceRoot":"","sources":["../../../src/lib/command-palette/command-palette.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAa,UAAU,EAAgB,iBAAiB,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AAG3I,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAElE;;;;;;;;;;;GAWG;AACH,qBAMa,uBAAwB,YAAW,MAAM,EAAE,SAAS;IAc7D,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,GAAG;IAfb,OAAO,CAAC,QAAQ,CAAuB;IAEb,WAAW,EAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC3D,WAAW,uBAA8B;IAEnD,MAAM,UAAS;IACf,WAAW,SAAM;IACjB,OAAO,EAAE,eAAe,EAAE,CAAM;IAChC,YAAY,EAAE,eAAe,EAAE,CAAM;IACrC,aAAa,SAAK;IAClB,YAAY,UAAS;gBAGX,OAAO,EAAE,qBAAqB,EAC9B,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,iBAAiB;IAGhC,QAAQ,IAAI,IAAI;IAqBhB,WAAW,IAAI,IAAI;IAKnB;;OAEG;IACH,OAAO,CAAC,MAAM;IAiBd;;OAEG;IACH,OAAO,CAAC,OAAO;IAMf;;OAEG;IACH,cAAc,IAAI,IAAI;IAKtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAQrC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IAEH,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAqCzC;;OAEG;IACH,OAAO,CAAC,gBAAgB;yCAjNb,uBAAuB;2CAAvB,uBAAuB;CAyNnC"}
|