@memberjunction/ng-dashboards 6.2.0-edge.6 → 6.2.0-edge.8
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 +23 -16
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +2 -2
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/realtime/realtime-management.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/realtime/realtime-management.component.js +3 -1
- package/dist/AI/components/analytics/realtime/realtime-management.component.js.map +1 -1
- package/dist/AI/components/analytics/realtime/realtime-overview.component.d.ts +1 -1
- package/dist/AI/components/analytics/realtime/realtime-overview.component.js +3 -3
- package/dist/AI/components/analytics/realtime/realtime-overview.component.js.map +1 -1
- package/dist/AI/components/analytics/realtime/realtime-session-data.d.ts +6 -4
- package/dist/AI/components/analytics/realtime/realtime-session-data.d.ts.map +1 -1
- package/dist/AI/components/analytics/realtime/realtime-session-data.js +8 -2
- package/dist/AI/components/analytics/realtime/realtime-session-data.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +31 -10
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js +1 -1
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -1
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +1 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -1
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -1
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +1 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +2 -2
- package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +14 -24
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +14 -7
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.js +4 -2
- package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
- package/dist/Actions/action-result-code.d.ts +80 -0
- package/dist/Actions/action-result-code.d.ts.map +1 -0
- package/dist/Actions/action-result-code.js +163 -0
- package/dist/Actions/action-result-code.js.map +1 -0
- package/dist/Actions/components/actions-overview.component.d.ts +8 -0
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +12 -9
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +29 -9
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +65 -42
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-card.component.js +5 -4
- package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
- package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts +92 -130
- package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts.map +1 -1
- package/dist/ChiefOfStaff/chief-of-staff-agent-context.js +189 -274
- package/dist/ChiefOfStaff/chief-of-staff-agent-context.js.map +1 -1
- package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts +29 -0
- package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js +666 -0
- package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts +56 -0
- package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-governance.component.js +515 -0
- package/dist/ChiefOfStaff/chief-of-staff-governance.component.js.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts +14 -0
- package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js +39 -0
- package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts +17 -0
- package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-overview.component.js +485 -0
- package/dist/ChiefOfStaff/chief-of-staff-overview.component.js.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts +139 -0
- package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-page-base.js +602 -0
- package/dist/ChiefOfStaff/chief-of-staff-page-base.js.map +1 -0
- package/dist/ChiefOfStaff/index.d.ts +4 -1
- package/dist/ChiefOfStaff/index.d.ts.map +1 -1
- package/dist/ChiefOfStaff/index.js +4 -1
- package/dist/ChiefOfStaff/index.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +3 -3
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +3 -3
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js +1 -0
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +2 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -1
- package/dist/ComponentStudio/services/component-version.service.js +3 -0
- package/dist/ComponentStudio/services/component-version.service.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +21 -2
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +32 -5
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DevTools/graphql-console.component.js +2 -2
- package/dist/DevTools/lazy-module-status.component.js +2 -2
- package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -1
- package/dist/FormBuilder/form-builder-resource.component.js +5 -0
- package/dist/FormBuilder/form-builder-resource.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +2 -2
- package/dist/Integration/services/integration-data.service.d.ts +1 -1
- package/dist/Integration/services/integration-data.service.d.ts.map +1 -1
- package/dist/Integration/services/integration-data.service.js +4 -3
- package/dist/Integration/services/integration-data.service.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +11 -3
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +16 -16
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.d.ts +113 -0
- package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.js +1184 -0
- package/dist/KnowledgeHub/components/visualize/semantic-graph/semantic-graph-explorer.component.js.map +1 -0
- package/dist/KnowledgeHub/components/visualize/visualize-agent-context.d.ts +1 -1
- package/dist/KnowledgeHub/components/visualize/visualize-agent-context.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/visualize/visualize-agent-context.js +1 -1
- package/dist/KnowledgeHub/components/visualize/visualize-agent-context.js.map +1 -1
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts +1 -1
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js +21 -10
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/LoginStudio/login-studio-resource.component.d.ts.map +1 -1
- package/dist/LoginStudio/login-studio-resource.component.js +1 -0
- package/dist/LoginStudio/login-studio-resource.component.js.map +1 -1
- package/dist/PredictiveStudio/components/ps-experiments.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/components/ps-experiments.component.js +1 -0
- package/dist/PredictiveStudio/components/ps-experiments.component.js.map +1 -1
- package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.js +2 -2
- package/dist/PredictiveStudio/components/ps-predictions-grid.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/components/ps-predictions-grid.component.js +3 -0
- package/dist/PredictiveStudio/components/ps-predictions-grid.component.js.map +1 -1
- package/dist/PredictiveStudio/engine/predictive-studio.engine.d.ts.map +1 -1
- package/dist/PredictiveStudio/engine/predictive-studio.engine.js +1 -0
- package/dist/PredictiveStudio/engine/predictive-studio.engine.js.map +1 -1
- package/dist/PredictiveStudio/resources/ps-predictions-resource.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js +1 -0
- package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.d.ts +26 -0
- package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +375 -252
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +4 -2
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/UserRoutines/user-routines-resource.component.d.ts +8 -1
- package/dist/UserRoutines/user-routines-resource.component.d.ts.map +1 -1
- package/dist/UserRoutines/user-routines-resource.component.js +22 -4
- package/dist/UserRoutines/user-routines-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.js +1 -0
- package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
- package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts +162 -0
- package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-archetype-editor.component.js +1105 -0
- package/dist/VideoStudio/components/vs-archetype-editor.component.js.map +1 -0
- package/dist/VideoStudio/components/vs-audio-options.component.d.ts +27 -0
- package/dist/VideoStudio/components/vs-audio-options.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-audio-options.component.js +119 -0
- package/dist/VideoStudio/components/vs-audio-options.component.js.map +1 -0
- package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts +105 -0
- package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-copilot-panel.component.js +560 -0
- package/dist/VideoStudio/components/vs-copilot-panel.component.js.map +1 -0
- package/dist/VideoStudio/components/vs-production-brief.component.d.ts +163 -0
- package/dist/VideoStudio/components/vs-production-brief.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-production-brief.component.js +1054 -0
- package/dist/VideoStudio/components/vs-production-brief.component.js.map +1 -0
- package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts +43 -0
- package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-setup-health-card.component.js +412 -0
- package/dist/VideoStudio/components/vs-setup-health-card.component.js.map +1 -0
- package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts +73 -0
- package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-studio-slide-in.component.js +271 -0
- package/dist/VideoStudio/components/vs-studio-slide-in.component.js.map +1 -0
- package/dist/VideoStudio/index.d.ts +12 -0
- package/dist/VideoStudio/index.d.ts.map +1 -0
- package/dist/VideoStudio/index.js +12 -0
- package/dist/VideoStudio/index.js.map +1 -0
- package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts +118 -0
- package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts.map +1 -0
- package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js +964 -0
- package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js.map +1 -0
- package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts +70 -0
- package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts.map +1 -0
- package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js +600 -0
- package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js.map +1 -0
- package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts +182 -0
- package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts.map +1 -0
- package/dist/VideoStudio/resources/video-studio-productions-resource.component.js +1481 -0
- package/dist/VideoStudio/resources/video-studio-productions-resource.component.js.map +1 -0
- package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts +102 -0
- package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts.map +1 -0
- package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js +240 -0
- package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js.map +1 -0
- package/dist/VideoStudio/video-studio-agent-context.d.ts +495 -0
- package/dist/VideoStudio/video-studio-agent-context.d.ts.map +1 -0
- package/dist/VideoStudio/video-studio-agent-context.js +992 -0
- package/dist/VideoStudio/video-studio-agent-context.js.map +1 -0
- package/dist/ai-dashboards.module.d.ts +46 -41
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +33 -7
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/module.d.ts +13 -12
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +7 -0
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +8 -1
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +10 -2
- package/dist/public-api.js.map +1 -1
- package/dist/shared/action-scheduled-job.d.ts.map +1 -1
- package/dist/shared/action-scheduled-job.js +2 -0
- package/dist/shared/action-scheduled-job.js.map +1 -1
- package/dist/video-studio-dashboards.module.d.ts +40 -0
- package/dist/video-studio-dashboards.module.d.ts.map +1 -0
- package/dist/video-studio-dashboards.module.js +159 -0
- package/dist/video-studio-dashboards.module.js.map +1 -0
- package/package.json +78 -71
- package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.d.ts +0 -195
- package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.d.ts.map +0 -1
- package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.js +0 -2910
- package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.js.map +0 -1
|
@@ -0,0 +1,485 @@
|
|
|
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 { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
8
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
9
|
+
import { BaseResourceComponent } from '@memberjunction/ng-shared';
|
|
10
|
+
import { BaseChiefOfStaffPage } from './chief-of-staff-page-base';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@memberjunction/ng-conversations";
|
|
13
|
+
import * as i2 from "@memberjunction/ng-shared-generic";
|
|
14
|
+
import * as i3 from "@memberjunction/ng-agent-requests";
|
|
15
|
+
import * as i4 from "@memberjunction/ng-ui-components";
|
|
16
|
+
import * as i5 from "@angular/common";
|
|
17
|
+
const _forTrack0 = ($index, $item) => $item.ID;
|
|
18
|
+
function ChiefOfStaffOverviewComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
i0.ɵɵelement(0, "mj-stat-badge", 2);
|
|
20
|
+
} if (rf & 2) {
|
|
21
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
22
|
+
i0.ɵɵproperty("Count", ctx_r0.Metrics.PendingApprovalCount);
|
|
23
|
+
} }
|
|
24
|
+
function ChiefOfStaffOverviewComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
i0.ɵɵelement(0, "mj-stat-badge", 3);
|
|
26
|
+
} if (rf & 2) {
|
|
27
|
+
i0.ɵɵproperty("Count", 0);
|
|
28
|
+
} }
|
|
29
|
+
function ChiefOfStaffOverviewComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
31
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "div", 13);
|
|
32
|
+
i0.ɵɵelement(2, "i", 14);
|
|
33
|
+
i0.ɵɵelementStart(3, "span");
|
|
34
|
+
i0.ɵɵtext(4);
|
|
35
|
+
i0.ɵɵelementEnd()();
|
|
36
|
+
i0.ɵɵelementStart(5, "button", 15);
|
|
37
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_9_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.DismissBanner()); });
|
|
38
|
+
i0.ɵɵelement(6, "i", 16);
|
|
39
|
+
i0.ɵɵelementEnd()();
|
|
40
|
+
} if (rf & 2) {
|
|
41
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
42
|
+
i0.ɵɵclassProp("cos-banner--success", ctx_r0.FeedbackBanner.Type === "success")("cos-banner--error", ctx_r0.FeedbackBanner.Type === "error");
|
|
43
|
+
i0.ɵɵadvance(2);
|
|
44
|
+
i0.ɵɵclassProp("fa-circle-check", ctx_r0.FeedbackBanner.Type === "success")("fa-circle-exclamation", ctx_r0.FeedbackBanner.Type === "error");
|
|
45
|
+
i0.ɵɵadvance(2);
|
|
46
|
+
i0.ɵɵtextInterpolate(ctx_r0.FeedbackBanner.Message);
|
|
47
|
+
} }
|
|
48
|
+
function ChiefOfStaffOverviewComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
+
i0.ɵɵelementStart(0, "div", 8);
|
|
50
|
+
i0.ɵɵelement(1, "mj-loading", 17);
|
|
51
|
+
i0.ɵɵelementEnd();
|
|
52
|
+
} }
|
|
53
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
+
i0.ɵɵtext(0);
|
|
55
|
+
i0.ɵɵpipe(1, "date");
|
|
56
|
+
} if (rf & 2) {
|
|
57
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
58
|
+
i0.ɵɵtextInterpolate1(" Next: ", i0.ɵɵpipeBind2(1, 1, ctx_r0.Metrics.NextScheduledWakeAt, "short"), " ");
|
|
59
|
+
} }
|
|
60
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
61
|
+
i0.ɵɵtext(0, " No wake scheduled ");
|
|
62
|
+
} }
|
|
63
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
64
|
+
i0.ɵɵtext(0);
|
|
65
|
+
} if (rf & 2) {
|
|
66
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
67
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.Metrics.HighPriorityPendingCount, " high-priority awaiting decision ");
|
|
68
|
+
} }
|
|
69
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
70
|
+
i0.ɵɵtext(0, " All high-priority requests clear ");
|
|
71
|
+
} }
|
|
72
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_45_Template(rf, ctx) { if (rf & 1) {
|
|
73
|
+
i0.ɵɵelement(0, "mj-empty-state", 36);
|
|
74
|
+
} }
|
|
75
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
+
i0.ɵɵelementStart(0, "span", 41);
|
|
77
|
+
i0.ɵɵtext(1);
|
|
78
|
+
i0.ɵɵelementEnd();
|
|
79
|
+
} if (rf & 2) {
|
|
80
|
+
const req_r5 = i0.ɵɵnextContext().$implicit;
|
|
81
|
+
i0.ɵɵadvance();
|
|
82
|
+
i0.ɵɵtextInterpolate(req_r5.RequestType);
|
|
83
|
+
} }
|
|
84
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
+
i0.ɵɵelement(0, "i", 54);
|
|
86
|
+
i0.ɵɵtext(1);
|
|
87
|
+
} if (rf & 2) {
|
|
88
|
+
i0.ɵɵnextContext(2);
|
|
89
|
+
const openDraft_r6 = i0.ɵɵreadContextLet(19);
|
|
90
|
+
i0.ɵɵadvance();
|
|
91
|
+
i0.ɵɵtextInterpolate1(" Email draft to ", openDraft_r6.To);
|
|
92
|
+
} }
|
|
93
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
94
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
95
|
+
i0.ɵɵelementStart(0, "button", 55);
|
|
96
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_ng_template_3_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r7); const req_r5 = i0.ɵɵnextContext(2).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.CopyEmailDraft(req_r5, $event)); });
|
|
97
|
+
i0.ɵɵelement(1, "i", 56);
|
|
98
|
+
i0.ɵɵtext(2, " Copy ");
|
|
99
|
+
i0.ɵɵelementEnd();
|
|
100
|
+
} }
|
|
101
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_ng_template_4_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
102
|
+
i0.ɵɵelementStart(0, "div")(1, "strong");
|
|
103
|
+
i0.ɵɵtext(2, "CC:");
|
|
104
|
+
i0.ɵɵelementEnd();
|
|
105
|
+
i0.ɵɵtext(3);
|
|
106
|
+
i0.ɵɵelementEnd();
|
|
107
|
+
} if (rf & 2) {
|
|
108
|
+
i0.ɵɵnextContext(3);
|
|
109
|
+
const openDraft_r6 = i0.ɵɵreadContextLet(19);
|
|
110
|
+
i0.ɵɵadvance(3);
|
|
111
|
+
i0.ɵɵtextInterpolate1(" ", openDraft_r6.CC.join(", "));
|
|
112
|
+
} }
|
|
113
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_ng_template_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
114
|
+
i0.ɵɵelementStart(0, "div")(1, "strong");
|
|
115
|
+
i0.ɵɵtext(2, "From:");
|
|
116
|
+
i0.ɵɵelementEnd();
|
|
117
|
+
i0.ɵɵtext(3);
|
|
118
|
+
i0.ɵɵelementEnd();
|
|
119
|
+
} if (rf & 2) {
|
|
120
|
+
i0.ɵɵnextContext(3);
|
|
121
|
+
const openDraft_r6 = i0.ɵɵreadContextLet(19);
|
|
122
|
+
i0.ɵɵadvance(3);
|
|
123
|
+
i0.ɵɵtextInterpolate1(" ", openDraft_r6.From);
|
|
124
|
+
} }
|
|
125
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
126
|
+
i0.ɵɵelementStart(0, "div", 57)(1, "div")(2, "strong");
|
|
127
|
+
i0.ɵɵtext(3, "To:");
|
|
128
|
+
i0.ɵɵelementEnd();
|
|
129
|
+
i0.ɵɵtext(4);
|
|
130
|
+
i0.ɵɵelementEnd();
|
|
131
|
+
i0.ɵɵconditionalCreate(5, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_ng_template_4_Conditional_5_Template, 4, 1, "div");
|
|
132
|
+
i0.ɵɵconditionalCreate(6, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_ng_template_4_Conditional_6_Template, 4, 1, "div");
|
|
133
|
+
i0.ɵɵelementStart(7, "div")(8, "strong");
|
|
134
|
+
i0.ɵɵtext(9, "Subject:");
|
|
135
|
+
i0.ɵɵelementEnd();
|
|
136
|
+
i0.ɵɵtext(10);
|
|
137
|
+
i0.ɵɵelementEnd()();
|
|
138
|
+
i0.ɵɵelementStart(11, "pre", 58);
|
|
139
|
+
i0.ɵɵtext(12);
|
|
140
|
+
i0.ɵɵelementEnd();
|
|
141
|
+
} if (rf & 2) {
|
|
142
|
+
i0.ɵɵnextContext(2);
|
|
143
|
+
const openDraft_r6 = i0.ɵɵreadContextLet(19);
|
|
144
|
+
i0.ɵɵadvance(4);
|
|
145
|
+
i0.ɵɵtextInterpolate1(" ", openDraft_r6.To);
|
|
146
|
+
i0.ɵɵadvance();
|
|
147
|
+
i0.ɵɵconditional(openDraft_r6.CC.length > 0 ? 5 : -1);
|
|
148
|
+
i0.ɵɵadvance();
|
|
149
|
+
i0.ɵɵconditional(openDraft_r6.From ? 6 : -1);
|
|
150
|
+
i0.ɵɵadvance(4);
|
|
151
|
+
i0.ɵɵtextInterpolate1(" ", openDraft_r6.Subject);
|
|
152
|
+
i0.ɵɵadvance(2);
|
|
153
|
+
i0.ɵɵtextInterpolate(openDraft_r6.Body);
|
|
154
|
+
} }
|
|
155
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
156
|
+
i0.ɵɵelementStart(0, "div", 49);
|
|
157
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_Template_div_click_0_listener($event) { return $event.stopPropagation(); });
|
|
158
|
+
i0.ɵɵelementStart(1, "mj-accordion-panel", 50);
|
|
159
|
+
i0.ɵɵtemplate(2, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_ng_template_2_Template, 2, 1, "ng-template", 51)(3, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_ng_template_3_Template, 3, 0, "ng-template", 52)(4, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_ng_template_4_Template, 13, 5, "ng-template", 53);
|
|
160
|
+
i0.ɵɵelementEnd()();
|
|
161
|
+
} if (rf & 2) {
|
|
162
|
+
i0.ɵɵadvance();
|
|
163
|
+
i0.ɵɵproperty("Bare", true);
|
|
164
|
+
} }
|
|
165
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
166
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
167
|
+
i0.ɵɵelementStart(0, "div", 39);
|
|
168
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Template_div_click_0_listener() { const req_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OpenRequestDetail(req_r5)); });
|
|
169
|
+
i0.ɵɵelementStart(1, "div", 40)(2, "span");
|
|
170
|
+
i0.ɵɵtext(3);
|
|
171
|
+
i0.ɵɵelementEnd();
|
|
172
|
+
i0.ɵɵconditionalCreate(4, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_4_Template, 2, 1, "span", 41);
|
|
173
|
+
i0.ɵɵelementStart(5, "span", 42);
|
|
174
|
+
i0.ɵɵtext(6);
|
|
175
|
+
i0.ɵɵpipe(7, "date");
|
|
176
|
+
i0.ɵɵelementEnd()();
|
|
177
|
+
i0.ɵɵelementStart(8, "p", 43);
|
|
178
|
+
i0.ɵɵtext(9);
|
|
179
|
+
i0.ɵɵelementEnd();
|
|
180
|
+
i0.ɵɵelementStart(10, "div", 44)(11, "button", 45);
|
|
181
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Template_button_click_11_listener($event) { const req_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.QuickRespondToRequest(req_r5, "Approved", $event)); });
|
|
182
|
+
i0.ɵɵelement(12, "i", 46);
|
|
183
|
+
i0.ɵɵtext(13, " Approve ");
|
|
184
|
+
i0.ɵɵelementEnd();
|
|
185
|
+
i0.ɵɵelementStart(14, "button", 47);
|
|
186
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Template_button_click_14_listener($event) { const req_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.QuickRespondToRequest(req_r5, "Rejected", $event)); });
|
|
187
|
+
i0.ɵɵelement(15, "i", 16);
|
|
188
|
+
i0.ɵɵtext(16, " Reject ");
|
|
189
|
+
i0.ɵɵelementEnd();
|
|
190
|
+
i0.ɵɵelementStart(17, "button", 35);
|
|
191
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Template_button_click_17_listener($event) { const req_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); ctx_r0.OpenRequestDetail(req_r5); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
192
|
+
i0.ɵɵtext(18, " Inspect ");
|
|
193
|
+
i0.ɵɵelementEnd()();
|
|
194
|
+
i0.ɵɵdeclareLet(19);
|
|
195
|
+
i0.ɵɵconditionalCreate(20, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Conditional_20_Template, 5, 1, "div", 48);
|
|
196
|
+
i0.ɵɵelementEnd();
|
|
197
|
+
} if (rf & 2) {
|
|
198
|
+
const req_r5 = ctx.$implicit;
|
|
199
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
200
|
+
i0.ɵɵadvance(2);
|
|
201
|
+
i0.ɵɵclassMap(i0.ɵɵinterpolate1("cos-priority-tag ", ctx_r0.GetPriorityTierClass(req_r5.Priority)));
|
|
202
|
+
i0.ɵɵadvance();
|
|
203
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r0.GetPriorityTierLabel(req_r5.Priority), " (", req_r5.Priority, ") ");
|
|
204
|
+
i0.ɵɵadvance();
|
|
205
|
+
i0.ɵɵconditional(req_r5.RequestType ? 4 : -1);
|
|
206
|
+
i0.ɵɵadvance(2);
|
|
207
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(7, 11, req_r5.RequestedAt, "short"), " ");
|
|
208
|
+
i0.ɵɵadvance(3);
|
|
209
|
+
i0.ɵɵtextInterpolate(req_r5.Request);
|
|
210
|
+
i0.ɵɵadvance(2);
|
|
211
|
+
i0.ɵɵproperty("disabled", ctx_r0.BusyRequestID === req_r5.ID);
|
|
212
|
+
i0.ɵɵadvance(3);
|
|
213
|
+
i0.ɵɵproperty("disabled", ctx_r0.BusyRequestID === req_r5.ID);
|
|
214
|
+
i0.ɵɵadvance(5);
|
|
215
|
+
const openDraft_r8 = i0.ɵɵstoreLet(ctx_r0.EmailDraftFor(req_r5));
|
|
216
|
+
i0.ɵɵadvance();
|
|
217
|
+
i0.ɵɵconditional(openDraft_r8 ? 20 : -1);
|
|
218
|
+
} }
|
|
219
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_Template(rf, ctx) { if (rf & 1) {
|
|
220
|
+
i0.ɵɵelementStart(0, "div", 30);
|
|
221
|
+
i0.ɵɵrepeaterCreate(1, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_For_2_Template, 21, 15, "div", 38, _forTrack0);
|
|
222
|
+
i0.ɵɵelementEnd();
|
|
223
|
+
} if (rf & 2) {
|
|
224
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
225
|
+
i0.ɵɵadvance();
|
|
226
|
+
i0.ɵɵrepeater(ctx_r0.PendingRequests.slice(0, 3));
|
|
227
|
+
} }
|
|
228
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_58_Template(rf, ctx) { if (rf & 1) {
|
|
229
|
+
i0.ɵɵelement(0, "mj-empty-state", 37);
|
|
230
|
+
} }
|
|
231
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
232
|
+
i0.ɵɵelementStart(0, "span");
|
|
233
|
+
i0.ɵɵtext(1);
|
|
234
|
+
i0.ɵɵpipe(2, "date");
|
|
235
|
+
i0.ɵɵelementEnd();
|
|
236
|
+
} if (rf & 2) {
|
|
237
|
+
const routine_r10 = i0.ɵɵnextContext().$implicit;
|
|
238
|
+
i0.ɵɵadvance();
|
|
239
|
+
i0.ɵɵtextInterpolate1("Next wake: ", i0.ɵɵpipeBind2(2, 1, routine_r10.NextRunAt, "short"));
|
|
240
|
+
} }
|
|
241
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
242
|
+
i0.ɵɵelementStart(0, "span");
|
|
243
|
+
i0.ɵɵtext(1, "No next wake scheduled");
|
|
244
|
+
i0.ɵɵelementEnd();
|
|
245
|
+
} }
|
|
246
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
247
|
+
i0.ɵɵelementStart(0, "span");
|
|
248
|
+
i0.ɵɵtext(1, "\u00B7 Cron: ");
|
|
249
|
+
i0.ɵɵelementStart(2, "code");
|
|
250
|
+
i0.ɵɵtext(3);
|
|
251
|
+
i0.ɵɵelementEnd()();
|
|
252
|
+
} if (rf & 2) {
|
|
253
|
+
const routine_r10 = i0.ɵɵnextContext().$implicit;
|
|
254
|
+
i0.ɵɵadvance(3);
|
|
255
|
+
i0.ɵɵtextInterpolate(routine_r10.CronExpression);
|
|
256
|
+
} }
|
|
257
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
258
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
259
|
+
i0.ɵɵelementStart(0, "div", 59)(1, "div", 60)(2, "div", 61)(3, "span", 62);
|
|
260
|
+
i0.ɵɵtext(4);
|
|
261
|
+
i0.ɵɵelementEnd();
|
|
262
|
+
i0.ɵɵelementStart(5, "span");
|
|
263
|
+
i0.ɵɵtext(6);
|
|
264
|
+
i0.ɵɵelementEnd()();
|
|
265
|
+
i0.ɵɵelementStart(7, "div", 63);
|
|
266
|
+
i0.ɵɵconditionalCreate(8, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_For_2_Conditional_8_Template, 3, 4, "span")(9, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_For_2_Conditional_9_Template, 2, 0, "span");
|
|
267
|
+
i0.ɵɵconditionalCreate(10, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_For_2_Conditional_10_Template, 4, 1, "span");
|
|
268
|
+
i0.ɵɵelementEnd()();
|
|
269
|
+
i0.ɵɵelementStart(11, "div", 64)(12, "button", 65);
|
|
270
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_For_2_Template_button_click_12_listener($event) { const routine_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OpenBriefingReader(routine_r10, $event)); });
|
|
271
|
+
i0.ɵɵelement(13, "i", 66);
|
|
272
|
+
i0.ɵɵtext(14, " Read ");
|
|
273
|
+
i0.ɵɵelementEnd();
|
|
274
|
+
i0.ɵɵelementStart(15, "button", 67);
|
|
275
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_For_2_Template_button_click_15_listener($event) { const routine_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.TriggerWakeNow(routine_r10, $event)); });
|
|
276
|
+
i0.ɵɵelement(16, "i", 68);
|
|
277
|
+
i0.ɵɵtext(17, " Wake Now ");
|
|
278
|
+
i0.ɵɵelementEnd()()();
|
|
279
|
+
} if (rf & 2) {
|
|
280
|
+
const routine_r10 = ctx.$implicit;
|
|
281
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
282
|
+
i0.ɵɵadvance(4);
|
|
283
|
+
i0.ɵɵtextInterpolate(routine_r10.Name);
|
|
284
|
+
i0.ɵɵadvance();
|
|
285
|
+
i0.ɵɵclassMap(i0.ɵɵinterpolate1("cos-status-chip cos-status-chip--", ctx_r0.RoutineStatusLabel(routine_r10).toLowerCase()));
|
|
286
|
+
i0.ɵɵadvance();
|
|
287
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.RoutineStatusLabel(routine_r10), " ");
|
|
288
|
+
i0.ɵɵadvance(2);
|
|
289
|
+
i0.ɵɵconditional(routine_r10.NextRunAt ? 8 : 9);
|
|
290
|
+
i0.ɵɵadvance(2);
|
|
291
|
+
i0.ɵɵconditional(routine_r10.CronExpression ? 10 : -1);
|
|
292
|
+
i0.ɵɵadvance(2);
|
|
293
|
+
i0.ɵɵproperty("disabled", !ctx_r0.CanOpenBriefing(routine_r10))("title", ctx_r0.CanOpenBriefing(routine_r10) ? "Read this routine's briefings here" : "No briefing yet: the routine has not run");
|
|
294
|
+
i0.ɵɵadvance(3);
|
|
295
|
+
i0.ɵɵproperty("disabled", ctx_r0.BusyRoutineID === routine_r10.ID);
|
|
296
|
+
} }
|
|
297
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_Template(rf, ctx) { if (rf & 1) {
|
|
298
|
+
i0.ɵɵelementStart(0, "div", 30);
|
|
299
|
+
i0.ɵɵrepeaterCreate(1, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_For_2_Template, 18, 10, "div", 59, _forTrack0);
|
|
300
|
+
i0.ɵɵelementEnd();
|
|
301
|
+
} if (rf & 2) {
|
|
302
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
303
|
+
i0.ɵɵadvance();
|
|
304
|
+
i0.ɵɵrepeater(ctx_r0.UpcomingRoutines.slice(0, 3));
|
|
305
|
+
} }
|
|
306
|
+
function ChiefOfStaffOverviewComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
307
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
308
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "div", 19);
|
|
309
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OpenPage("approvals-wakes")); });
|
|
310
|
+
i0.ɵɵelementStart(2, "div", 20)(3, "span", 21);
|
|
311
|
+
i0.ɵɵtext(4, "Active Wakes");
|
|
312
|
+
i0.ɵɵelementEnd();
|
|
313
|
+
i0.ɵɵelementStart(5, "div", 22);
|
|
314
|
+
i0.ɵɵelement(6, "i", 23);
|
|
315
|
+
i0.ɵɵelementEnd()();
|
|
316
|
+
i0.ɵɵelementStart(7, "div", 24);
|
|
317
|
+
i0.ɵɵtext(8);
|
|
318
|
+
i0.ɵɵelementEnd();
|
|
319
|
+
i0.ɵɵelementStart(9, "div", 25);
|
|
320
|
+
i0.ɵɵconditionalCreate(10, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_10_Template, 2, 4)(11, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_11_Template, 1, 0);
|
|
321
|
+
i0.ɵɵelementEnd()();
|
|
322
|
+
i0.ɵɵelementStart(12, "div", 19);
|
|
323
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Template_div_click_12_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OpenPage("approvals-wakes")); });
|
|
324
|
+
i0.ɵɵelementStart(13, "div", 20)(14, "span", 21);
|
|
325
|
+
i0.ɵɵtext(15, "Pending Approvals");
|
|
326
|
+
i0.ɵɵelementEnd();
|
|
327
|
+
i0.ɵɵelementStart(16, "div", 26);
|
|
328
|
+
i0.ɵɵelement(17, "i", 27);
|
|
329
|
+
i0.ɵɵelementEnd()();
|
|
330
|
+
i0.ɵɵelementStart(18, "div", 24);
|
|
331
|
+
i0.ɵɵtext(19);
|
|
332
|
+
i0.ɵɵelementEnd();
|
|
333
|
+
i0.ɵɵelementStart(20, "div", 25);
|
|
334
|
+
i0.ɵɵconditionalCreate(21, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_21_Template, 1, 1)(22, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_22_Template, 1, 0);
|
|
335
|
+
i0.ɵɵelementEnd()();
|
|
336
|
+
i0.ɵɵelementStart(23, "div", 19);
|
|
337
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Template_div_click_23_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OpenPage("governance")); });
|
|
338
|
+
i0.ɵɵelementStart(24, "div", 20)(25, "span", 21);
|
|
339
|
+
i0.ɵɵtext(26, "Governance Posture");
|
|
340
|
+
i0.ɵɵelementEnd();
|
|
341
|
+
i0.ɵɵelementStart(27, "div", 22);
|
|
342
|
+
i0.ɵɵelement(28, "i", 28);
|
|
343
|
+
i0.ɵɵelementEnd()();
|
|
344
|
+
i0.ɵɵelementStart(29, "div", 24);
|
|
345
|
+
i0.ɵɵtext(30);
|
|
346
|
+
i0.ɵɵelementEnd();
|
|
347
|
+
i0.ɵɵelementStart(31, "div", 25);
|
|
348
|
+
i0.ɵɵtext(32);
|
|
349
|
+
i0.ɵɵelementEnd()()();
|
|
350
|
+
i0.ɵɵelementStart(33, "div", 29)(34, "div", 30)(35, "section", 31)(36, "div", 32)(37, "div")(38, "h3", 33);
|
|
351
|
+
i0.ɵɵelement(39, "i", 27);
|
|
352
|
+
i0.ɵɵtext(40, " Pending Approvals ");
|
|
353
|
+
i0.ɵɵelementEnd();
|
|
354
|
+
i0.ɵɵelementStart(41, "p", 34);
|
|
355
|
+
i0.ɵɵtext(42, " Requests awaiting your decision ");
|
|
356
|
+
i0.ɵɵelementEnd()();
|
|
357
|
+
i0.ɵɵelementStart(43, "button", 35);
|
|
358
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Template_button_click_43_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OpenPage("approvals-wakes")); });
|
|
359
|
+
i0.ɵɵtext(44);
|
|
360
|
+
i0.ɵɵelementEnd()();
|
|
361
|
+
i0.ɵɵconditionalCreate(45, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_45_Template, 1, 0, "mj-empty-state", 36)(46, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_46_Template, 3, 0, "div", 30);
|
|
362
|
+
i0.ɵɵelementEnd()();
|
|
363
|
+
i0.ɵɵelementStart(47, "div", 30)(48, "section", 31)(49, "div", 32)(50, "div")(51, "h3", 33);
|
|
364
|
+
i0.ɵɵelement(52, "i", 23);
|
|
365
|
+
i0.ɵɵtext(53, " Autonomous Wake Schedule ");
|
|
366
|
+
i0.ɵɵelementEnd();
|
|
367
|
+
i0.ɵɵelementStart(54, "p", 34);
|
|
368
|
+
i0.ɵɵtext(55, " Proactive AgentWake routines for your Chief of Staff ");
|
|
369
|
+
i0.ɵɵelementEnd()();
|
|
370
|
+
i0.ɵɵelementStart(56, "button", 35);
|
|
371
|
+
i0.ɵɵlistener("click", function ChiefOfStaffOverviewComponent_Conditional_11_Template_button_click_56_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OpenPage("approvals-wakes")); });
|
|
372
|
+
i0.ɵɵtext(57);
|
|
373
|
+
i0.ɵɵelementEnd()();
|
|
374
|
+
i0.ɵɵconditionalCreate(58, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_58_Template, 1, 0, "mj-empty-state", 37)(59, ChiefOfStaffOverviewComponent_Conditional_11_Conditional_59_Template, 3, 0, "div", 30);
|
|
375
|
+
i0.ɵɵelementEnd()()();
|
|
376
|
+
} if (rf & 2) {
|
|
377
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
378
|
+
i0.ɵɵadvance(8);
|
|
379
|
+
i0.ɵɵtextInterpolate(ctx_r0.Metrics.ActiveWakeRoutineCount);
|
|
380
|
+
i0.ɵɵadvance(2);
|
|
381
|
+
i0.ɵɵconditional(ctx_r0.Metrics.NextScheduledWakeAt ? 10 : 11);
|
|
382
|
+
i0.ɵɵadvance(6);
|
|
383
|
+
i0.ɵɵclassProp("cos-kpi-card__icon--warning", ctx_r0.Metrics.PendingApprovalCount > 0)("cos-kpi-card__icon--success", ctx_r0.Metrics.PendingApprovalCount === 0);
|
|
384
|
+
i0.ɵɵadvance(3);
|
|
385
|
+
i0.ɵɵtextInterpolate(ctx_r0.Metrics.PendingApprovalCount);
|
|
386
|
+
i0.ɵɵadvance(2);
|
|
387
|
+
i0.ɵɵconditional(ctx_r0.Metrics.HighPriorityPendingCount > 0 ? 21 : 22);
|
|
388
|
+
i0.ɵɵadvance(9);
|
|
389
|
+
i0.ɵɵtextInterpolate(ctx_r0.DraftPolicy.CoordinationMode);
|
|
390
|
+
i0.ɵɵadvance(2);
|
|
391
|
+
i0.ɵɵtextInterpolate2(" Status: ", ctx_r0.DraftPolicy.Status, " \u00B7 Email: ", ctx_r0.DraftPolicy.EmailChannelMode, " ");
|
|
392
|
+
i0.ɵɵadvance(12);
|
|
393
|
+
i0.ɵɵtextInterpolate1(" Manage (", ctx_r0.PendingRequests.length, ") ");
|
|
394
|
+
i0.ɵɵadvance();
|
|
395
|
+
i0.ɵɵconditional(ctx_r0.PendingRequests.length === 0 ? 45 : 46);
|
|
396
|
+
i0.ɵɵadvance(12);
|
|
397
|
+
i0.ɵɵtextInterpolate1(" Routines (", ctx_r0.Routines.length, ") ");
|
|
398
|
+
i0.ɵɵadvance();
|
|
399
|
+
i0.ɵɵconditional(ctx_r0.Routines.length === 0 ? 58 : 59);
|
|
400
|
+
} }
|
|
401
|
+
function ChiefOfStaffOverviewComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
402
|
+
i0.ɵɵelementStart(0, "div", 10);
|
|
403
|
+
i0.ɵɵelement(1, "mj-conversation-chat-area", 69);
|
|
404
|
+
i0.ɵɵelementEnd();
|
|
405
|
+
} if (rf & 2) {
|
|
406
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
407
|
+
i0.ɵɵadvance();
|
|
408
|
+
i0.ɵɵproperty("Provider", ctx_r0.Provider)("EnvironmentId", ctx_r0.BriefingEnvironmentId)("CurrentUser", ctx_r0.ProviderToUse.CurrentUser)("Conversation", ctx_r0.BriefingConversation)("ConversationId", ctx_r0.BriefingConversationId)("IsNewConversation", false)("SuppressNewConversationEmptyState", true)("AllowMentions", false)("OverlayMode", false)("ShowExportButton", false)("ShowShareButton", false)("ShowArtifactIndicator", false)("ShowAgentPicker", false)("ShowAgentModePicker", false)("ReadOnly", true)("ApplicationId", ctx_r0.BriefingApplicationId);
|
|
409
|
+
} }
|
|
410
|
+
function ChiefOfStaffOverviewComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
411
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
412
|
+
i0.ɵɵelementStart(0, "mj-agent-request-dialog", 70);
|
|
413
|
+
i0.ɵɵlistener("Close", function ChiefOfStaffOverviewComponent_Conditional_14_Template_mj_agent_request_dialog_Close_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnRequestDialogClose($event)); });
|
|
414
|
+
i0.ɵɵelementEnd();
|
|
415
|
+
} if (rf & 2) {
|
|
416
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
417
|
+
i0.ɵɵproperty("Visible", ctx_r0.ShowRequestDialog)("Request", ctx_r0.SelectedRequest);
|
|
418
|
+
} }
|
|
419
|
+
/**
|
|
420
|
+
* The Chief of Staff application's Overview page: counts, the top pending approvals and the
|
|
421
|
+
* next wake routines, each linking to the page that manages it.
|
|
422
|
+
*
|
|
423
|
+
* Also registered under the driver classes of the former single dashboard, so a tab saved
|
|
424
|
+
* before the split still opens.
|
|
425
|
+
*/
|
|
426
|
+
let ChiefOfStaffOverviewComponent = class ChiefOfStaffOverviewComponent extends BaseChiefOfStaffPage {
|
|
427
|
+
Page = 'overview';
|
|
428
|
+
static ɵfac = /*@__PURE__*/ (() => { let ɵChiefOfStaffOverviewComponent_BaseFactory; return function ChiefOfStaffOverviewComponent_Factory(__ngFactoryType__) { return (ɵChiefOfStaffOverviewComponent_BaseFactory || (ɵChiefOfStaffOverviewComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ChiefOfStaffOverviewComponent)))(__ngFactoryType__ || ChiefOfStaffOverviewComponent); }; })();
|
|
429
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ChiefOfStaffOverviewComponent, selectors: [["mj-chief-of-staff-overview"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 15, vars: 13, consts: [["Subtitle", "Pending approvals, wake routines and governance at a glance", "Icon", "fa-solid fa-compass", 3, "Title"], ["meta", ""], ["Icon", "fa-solid fa-bell-concierge", "Label", "pending approvals", "Variant", "warning", 3, "Count"], ["Icon", "fa-solid fa-circle-check", "Label", "pending approvals", "Variant", "success", 3, "Count"], ["Icon", "fa-solid fa-clock-rotate-left", "Label", "active wakes", "Variant", "info", 3, "Count"], ["toolbar", ""], [3, "Clicked", "Loading", "ShowLabel"], ["role", "status", 1, "cos-banner", 3, "cos-banner--success", "cos-banner--error"], [1, "cos-loading"], ["Mode", "slide", 3, "Closed", "Title", "Visible", "Resizable", "WidthPx"], [1, "cos-briefing-reader"], [3, "Visible", "Request"], ["role", "status", 1, "cos-banner"], [1, "cos-banner__content"], [1, "fa-solid"], ["mjButton", "", "variant", "flat", "size", "sm", "aria-label", "Dismiss notification", 3, "click"], [1, "fa-solid", "fa-xmark"], ["text", "Loading Chief of Staff..."], [1, "cos-kpi-grid"], [1, "cos-kpi-card", 3, "click"], [1, "cos-kpi-card__header"], [1, "cos-kpi-card__label"], [1, "cos-kpi-card__icon", "cos-kpi-card__icon--brand"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "cos-kpi-card__value"], [1, "cos-kpi-card__sub"], [1, "cos-kpi-card__icon"], [1, "fa-solid", "fa-bell-concierge"], [1, "fa-solid", "fa-shield-halved"], [1, "cos-overview-columns"], [1, "cos-stack"], [1, "cos-panel"], [1, "cos-panel__header"], [1, "cos-panel__title"], [1, "cos-panel__subtitle"], ["mjButton", "", "variant", "outline", "size", "sm", 3, "click"], ["Size", "compact", "Variant", "success", "Icon", "fa-solid fa-circle-check", "Message", "No pending requests awaiting approval."], ["Size", "compact", "Icon", "fa-regular fa-clock", "Message", "No wake routines configured yet."], [1, "cos-request-card"], [1, "cos-request-card", 3, "click"], [1, "cos-request-card__top"], [1, "cos-meta-badge"], [1, "cos-timestamp"], [1, "cos-request-card__text"], [1, "cos-request-card__actions"], ["mjButton", "", "variant", "primary", "size", "sm", 3, "click", "disabled"], [1, "fa-solid", "fa-check"], ["mjButton", "", "variant", "danger", "size", "sm", 3, "click", "disabled"], [1, "cos-email-draft"], [1, "cos-email-draft", 3, "click"], ["Size", "sm", 3, "Bare"], ["mjAccordionTitle", ""], ["mjAccordionActions", ""], ["mjAccordionBody", ""], [1, "fa-solid", "fa-envelope"], ["mjButton", "", "variant", "outline", "size", "sm", "title", "Copy To, Subject and body as plain text for your mail client", 3, "click"], [1, "fa-regular", "fa-copy"], [1, "cos-email-draft__meta"], [1, "cos-email-draft__body"], [1, "cos-routine-mini"], [1, "cos-routine-mini__info"], [1, "cos-routine-mini__title-row"], [1, "cos-routine-mini__name"], [1, "cos-routine-mini__meta"], [1, "cos-routine-mini__actions"], ["mjButton", "", "variant", "outline", "size", "sm", 3, "click", "disabled", "title"], [1, "fa-solid", "fa-book-open"], ["mjButton", "", "variant", "primary", "size", "sm", "title", "Run this wake now. Its scheduled time is not changed.", 3, "click", "disabled"], [1, "fa-solid", "fa-bolt"], ["ReadOnlyMessage", "Briefings are written by the wake routine. To change what it checks or when, ask your Chief of Staff in chat or use the Routines app.", "ApplicationScope", "Application", 3, "Provider", "EnvironmentId", "CurrentUser", "Conversation", "ConversationId", "IsNewConversation", "SuppressNewConversationEmptyState", "AllowMentions", "OverlayMode", "ShowExportButton", "ShowShareButton", "ShowArtifactIndicator", "ShowAgentPicker", "ShowAgentModePicker", "ReadOnly", "ApplicationId"], [3, "Close", "Visible", "Request"]], template: function ChiefOfStaffOverviewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
430
|
+
i0.ɵɵelementStart(0, "mj-page-layout")(1, "mj-page-header", 0);
|
|
431
|
+
i0.ɵɵelementContainerStart(2, 1);
|
|
432
|
+
i0.ɵɵconditionalCreate(3, ChiefOfStaffOverviewComponent_Conditional_3_Template, 1, 1, "mj-stat-badge", 2)(4, ChiefOfStaffOverviewComponent_Conditional_4_Template, 1, 1, "mj-stat-badge", 3);
|
|
433
|
+
i0.ɵɵelement(5, "mj-stat-badge", 4);
|
|
434
|
+
i0.ɵɵelementContainerEnd();
|
|
435
|
+
i0.ɵɵelementContainerStart(6, 5);
|
|
436
|
+
i0.ɵɵelementStart(7, "mj-refresh-button", 6);
|
|
437
|
+
i0.ɵɵlistener("Clicked", function ChiefOfStaffOverviewComponent_Template_mj_refresh_button_Clicked_7_listener() { return ctx.LoadChiefOfStaffData(); });
|
|
438
|
+
i0.ɵɵelementEnd();
|
|
439
|
+
i0.ɵɵelementContainerEnd();
|
|
440
|
+
i0.ɵɵelementEnd();
|
|
441
|
+
i0.ɵɵelementStart(8, "mj-page-body");
|
|
442
|
+
i0.ɵɵconditionalCreate(9, ChiefOfStaffOverviewComponent_Conditional_9_Template, 7, 9, "div", 7);
|
|
443
|
+
i0.ɵɵconditionalCreate(10, ChiefOfStaffOverviewComponent_Conditional_10_Template, 2, 0, "div", 8)(11, ChiefOfStaffOverviewComponent_Conditional_11_Template, 60, 15);
|
|
444
|
+
i0.ɵɵelementEnd();
|
|
445
|
+
i0.ɵɵelementStart(12, "mj-slide-panel", 9);
|
|
446
|
+
i0.ɵɵlistener("Closed", function ChiefOfStaffOverviewComponent_Template_mj_slide_panel_Closed_12_listener() { return ctx.CloseBriefingReader(); });
|
|
447
|
+
i0.ɵɵconditionalCreate(13, ChiefOfStaffOverviewComponent_Conditional_13_Template, 2, 16, "div", 10);
|
|
448
|
+
i0.ɵɵelementEnd()();
|
|
449
|
+
i0.ɵɵconditionalCreate(14, ChiefOfStaffOverviewComponent_Conditional_14_Template, 1, 2, "mj-agent-request-dialog", 11);
|
|
450
|
+
} if (rf & 2) {
|
|
451
|
+
i0.ɵɵadvance();
|
|
452
|
+
i0.ɵɵproperty("Title", ctx.ChiefOfStaffDisplayName);
|
|
453
|
+
i0.ɵɵadvance(2);
|
|
454
|
+
i0.ɵɵconditional(ctx.Metrics.PendingApprovalCount > 0 ? 3 : 4);
|
|
455
|
+
i0.ɵɵadvance(2);
|
|
456
|
+
i0.ɵɵproperty("Count", ctx.Metrics.ActiveWakeRoutineCount);
|
|
457
|
+
i0.ɵɵadvance(2);
|
|
458
|
+
i0.ɵɵproperty("Loading", ctx.IsLoading)("ShowLabel", true);
|
|
459
|
+
i0.ɵɵadvance(2);
|
|
460
|
+
i0.ɵɵconditional(ctx.FeedbackBanner ? 9 : -1);
|
|
461
|
+
i0.ɵɵadvance();
|
|
462
|
+
i0.ɵɵconditional(ctx.IsLoading ? 10 : 11);
|
|
463
|
+
i0.ɵɵadvance(2);
|
|
464
|
+
i0.ɵɵproperty("Title", (ctx.BriefingRoutine == null ? null : ctx.BriefingRoutine.Name) ?? "Briefings")("Visible", ctx.IsBriefingReaderOpen)("Resizable", true)("WidthPx", 760);
|
|
465
|
+
i0.ɵɵadvance();
|
|
466
|
+
i0.ɵɵconditional(ctx.IsBriefingReaderOpen ? 13 : -1);
|
|
467
|
+
i0.ɵɵadvance();
|
|
468
|
+
i0.ɵɵconditional(ctx.ShowRequestDialog && ctx.SelectedRequest ? 14 : -1);
|
|
469
|
+
} }, dependencies: [i1.ConversationChatAreaComponent, i2.LoadingComponent, i3.AgentRequestDialogComponent, i4.MJButtonDirective, i4.MJPageHeaderComponent, i4.MJPageLayoutComponent, i4.MJPageBodyComponent, i4.MJStatBadgeComponent, i4.MJRefreshButtonComponent, i4.MJEmptyStateComponent, i4.MJAccordionPanelComponent, i4.MJAccordionTitleDirective, i4.MJAccordionActionsDirective, i4.MJAccordionBodyDirective, i4.MjSlidePanelComponent, i5.DatePipe], styles: ["[_nghost-%COMP%] {\n display: block;\n height: 100%;\n}\n\n.cos-loading[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 280px;\n}\n\n.cos-banner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 12px 16px;\n margin-bottom: 16px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n font-size: 13px;\n}\n\n.cos-banner__content[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.cos-banner--success[_ngcontent-%COMP%] {\n background-color: var(--mj-status-success-bg);\n border-color: var(--mj-status-success);\n color: var(--mj-status-success);\n}\n\n.cos-banner--error[_ngcontent-%COMP%] {\n background-color: var(--mj-status-error-bg);\n border-color: var(--mj-status-error);\n color: var(--mj-status-error);\n}\n\n\n.cos-kpi-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 16px;\n margin-top: 16px;\n margin-bottom: 20px;\n}\n\n.cos-kpi-card[_ngcontent-%COMP%] {\n background-color: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n padding: 16px 18px;\n cursor: pointer;\n transition: border-color 0.15s ease, transform 0.15s ease;\n}\n\n.cos-kpi-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n}\n\n.cos-kpi-card__header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 8px;\n}\n\n.cos-kpi-card__label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-secondary);\n}\n\n.cos-kpi-card__icon[_ngcontent-%COMP%] {\n width: 34px;\n height: 34px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 15px;\n background-color: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.cos-kpi-card__icon--brand[_ngcontent-%COMP%] {\n background-color: var(--mj-bg-surface-sunken);\n color: var(--mj-brand-primary);\n}\n\n.cos-kpi-card__icon--success[_ngcontent-%COMP%] {\n background-color: var(--mj-status-success-bg);\n color: var(--mj-status-success);\n}\n\n.cos-kpi-card__icon--warning[_ngcontent-%COMP%] {\n background-color: var(--mj-status-warning-bg);\n color: var(--mj-status-warning);\n}\n\n.cos-kpi-card__value[_ngcontent-%COMP%] {\n font-size: 26px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.2;\n}\n\n.cos-kpi-card__sub[_ngcontent-%COMP%] {\n margin-top: 4px;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n\n.cos-overview-columns[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));\n gap: 20px;\n margin-top: 16px;\n}\n\n.cos-stack[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n\n.cos-panel[_ngcontent-%COMP%] {\n background-color: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n padding: 18px 20px;\n}\n\n.cos-panel__header[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 12px;\n margin-bottom: 16px;\n}\n\n.cos-panel__title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.cos-panel__subtitle[_ngcontent-%COMP%] {\n margin: 4px 0 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n\n\n\n\n\n\n.cos-meta-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 8px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 500;\n background-color: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.cos-status-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 2px 8px;\n border-radius: 999px;\n font-size: 11px;\n font-weight: 600;\n background-color: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.cos-status-chip--active[_ngcontent-%COMP%], \n.cos-status-chip--approved[_ngcontent-%COMP%] {\n background-color: var(--mj-status-success-bg);\n color: var(--mj-status-success);\n}\n\n.cos-status-chip--requested[_ngcontent-%COMP%], \n.cos-status-chip--paused[_ngcontent-%COMP%] {\n background-color: var(--mj-status-warning-bg);\n color: var(--mj-status-warning);\n}\n\n.cos-status-chip--rejected[_ngcontent-%COMP%], \n.cos-status-chip--disabled[_ngcontent-%COMP%] {\n background-color: var(--mj-status-error-bg);\n color: var(--mj-status-error);\n}\n\n\n.cos-status-chip--fired[_ngcontent-%COMP%] {\n background-color: var(--mj-bg-subtle);\n color: var(--mj-text-secondary);\n}\n\n.cos-routine-card--fired[_ngcontent-%COMP%] {\n opacity: 0.8;\n}\n\n.cos-routine-card__fired-note[_ngcontent-%COMP%] {\n margin-left: 8px;\n color: var(--mj-text-secondary);\n font-size: 0.85em;\n}\n\n.cos-routines-toggle[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n margin-bottom: 8px;\n}\n\n\n\n\n\n\n.cos-request-card[_ngcontent-%COMP%] {\n padding: 14px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n background-color: var(--mj-bg-surface);\n cursor: pointer;\n transition: border-color 0.15s ease;\n}\n\n.cos-request-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n}\n\n.cos-request-card__top[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n margin-bottom: 8px;\n}\n\n.cos-request-card__badges[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.cos-priority-tag[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 2px 8px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.cos-priority-tag.priority-critical[_ngcontent-%COMP%], \n.cos-priority-tag.priority-high[_ngcontent-%COMP%] {\n background-color: var(--mj-status-error-bg);\n color: var(--mj-status-error);\n}\n\n.cos-priority-tag.priority-normal[_ngcontent-%COMP%] {\n background-color: var(--mj-status-warning-bg);\n color: var(--mj-status-warning);\n}\n\n.cos-priority-tag.priority-low[_ngcontent-%COMP%] {\n background-color: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.cos-timestamp[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n}\n\n.cos-request-card__text[_ngcontent-%COMP%] {\n margin: 0 0 12px;\n font-size: 13px;\n color: var(--mj-text-primary);\n line-height: 1.45;\n}\n\n\n.cos-email-draft[_ngcontent-%COMP%] {\n margin-top: 10px;\n cursor: default;\n}\n\n.cos-email-draft__meta[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n font-size: 0.9em;\n color: var(--mj-text-secondary);\n word-break: break-word;\n}\n\n.cos-email-draft__body[_ngcontent-%COMP%] {\n margin: 8px 0 0;\n padding: 0;\n border: 0;\n background: transparent;\n font: inherit;\n white-space: pre-wrap;\n word-break: break-word;\n color: var(--mj-text-primary);\n}\n\n.cos-request-card__actions[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.cos-resolved-section[_ngcontent-%COMP%] {\n margin-top: 20px;\n padding-top: 16px;\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.cos-resolved-section__title[_ngcontent-%COMP%] {\n margin: 0 0 10px;\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-muted);\n}\n\n.cos-resolved-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n padding: 8px 10px;\n border-radius: 6px;\n background-color: var(--mj-bg-surface-sunken);\n cursor: pointer;\n}\n\n.cos-resolved-row__main[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n}\n\n.cos-resolved-row__text[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-secondary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n\n.cos-routine-mini[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 12px 14px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-subtle);\n background-color: var(--mj-bg-surface);\n}\n\n.cos-routine-mini__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.cos-routine-mini__name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.cos-routine-mini__meta[_ngcontent-%COMP%] {\n margin-top: 4px;\n font-size: 12px;\n color: var(--mj-text-muted);\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n}\n\n.cos-routine-card[_ngcontent-%COMP%] {\n padding: 16px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n background-color: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.cos-routine-card__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.cos-routine-card__name[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.cos-routine-card__desc[_ngcontent-%COMP%] {\n margin: 4px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.cos-routine-card__schedule[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-secondary);\n padding: 10px 12px;\n border-radius: 6px;\n background-color: var(--mj-bg-surface-sunken);\n}\n\n.cos-routine-card__actions[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n\n.cos-governance-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 18px;\n margin-top: 16px;\n}\n\n.cos-governance-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 12px;\n padding: 16px 20px;\n border-radius: 10px;\n background-color: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n}\n\n.cos-governance-header__title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.cos-governance-header__subtitle[_ngcontent-%COMP%] {\n margin: 4px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.cos-governance-header__actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.cos-status-segmented[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n}\n\n.cos-mode-cards[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 12px;\n margin-bottom: 16px;\n}\n\n.cos-mode-card[_ngcontent-%COMP%] {\n padding: 14px 16px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n background-color: var(--mj-bg-surface);\n cursor: pointer;\n transition: border-color 0.15s ease, background-color 0.15s ease;\n}\n\n.cos-mode-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n}\n\n.cos-mode-card--selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background-color: var(--mj-bg-surface-sunken);\n}\n\n.cos-mode-card__top[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 6px;\n}\n\n.cos-mode-card__title[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.cos-mode-card__check[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.cos-mode-card__desc[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n line-height: 1.45;\n}\n\n.cos-form-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\n gap: 14px;\n}\n\n.cos-form-grid--spaced[_ngcontent-%COMP%] {\n margin-top: 16px;\n}\n\n.cos-form-field[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.cos-form-field--full[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.cos-form-field__label[_ngcontent-%COMP%] {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.cos-input[_ngcontent-%COMP%], \n.cos-textarea[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px 10px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n background-color: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 13px;\n font-family: inherit;\n box-sizing: border-box;\n}\n\n.cos-input[_ngcontent-%COMP%]:focus, \n.cos-textarea[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n}\n\n.cos-toggle-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.cos-toggle-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n padding: 12px 14px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-subtle);\n background-color: var(--mj-bg-surface);\n cursor: pointer;\n}\n\n.cos-toggle-row__title[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.cos-toggle-row__desc[_ngcontent-%COMP%] {\n margin-top: 2px;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n\n\n\n\n@keyframes _ngcontent-%COMP%_cosDrawerSlideIn {\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(0);\n }\n}\n\n\n.cos-briefing-reader[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n}\n\n.cos-briefing-reader[_ngcontent-%COMP%] mj-conversation-chat-area[_ngcontent-%COMP%] {\n flex: 1 1 auto;\n min-height: 0;\n}\n\n\n\n\n\n\n"], changeDetection: 0 });
|
|
470
|
+
};
|
|
471
|
+
ChiefOfStaffOverviewComponent = __decorate([
|
|
472
|
+
RegisterClass(BaseResourceComponent, 'ChiefOfStaffOverview'),
|
|
473
|
+
RegisterClass(BaseResourceComponent, 'ChiefOfStaffDashboard'),
|
|
474
|
+
RegisterClass(BaseResourceComponent, 'ChiefOfStaffResource')
|
|
475
|
+
], ChiefOfStaffOverviewComponent);
|
|
476
|
+
export { ChiefOfStaffOverviewComponent };
|
|
477
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ChiefOfStaffOverviewComponent, [{
|
|
478
|
+
type: Component,
|
|
479
|
+
args: [{ standalone: false, selector: 'mj-chief-of-staff-overview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mj-page-layout>\n <mj-page-header\n [Title]=\"ChiefOfStaffDisplayName\"\n Subtitle=\"Pending approvals, wake routines and governance at a glance\"\n Icon=\"fa-solid fa-compass\">\n\n <ng-container meta>\n @if (Metrics.PendingApprovalCount > 0) {\n <mj-stat-badge\n Icon=\"fa-solid fa-bell-concierge\"\n [Count]=\"Metrics.PendingApprovalCount\"\n Label=\"pending approvals\"\n Variant=\"warning\">\n </mj-stat-badge>\n } @else {\n <mj-stat-badge\n Icon=\"fa-solid fa-circle-check\"\n [Count]=\"0\"\n Label=\"pending approvals\"\n Variant=\"success\">\n </mj-stat-badge>\n }\n <mj-stat-badge\n Icon=\"fa-solid fa-clock-rotate-left\"\n [Count]=\"Metrics.ActiveWakeRoutineCount\"\n Label=\"active wakes\"\n Variant=\"info\">\n </mj-stat-badge>\n </ng-container>\n\n <ng-container toolbar>\n <mj-refresh-button\n [Loading]=\"IsLoading\"\n [ShowLabel]=\"true\"\n (Clicked)=\"LoadChiefOfStaffData()\">\n </mj-refresh-button>\n </ng-container>\n </mj-page-header>\n\n <mj-page-body>\n @if (FeedbackBanner) {\n <div class=\"cos-banner\"\n [class.cos-banner--success]=\"FeedbackBanner.Type === 'success'\"\n [class.cos-banner--error]=\"FeedbackBanner.Type === 'error'\"\n role=\"status\">\n <div class=\"cos-banner__content\">\n <i class=\"fa-solid\"\n [class.fa-circle-check]=\"FeedbackBanner.Type === 'success'\"\n [class.fa-circle-exclamation]=\"FeedbackBanner.Type === 'error'\"></i>\n <span>{{ FeedbackBanner.Message }}</span>\n </div>\n <button mjButton variant=\"flat\" size=\"sm\" (click)=\"DismissBanner()\" aria-label=\"Dismiss notification\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n }\n\n @if (IsLoading) {\n <div class=\"cos-loading\">\n <mj-loading text=\"Loading Chief of Staff...\"></mj-loading>\n </div>\n } @else {\n <div class=\"cos-kpi-grid\">\n <div class=\"cos-kpi-card\" (click)=\"OpenPage('approvals-wakes')\">\n <div class=\"cos-kpi-card__header\">\n <span class=\"cos-kpi-card__label\">Active Wakes</span>\n <div class=\"cos-kpi-card__icon cos-kpi-card__icon--brand\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n </div>\n </div>\n <div class=\"cos-kpi-card__value\">{{ Metrics.ActiveWakeRoutineCount }}</div>\n <div class=\"cos-kpi-card__sub\">\n @if (Metrics.NextScheduledWakeAt) {\n Next: {{ Metrics.NextScheduledWakeAt | date:'short' }}\n } @else {\n No wake scheduled\n }\n </div>\n </div>\n\n <div class=\"cos-kpi-card\" (click)=\"OpenPage('approvals-wakes')\">\n <div class=\"cos-kpi-card__header\">\n <span class=\"cos-kpi-card__label\">Pending Approvals</span>\n <div class=\"cos-kpi-card__icon\"\n [class.cos-kpi-card__icon--warning]=\"Metrics.PendingApprovalCount > 0\"\n [class.cos-kpi-card__icon--success]=\"Metrics.PendingApprovalCount === 0\">\n <i class=\"fa-solid fa-bell-concierge\"></i>\n </div>\n </div>\n <div class=\"cos-kpi-card__value\">{{ Metrics.PendingApprovalCount }}</div>\n <div class=\"cos-kpi-card__sub\">\n @if (Metrics.HighPriorityPendingCount > 0) {\n {{ Metrics.HighPriorityPendingCount }} high-priority awaiting decision\n } @else {\n All high-priority requests clear\n }\n </div>\n </div>\n\n <div class=\"cos-kpi-card\" (click)=\"OpenPage('governance')\">\n <div class=\"cos-kpi-card__header\">\n <span class=\"cos-kpi-card__label\">Governance Posture</span>\n <div class=\"cos-kpi-card__icon cos-kpi-card__icon--brand\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n </div>\n </div>\n <div class=\"cos-kpi-card__value\">{{ DraftPolicy.CoordinationMode }}</div>\n <div class=\"cos-kpi-card__sub\">\n Status: {{ DraftPolicy.Status }} \u00B7 Email: {{ DraftPolicy.EmailChannelMode }}\n </div>\n </div>\n </div>\n\n <div class=\"cos-overview-columns\">\n <!-- Column 1: Pending Approvals -->\n <div class=\"cos-stack\">\n <section class=\"cos-panel\">\n <div class=\"cos-panel__header\">\n <div>\n <h3 class=\"cos-panel__title\">\n <i class=\"fa-solid fa-bell-concierge\"></i> Pending Approvals\n </h3>\n <p class=\"cos-panel__subtitle\">\n Requests awaiting your decision\n </p>\n </div>\n <button mjButton variant=\"outline\" size=\"sm\" (click)=\"OpenPage('approvals-wakes')\">\n Manage ({{ PendingRequests.length }})\n </button>\n </div>\n\n @if (PendingRequests.length === 0) {\n <mj-empty-state Size=\"compact\" Variant=\"success\" Icon=\"fa-solid fa-circle-check\" Message=\"No pending requests awaiting approval.\" />\n } @else {\n <div class=\"cos-stack\">\n @for (req of PendingRequests.slice(0, 3); track req.ID) {\n <div class=\"cos-request-card\" (click)=\"OpenRequestDetail(req)\">\n <div class=\"cos-request-card__top\">\n <span class=\"cos-priority-tag {{ GetPriorityTierClass(req.Priority) }}\">\n {{ GetPriorityTierLabel(req.Priority) }} ({{ req.Priority }})\n </span>\n @if (req.RequestType) {\n <span class=\"cos-meta-badge\">{{ req.RequestType }}</span>\n }\n <span class=\"cos-timestamp\">\n {{ req.RequestedAt | date:'short' }}\n </span>\n </div>\n <p class=\"cos-request-card__text\">{{ req.Request }}</p>\n <div class=\"cos-request-card__actions\">\n <button mjButton variant=\"primary\" size=\"sm\"\n [disabled]=\"BusyRequestID === req.ID\"\n (click)=\"QuickRespondToRequest(req, 'Approved', $event)\">\n <i class=\"fa-solid fa-check\"></i> Approve\n </button>\n <button mjButton variant=\"danger\" size=\"sm\"\n [disabled]=\"BusyRequestID === req.ID\"\n (click)=\"QuickRespondToRequest(req, 'Rejected', $event)\">\n <i class=\"fa-solid fa-xmark\"></i> Reject\n </button>\n <button mjButton variant=\"outline\" size=\"sm\"\n (click)=\"OpenRequestDetail(req); $event.stopPropagation()\">\n Inspect\n </button>\n </div>\n @let openDraft = EmailDraftFor(req);\n @if (openDraft) {\n <div class=\"cos-email-draft\" (click)=\"$event.stopPropagation()\">\n <mj-accordion-panel [Bare]=\"true\" Size=\"sm\">\n <ng-template mjAccordionTitle><i class=\"fa-solid fa-envelope\"></i> Email draft to {{ openDraft.To }}</ng-template>\n <ng-template mjAccordionActions>\n <button mjButton variant=\"outline\" size=\"sm\"\n title=\"Copy To, Subject and body as plain text for your mail client\"\n (click)=\"CopyEmailDraft(req, $event)\">\n <i class=\"fa-regular fa-copy\"></i> Copy\n </button>\n </ng-template>\n <ng-template mjAccordionBody>\n <div class=\"cos-email-draft__meta\">\n <div><strong>To:</strong> {{ openDraft.To }}</div>\n @if (openDraft.CC.length > 0) {\n <div><strong>CC:</strong> {{ openDraft.CC.join(', ') }}</div>\n }\n @if (openDraft.From) {\n <div><strong>From:</strong> {{ openDraft.From }}</div>\n }\n <div><strong>Subject:</strong> {{ openDraft.Subject }}</div>\n </div>\n <pre class=\"cos-email-draft__body\">{{ openDraft.Body }}</pre>\n </ng-template>\n </mj-accordion-panel>\n </div>\n }\n </div>\n }\n </div>\n }\n </section>\n </div>\n\n <!-- Column 2: Wake Schedule, then panels registered by Open Apps -->\n <div class=\"cos-stack\">\n <section class=\"cos-panel\">\n <div class=\"cos-panel__header\">\n <div>\n <h3 class=\"cos-panel__title\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i> Autonomous Wake Schedule\n </h3>\n <p class=\"cos-panel__subtitle\">\n Proactive AgentWake routines for your Chief of Staff\n </p>\n </div>\n <button mjButton variant=\"outline\" size=\"sm\" (click)=\"OpenPage('approvals-wakes')\">\n Routines ({{ Routines.length }})\n </button>\n </div>\n\n @if (Routines.length === 0) {\n <mj-empty-state Size=\"compact\" Icon=\"fa-regular fa-clock\" Message=\"No wake routines configured yet.\" />\n } @else {\n <div class=\"cos-stack\">\n @for (routine of UpcomingRoutines.slice(0, 3); track routine.ID) {\n <div class=\"cos-routine-mini\">\n <div class=\"cos-routine-mini__info\">\n <div class=\"cos-routine-mini__title-row\">\n <span class=\"cos-routine-mini__name\">{{ routine.Name }}</span>\n <span class=\"cos-status-chip cos-status-chip--{{ RoutineStatusLabel(routine).toLowerCase() }}\">\n {{ RoutineStatusLabel(routine) }}\n </span>\n </div>\n <div class=\"cos-routine-mini__meta\">\n @if (routine.NextRunAt) {\n <span>Next wake: {{ routine.NextRunAt | date:'short' }}</span>\n } @else {\n <span>No next wake scheduled</span>\n }\n @if (routine.CronExpression) {\n <span>\u00B7 Cron: <code>{{ routine.CronExpression }}</code></span>\n }\n </div>\n </div>\n <div class=\"cos-routine-mini__actions\">\n <button mjButton variant=\"outline\" size=\"sm\"\n [disabled]=\"!CanOpenBriefing(routine)\"\n [title]=\"CanOpenBriefing(routine) ? 'Read this routine\\'s briefings here' : 'No briefing yet: the routine has not run'\"\n (click)=\"OpenBriefingReader(routine, $event)\">\n <i class=\"fa-solid fa-book-open\"></i> Read\n </button>\n <button mjButton variant=\"primary\" size=\"sm\"\n [disabled]=\"BusyRoutineID === routine.ID\"\n title=\"Run this wake now. Its scheduled time is not changed.\"\n (click)=\"TriggerWakeNow(routine, $event)\">\n <i class=\"fa-solid fa-bolt\"></i> Wake Now\n </button>\n </div>\n </div>\n }\n </div>\n }\n </section>\n </div>\n </div>\n }\n </mj-page-body>\n\n <!-- Briefing reader: a wake routine's conversation, read without leaving the page. -->\n <mj-slide-panel\n Mode=\"slide\"\n [Title]=\"BriefingRoutine?.Name ?? 'Briefings'\"\n [Visible]=\"IsBriefingReaderOpen\"\n [Resizable]=\"true\"\n [WidthPx]=\"760\"\n (Closed)=\"CloseBriefingReader()\">\n @if (IsBriefingReaderOpen) {\n <div class=\"cos-briefing-reader\">\n <mj-conversation-chat-area\n [Provider]=\"Provider\"\n [EnvironmentId]=\"BriefingEnvironmentId\"\n [CurrentUser]=\"ProviderToUse.CurrentUser\"\n [Conversation]=\"BriefingConversation\"\n [ConversationId]=\"BriefingConversationId\"\n [IsNewConversation]=\"false\"\n [SuppressNewConversationEmptyState]=\"true\"\n [AllowMentions]=\"false\"\n [OverlayMode]=\"false\"\n [ShowExportButton]=\"false\"\n [ShowShareButton]=\"false\"\n [ShowArtifactIndicator]=\"false\"\n [ShowAgentPicker]=\"false\"\n [ShowAgentModePicker]=\"false\"\n [ReadOnly]=\"true\"\n ReadOnlyMessage=\"Briefings are written by the wake routine. To change what it checks or when, ask your Chief of Staff in chat or use the Routines app.\"\n ApplicationScope=\"Application\"\n [ApplicationId]=\"BriefingApplicationId\">\n </mj-conversation-chat-area>\n </div>\n }\n </mj-slide-panel>\n</mj-page-layout>\n\n@if (ShowRequestDialog && SelectedRequest) {\n <mj-agent-request-dialog\n [Visible]=\"ShowRequestDialog\"\n [Request]=\"SelectedRequest\"\n (Close)=\"OnRequestDialogClose($event)\">\n </mj-agent-request-dialog>\n}\n", styles: [":host {\n display: block;\n height: 100%;\n}\n\n.cos-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 280px;\n}\n\n.cos-banner {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 12px 16px;\n margin-bottom: 16px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n font-size: 13px;\n}\n\n.cos-banner__content {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.cos-banner--success {\n background-color: var(--mj-status-success-bg);\n border-color: var(--mj-status-success);\n color: var(--mj-status-success);\n}\n\n.cos-banner--error {\n background-color: var(--mj-status-error-bg);\n border-color: var(--mj-status-error);\n color: var(--mj-status-error);\n}\n\n/* KPI Grid */\n.cos-kpi-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 16px;\n margin-top: 16px;\n margin-bottom: 20px;\n}\n\n.cos-kpi-card {\n background-color: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n padding: 16px 18px;\n cursor: pointer;\n transition: border-color 0.15s ease, transform 0.15s ease;\n}\n\n.cos-kpi-card:hover {\n border-color: var(--mj-brand-primary);\n}\n\n.cos-kpi-card__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 8px;\n}\n\n.cos-kpi-card__label {\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-secondary);\n}\n\n.cos-kpi-card__icon {\n width: 34px;\n height: 34px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 15px;\n background-color: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.cos-kpi-card__icon--brand {\n background-color: var(--mj-bg-surface-sunken);\n color: var(--mj-brand-primary);\n}\n\n.cos-kpi-card__icon--success {\n background-color: var(--mj-status-success-bg);\n color: var(--mj-status-success);\n}\n\n.cos-kpi-card__icon--warning {\n background-color: var(--mj-status-warning-bg);\n color: var(--mj-status-warning);\n}\n\n.cos-kpi-card__value {\n font-size: 26px;\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.2;\n}\n\n.cos-kpi-card__sub {\n margin-top: 4px;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n/* Columns & Panels */\n.cos-overview-columns {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));\n gap: 20px;\n margin-top: 16px;\n}\n\n.cos-stack {\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n\n.cos-panel {\n background-color: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n padding: 18px 20px;\n}\n\n.cos-panel__header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 12px;\n margin-bottom: 16px;\n}\n\n.cos-panel__title {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.cos-panel__subtitle {\n margin: 4px 0 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n/* Priority Mini Cards */\n\n/* Progress Bars */\n\n/* Health & Status Badges */\n\n.cos-meta-badge {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 8px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 500;\n background-color: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.cos-status-chip {\n display: inline-flex;\n align-items: center;\n padding: 2px 8px;\n border-radius: 999px;\n font-size: 11px;\n font-weight: 600;\n background-color: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.cos-status-chip--active,\n.cos-status-chip--approved {\n background-color: var(--mj-status-success-bg);\n color: var(--mj-status-success);\n}\n\n.cos-status-chip--requested,\n.cos-status-chip--paused {\n background-color: var(--mj-status-warning-bg);\n color: var(--mj-status-warning);\n}\n\n.cos-status-chip--rejected,\n.cos-status-chip--disabled {\n background-color: var(--mj-status-error-bg);\n color: var(--mj-status-error);\n}\n\n/* A one-time wake that has run: done, not broken. */\n.cos-status-chip--fired {\n background-color: var(--mj-bg-subtle);\n color: var(--mj-text-secondary);\n}\n\n.cos-routine-card--fired {\n opacity: 0.8;\n}\n\n.cos-routine-card__fired-note {\n margin-left: 8px;\n color: var(--mj-text-secondary);\n font-size: 0.85em;\n}\n\n.cos-routines-toggle {\n display: flex;\n justify-content: flex-end;\n margin-bottom: 8px;\n}\n\n/* Filter Bar & Full Priority Cards */\n\n/* Subtasks / Milestones */\n\n/* Requests & Routines */\n.cos-request-card {\n padding: 14px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n background-color: var(--mj-bg-surface);\n cursor: pointer;\n transition: border-color 0.15s ease;\n}\n\n.cos-request-card:hover {\n border-color: var(--mj-brand-primary);\n}\n\n.cos-request-card__top {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n margin-bottom: 8px;\n}\n\n.cos-request-card__badges {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.cos-priority-tag {\n display: inline-flex;\n align-items: center;\n padding: 2px 8px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.cos-priority-tag.priority-critical,\n.cos-priority-tag.priority-high {\n background-color: var(--mj-status-error-bg);\n color: var(--mj-status-error);\n}\n\n.cos-priority-tag.priority-normal {\n background-color: var(--mj-status-warning-bg);\n color: var(--mj-status-warning);\n}\n\n.cos-priority-tag.priority-low {\n background-color: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.cos-timestamp {\n font-size: 11px;\n color: var(--mj-text-muted);\n white-space: nowrap;\n}\n\n.cos-request-card__text {\n margin: 0 0 12px;\n font-size: 13px;\n color: var(--mj-text-primary);\n line-height: 1.45;\n}\n\n/* An outbound email waiting for approval: a bare mj-accordion-panel inside the card */\n.cos-email-draft {\n margin-top: 10px;\n cursor: default;\n}\n\n.cos-email-draft__meta {\n display: flex;\n flex-direction: column;\n gap: 2px;\n font-size: 0.9em;\n color: var(--mj-text-secondary);\n word-break: break-word;\n}\n\n.cos-email-draft__body {\n margin: 8px 0 0;\n padding: 0;\n border: 0;\n background: transparent;\n font: inherit;\n white-space: pre-wrap;\n word-break: break-word;\n color: var(--mj-text-primary);\n}\n\n.cos-request-card__actions {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.cos-resolved-section {\n margin-top: 20px;\n padding-top: 16px;\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.cos-resolved-section__title {\n margin: 0 0 10px;\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-muted);\n}\n\n.cos-resolved-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n padding: 8px 10px;\n border-radius: 6px;\n background-color: var(--mj-bg-surface-sunken);\n cursor: pointer;\n}\n\n.cos-resolved-row__main {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n}\n\n.cos-resolved-row__text {\n font-size: 12px;\n color: var(--mj-text-secondary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Routine Cards */\n.cos-routine-mini {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 12px 14px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-subtle);\n background-color: var(--mj-bg-surface);\n}\n\n.cos-routine-mini__title-row {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.cos-routine-mini__name {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.cos-routine-mini__meta {\n margin-top: 4px;\n font-size: 12px;\n color: var(--mj-text-muted);\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n}\n\n.cos-routine-card {\n padding: 16px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n background-color: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.cos-routine-card__title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.cos-routine-card__name {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.cos-routine-card__desc {\n margin: 4px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.cos-routine-card__schedule {\n display: flex;\n flex-direction: column;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-text-secondary);\n padding: 10px 12px;\n border-radius: 6px;\n background-color: var(--mj-bg-surface-sunken);\n}\n\n.cos-routine-card__actions {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n/* Governance Tab */\n.cos-governance-container {\n display: flex;\n flex-direction: column;\n gap: 18px;\n margin-top: 16px;\n}\n\n.cos-governance-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 12px;\n padding: 16px 20px;\n border-radius: 10px;\n background-color: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n}\n\n.cos-governance-header__title {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.cos-governance-header__subtitle {\n margin: 4px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.cos-governance-header__actions {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.cos-status-segmented {\n display: flex;\n gap: 6px;\n}\n\n.cos-mode-cards {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 12px;\n margin-bottom: 16px;\n}\n\n.cos-mode-card {\n padding: 14px 16px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n background-color: var(--mj-bg-surface);\n cursor: pointer;\n transition: border-color 0.15s ease, background-color 0.15s ease;\n}\n\n.cos-mode-card:hover {\n border-color: var(--mj-brand-primary);\n}\n\n.cos-mode-card--selected {\n border-color: var(--mj-brand-primary);\n background-color: var(--mj-bg-surface-sunken);\n}\n\n.cos-mode-card__top {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 6px;\n}\n\n.cos-mode-card__title {\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.cos-mode-card__check {\n color: var(--mj-brand-primary);\n}\n\n.cos-mode-card__desc {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n line-height: 1.45;\n}\n\n.cos-form-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\n gap: 14px;\n}\n\n.cos-form-grid--spaced {\n margin-top: 16px;\n}\n\n.cos-form-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.cos-form-field--full {\n grid-column: 1 / -1;\n}\n\n.cos-form-field__label {\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.cos-input,\n.cos-textarea {\n width: 100%;\n padding: 8px 10px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n background-color: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 13px;\n font-family: inherit;\n box-sizing: border-box;\n}\n\n.cos-input:focus,\n.cos-textarea:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n}\n\n.cos-toggle-list {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.cos-toggle-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n padding: 12px 14px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-subtle);\n background-color: var(--mj-bg-surface);\n cursor: pointer;\n}\n\n.cos-toggle-row__title {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.cos-toggle-row__desc {\n margin-top: 2px;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n/* ========================================================================= */\n/* Task / Priority Detail & Quick-Edit Drawer */\n/* ========================================================================= */\n\n@keyframes cosDrawerSlideIn {\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(0);\n }\n}\n\n/* Briefing reader: the embedded chat area fills the slide panel body. */\n.cos-briefing-reader {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n}\n\n.cos-briefing-reader mj-conversation-chat-area {\n flex: 1 1 auto;\n min-height: 0;\n}\n\n/* Assignees on objective cards and milestone rows. */\n\n/* An unassigned milestone shows who holds it by default (its creator or the objective's owner):\n outlined rather than filled, so a real assignment still stands out. */\n\n/* To-dos & reminders */\n\n"] }]
|
|
480
|
+
}], null, null); })();
|
|
481
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChiefOfStaffOverviewComponent, { className: "ChiefOfStaffOverviewComponent", filePath: "src/ChiefOfStaff/chief-of-staff-overview.component.ts", lineNumber: 24 }); })();
|
|
482
|
+
export function LoadChiefOfStaffOverview() {
|
|
483
|
+
// Intentionally empty: forces inclusion of the @RegisterClass side effect.
|
|
484
|
+
}
|
|
485
|
+
//# sourceMappingURL=chief-of-staff-overview.component.js.map
|