@memberjunction/ng-dashboards 6.1.2 → 6.2.0-edge.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +6 -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 +99 -45
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +4 -0
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +16 -6
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +4 -0
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +14 -4
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DataExplorer/services/explorer-state.service.js +2 -2
- package/dist/DataExplorer/services/explorer-state.service.js.map +1 -1
- package/dist/DevTools/graphql-console.component.d.ts.map +1 -1
- package/dist/DevTools/graphql-console.component.js +2 -0
- package/dist/DevTools/graphql-console.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.d.ts.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +2 -0
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/KnowledgeHub/components/feature-pipelines/feature-pipelines-resource.component.d.ts +4 -12
- package/dist/KnowledgeHub/components/feature-pipelines/feature-pipelines-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/feature-pipelines/feature-pipelines-resource.component.js +39 -78
- package/dist/KnowledgeHub/components/feature-pipelines/feature-pipelines-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +3 -0
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +7 -6
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts +3 -0
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +7 -6
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/PredictiveStudio/at-risk.view-models.d.ts +41 -3
- package/dist/PredictiveStudio/at-risk.view-models.d.ts.map +1 -1
- package/dist/PredictiveStudio/at-risk.view-models.js +99 -6
- package/dist/PredictiveStudio/at-risk.view-models.js.map +1 -1
- package/dist/PredictiveStudio/components/ps-catalog.component.d.ts +4 -1
- package/dist/PredictiveStudio/components/ps-catalog.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/components/ps-catalog.component.js +61 -37
- package/dist/PredictiveStudio/components/ps-catalog.component.js.map +1 -1
- package/dist/PredictiveStudio/components/ps-experiments.component.d.ts +12 -0
- package/dist/PredictiveStudio/components/ps-experiments.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/components/ps-experiments.component.js +426 -184
- package/dist/PredictiveStudio/components/ps-experiments.component.js.map +1 -1
- package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.d.ts +84 -0
- package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.d.ts.map +1 -0
- package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.js +1397 -0
- package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.js.map +1 -0
- package/dist/PredictiveStudio/components/ps-pipelines.component.d.ts +66 -34
- package/dist/PredictiveStudio/components/ps-pipelines.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/components/ps-pipelines.component.js +2456 -743
- package/dist/PredictiveStudio/components/ps-pipelines.component.js.map +1 -1
- package/dist/PredictiveStudio/components/ps-predictions-grid.component.d.ts +194 -0
- package/dist/PredictiveStudio/components/ps-predictions-grid.component.d.ts.map +1 -0
- package/dist/PredictiveStudio/components/ps-predictions-grid.component.js +1902 -0
- package/dist/PredictiveStudio/components/ps-predictions-grid.component.js.map +1 -0
- package/dist/PredictiveStudio/components/ps-production.component.d.ts +17 -1
- package/dist/PredictiveStudio/components/ps-production.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/components/ps-production.component.js +653 -372
- package/dist/PredictiveStudio/components/ps-production.component.js.map +1 -1
- package/dist/PredictiveStudio/components/ps-registry.component.d.ts +21 -61
- package/dist/PredictiveStudio/components/ps-registry.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/components/ps-registry.component.js +214 -681
- package/dist/PredictiveStudio/components/ps-registry.component.js.map +1 -1
- package/dist/PredictiveStudio/components/ps-run-experiment-modal.component.d.ts +49 -0
- package/dist/PredictiveStudio/components/ps-run-experiment-modal.component.d.ts.map +1 -0
- package/dist/PredictiveStudio/components/ps-run-experiment-modal.component.js +658 -0
- package/dist/PredictiveStudio/components/ps-run-experiment-modal.component.js.map +1 -0
- package/dist/PredictiveStudio/predictive-studio-score-history.service.d.ts +42 -0
- package/dist/PredictiveStudio/predictive-studio-score-history.service.d.ts.map +1 -0
- package/dist/PredictiveStudio/predictive-studio-score-history.service.js +90 -0
- package/dist/PredictiveStudio/predictive-studio-score-history.service.js.map +1 -0
- package/dist/PredictiveStudio/predictive-studio.view-models.d.ts +14 -2
- package/dist/PredictiveStudio/predictive-studio.view-models.d.ts.map +1 -1
- package/dist/PredictiveStudio/predictive-studio.view-models.js +41 -5
- package/dist/PredictiveStudio/predictive-studio.view-models.js.map +1 -1
- package/dist/PredictiveStudio/resources/ps-models-resource.component.d.ts +9 -1
- package/dist/PredictiveStudio/resources/ps-models-resource.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/resources/ps-models-resource.component.js +178 -65
- package/dist/PredictiveStudio/resources/ps-models-resource.component.js.map +1 -1
- package/dist/PredictiveStudio/resources/ps-predictions-resource.component.d.ts +9 -1
- package/dist/PredictiveStudio/resources/ps-predictions-resource.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js +307 -369
- package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js.map +1 -1
- package/dist/PredictiveStudio/resources/ps-resource-base.js +1 -1
- package/dist/PredictiveStudio/resources/ps-resource-base.js.map +1 -1
- package/dist/PredictiveStudio/resources/ps-studio-resource.component.d.ts +17 -1
- package/dist/PredictiveStudio/resources/ps-studio-resource.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/resources/ps-studio-resource.component.js +309 -138
- package/dist/PredictiveStudio/resources/ps-studio-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/graph-resource.component.d.ts +1 -0
- package/dist/VersionHistory/components/graph-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/graph-resource.component.js +6 -5
- package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
- package/dist/predictive-studio-dashboards.module.d.ts +10 -8
- package/dist/predictive-studio-dashboards.module.d.ts.map +1 -1
- package/dist/predictive-studio-dashboards.module.js +13 -3
- package/dist/predictive-studio-dashboards.module.js.map +1 -1
- package/package.json +64 -63
|
@@ -4,42 +4,44 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
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
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject } from '@angular/core';
|
|
7
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild, inject } from '@angular/core';
|
|
8
8
|
import { RegisterClass } from '@memberjunction/global';
|
|
9
9
|
import { LogError } from '@memberjunction/core';
|
|
10
|
-
import { MJEnvironmentEntityExtended } from '@memberjunction/core-entities';
|
|
10
|
+
import { MJEnvironmentEntityExtended, UserInfoEngine } from '@memberjunction/core-entities';
|
|
11
11
|
import { AIEngineBase } from '@memberjunction/ai-engine-base';
|
|
12
12
|
import { BaseResourceComponent } from '@memberjunction/ng-shared';
|
|
13
13
|
import { PSResourceBase } from './ps-resource-base';
|
|
14
14
|
import { STUDIO_SECTIONS, sectionGroups, sectionsInGroup, sectionLabel, hasSection, routeHomeNavigate, } from '../predictive-studio.nav';
|
|
15
|
-
import { buildStudioAgentContext, resolvePSRecord, buildPSNotFoundError } from '../predictive-studio-agent-context';
|
|
15
|
+
import { buildStudioAgentContext, resolvePSRecord, buildPSNotFoundError, } from '../predictive-studio-agent-context';
|
|
16
16
|
import { validateStringParam } from '../../shared/agent-tool-validation';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
18
|
import * as i1 from "@memberjunction/ng-ui-components";
|
|
19
19
|
import * as i2 from "@memberjunction/ng-shared-generic";
|
|
20
20
|
import * as i3 from "@memberjunction/ng-conversations";
|
|
21
|
-
import * as i4 from "
|
|
22
|
-
import * as i5 from "../components/ps-
|
|
23
|
-
import * as i6 from "../components/ps-
|
|
24
|
-
import * as i7 from "../components/ps-
|
|
25
|
-
import * as i8 from "../components/ps-
|
|
21
|
+
import * as i4 from "angular-split";
|
|
22
|
+
import * as i5 from "../components/ps-home.component";
|
|
23
|
+
import * as i6 from "../components/ps-catalog.component";
|
|
24
|
+
import * as i7 from "../components/ps-pipelines.component";
|
|
25
|
+
import * as i8 from "../components/ps-experiments.component";
|
|
26
|
+
import * as i9 from "../components/ps-compare.component";
|
|
27
|
+
const _c0 = ["pipelinesComp"];
|
|
26
28
|
const _forTrack0 = ($index, $item) => $item.key;
|
|
27
29
|
function PSStudioResourceComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
-
i0.ɵɵelement(0, "mj-loading",
|
|
30
|
+
i0.ɵɵelement(0, "mj-loading", 3);
|
|
29
31
|
} }
|
|
30
32
|
function PSStudioResourceComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
31
33
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
32
|
-
i0.ɵɵelementStart(0, "div",
|
|
33
|
-
i0.ɵɵelement(1, "i",
|
|
34
|
-
i0.ɵɵelementStart(2, "div",
|
|
34
|
+
i0.ɵɵelementStart(0, "div", 4);
|
|
35
|
+
i0.ɵɵelement(1, "i", 6);
|
|
36
|
+
i0.ɵɵelementStart(2, "div", 7)(3, "strong");
|
|
35
37
|
i0.ɵɵtext(4);
|
|
36
38
|
i0.ɵɵelementEnd();
|
|
37
|
-
i0.ɵɵelementStart(5, "span",
|
|
39
|
+
i0.ɵɵelementStart(5, "span", 8);
|
|
38
40
|
i0.ɵɵtext(6);
|
|
39
41
|
i0.ɵɵelementEnd()();
|
|
40
|
-
i0.ɵɵelementStart(7, "button",
|
|
42
|
+
i0.ɵɵelementStart(7, "button", 9);
|
|
41
43
|
i0.ɵɵlistener("click", function PSStudioResourceComponent_Conditional_3_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.retryLoad()); });
|
|
42
|
-
i0.ɵɵelement(8, "i",
|
|
44
|
+
i0.ɵɵelement(8, "i", 10);
|
|
43
45
|
i0.ɵɵtext(9, " Try again");
|
|
44
46
|
i0.ɵɵelementEnd()();
|
|
45
47
|
} if (rf & 2) {
|
|
@@ -49,136 +51,190 @@ function PSStudioResourceComponent_Conditional_3_Template(rf, ctx) { if (rf & 1)
|
|
|
49
51
|
i0.ɵɵadvance(2);
|
|
50
52
|
i0.ɵɵtextInterpolate(ctx_r1.loadError);
|
|
51
53
|
} }
|
|
52
|
-
function
|
|
53
|
-
i0.ɵɵ
|
|
54
|
+
function PSStudioResourceComponent_Conditional_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
55
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
56
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "button", 21);
|
|
57
|
+
i0.ɵɵlistener("click", function PSStudioResourceComponent_Conditional_4_Conditional_1_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleNav()); });
|
|
58
|
+
i0.ɵɵelement(2, "i", 22);
|
|
59
|
+
i0.ɵɵelementEnd();
|
|
60
|
+
i0.ɵɵelementStart(3, "div", 23);
|
|
61
|
+
i0.ɵɵelement(4, "i", 24);
|
|
62
|
+
i0.ɵɵtext(5, " Studio");
|
|
63
|
+
i0.ɵɵelementEnd()();
|
|
64
|
+
} }
|
|
65
|
+
function PSStudioResourceComponent_Conditional_4_Conditional_3_For_8_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
+
i0.ɵɵelementStart(0, "div", 30);
|
|
54
67
|
i0.ɵɵtext(1);
|
|
55
68
|
i0.ɵɵelementEnd();
|
|
56
69
|
} if (rf & 2) {
|
|
57
|
-
const
|
|
70
|
+
const group_r6 = i0.ɵɵnextContext().$implicit;
|
|
58
71
|
i0.ɵɵadvance();
|
|
59
|
-
i0.ɵɵtextInterpolate(
|
|
72
|
+
i0.ɵɵtextInterpolate(group_r6);
|
|
60
73
|
} }
|
|
61
|
-
function
|
|
62
|
-
const
|
|
63
|
-
i0.ɵɵelementStart(0, "button",
|
|
64
|
-
i0.ɵɵlistener("click", function
|
|
74
|
+
function PSStudioResourceComponent_Conditional_4_Conditional_3_For_8_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
76
|
+
i0.ɵɵelementStart(0, "button", 32);
|
|
77
|
+
i0.ɵɵlistener("click", function PSStudioResourceComponent_Conditional_4_Conditional_3_For_8_For_2_Template_button_click_0_listener() { const item_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.selectSection(item_r8.key)); });
|
|
65
78
|
i0.ɵɵelement(1, "i");
|
|
66
79
|
i0.ɵɵelementStart(2, "span");
|
|
67
80
|
i0.ɵɵtext(3);
|
|
68
81
|
i0.ɵɵelementEnd()();
|
|
69
82
|
} if (rf & 2) {
|
|
70
|
-
const
|
|
71
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
|
72
|
-
i0.ɵɵclassProp("active", ctx_r1.activeSection ===
|
|
73
|
-
i0.ɵɵattribute("data-testid", "ps-nav-" +
|
|
83
|
+
const item_r8 = ctx.$implicit;
|
|
84
|
+
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
85
|
+
i0.ɵɵclassProp("active", ctx_r1.activeSection === item_r8.key);
|
|
86
|
+
i0.ɵɵattribute("data-testid", "ps-nav-" + item_r8.key);
|
|
74
87
|
i0.ɵɵadvance();
|
|
75
|
-
i0.ɵɵclassMap(
|
|
88
|
+
i0.ɵɵclassMap(item_r8.icon);
|
|
76
89
|
i0.ɵɵadvance(2);
|
|
77
|
-
i0.ɵɵtextInterpolate(
|
|
90
|
+
i0.ɵɵtextInterpolate(item_r8.label);
|
|
78
91
|
} }
|
|
79
|
-
function
|
|
80
|
-
i0.ɵɵconditionalCreate(0,
|
|
81
|
-
i0.ɵɵrepeaterCreate(1,
|
|
92
|
+
function PSStudioResourceComponent_Conditional_4_Conditional_3_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
93
|
+
i0.ɵɵconditionalCreate(0, PSStudioResourceComponent_Conditional_4_Conditional_3_For_8_Conditional_0_Template, 2, 1, "div", 30);
|
|
94
|
+
i0.ɵɵrepeaterCreate(1, PSStudioResourceComponent_Conditional_4_Conditional_3_For_8_For_2_Template, 4, 6, "button", 31, _forTrack0);
|
|
82
95
|
} if (rf & 2) {
|
|
83
|
-
const
|
|
84
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
|
85
|
-
i0.ɵɵconditional(
|
|
96
|
+
const group_r6 = ctx.$implicit;
|
|
97
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
98
|
+
i0.ɵɵconditional(group_r6 ? 0 : -1);
|
|
86
99
|
i0.ɵɵadvance();
|
|
87
|
-
i0.ɵɵrepeater(ctx_r1.itemsForGroup(
|
|
100
|
+
i0.ɵɵrepeater(ctx_r1.itemsForGroup(group_r6));
|
|
101
|
+
} }
|
|
102
|
+
function PSStudioResourceComponent_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
103
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
104
|
+
i0.ɵɵelementStart(0, "as-split-area", 14)(1, "aside", 25)(2, "div", 26)(3, "span", 27);
|
|
105
|
+
i0.ɵɵtext(4, "Studio");
|
|
106
|
+
i0.ɵɵelementEnd();
|
|
107
|
+
i0.ɵɵelementStart(5, "button", 28);
|
|
108
|
+
i0.ɵɵlistener("click", function PSStudioResourceComponent_Conditional_4_Conditional_3_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleNav()); });
|
|
109
|
+
i0.ɵɵelement(6, "i", 29);
|
|
110
|
+
i0.ɵɵelementEnd()();
|
|
111
|
+
i0.ɵɵrepeaterCreate(7, PSStudioResourceComponent_Conditional_4_Conditional_3_For_8_Template, 3, 1, null, null, i0.ɵɵrepeaterTrackByIdentity);
|
|
112
|
+
i0.ɵɵelementEnd()();
|
|
113
|
+
} if (rf & 2) {
|
|
114
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
115
|
+
i0.ɵɵproperty("size", ctx_r1.navSizePct)("minSize", 10)("maxSize", 30);
|
|
116
|
+
i0.ɵɵadvance(7);
|
|
117
|
+
i0.ɵɵrepeater(ctx_r1.groups);
|
|
88
118
|
} }
|
|
89
|
-
function
|
|
90
|
-
const
|
|
91
|
-
i0.ɵɵelementStart(0, "ps-home",
|
|
92
|
-
i0.ɵɵlistener("navigate", function
|
|
119
|
+
function PSStudioResourceComponent_Conditional_4_Case_9_Template(rf, ctx) { if (rf & 1) {
|
|
120
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
121
|
+
i0.ɵɵelementStart(0, "ps-home", 33);
|
|
122
|
+
i0.ɵɵlistener("navigate", function PSStudioResourceComponent_Conditional_4_Case_9_Template_ps_home_navigate_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.mapNavigate($event)); })("askAgent", function PSStudioResourceComponent_Conditional_4_Case_9_Template_ps_home_askAgent_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onAskAgent($event)); });
|
|
93
123
|
i0.ɵɵelementEnd();
|
|
94
124
|
} if (rf & 2) {
|
|
95
125
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
96
126
|
i0.ɵɵproperty("engine", ctx_r1.engine)("provider", ctx_r1.ProviderToUse)("currentUser", ctx_r1.ProviderToUse.CurrentUser);
|
|
97
127
|
} }
|
|
98
|
-
function
|
|
99
|
-
const
|
|
100
|
-
i0.ɵɵelementStart(0, "ps-pipelines",
|
|
101
|
-
i0.ɵɵlistener("askAgent", function
|
|
128
|
+
function PSStudioResourceComponent_Conditional_4_Case_10_Template(rf, ctx) { if (rf & 1) {
|
|
129
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
130
|
+
i0.ɵɵelementStart(0, "ps-pipelines", 34, 0);
|
|
131
|
+
i0.ɵɵlistener("askAgent", function PSStudioResourceComponent_Conditional_4_Case_10_Template_ps_pipelines_askAgent_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onAskAgent($event)); })("navigate", function PSStudioResourceComponent_Conditional_4_Case_10_Template_ps_pipelines_navigate_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.mapNavigate($event)); });
|
|
102
132
|
i0.ɵɵelementEnd();
|
|
103
133
|
} if (rf & 2) {
|
|
104
134
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
105
135
|
i0.ɵɵproperty("engine", ctx_r1.engine)("provider", ctx_r1.ProviderToUse)("currentUser", ctx_r1.ProviderToUse.CurrentUser);
|
|
106
136
|
} }
|
|
107
|
-
function
|
|
108
|
-
const
|
|
109
|
-
i0.ɵɵelementStart(0, "ps-catalog",
|
|
110
|
-
i0.ɵɵlistener("askAgent", function
|
|
137
|
+
function PSStudioResourceComponent_Conditional_4_Case_11_Template(rf, ctx) { if (rf & 1) {
|
|
138
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
139
|
+
i0.ɵɵelementStart(0, "ps-catalog", 35);
|
|
140
|
+
i0.ɵɵlistener("askAgent", function PSStudioResourceComponent_Conditional_4_Case_11_Template_ps_catalog_askAgent_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onAskAgent($event)); })("createPipeline", function PSStudioResourceComponent_Conditional_4_Case_11_Template_ps_catalog_createPipeline_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onCreatePipelineFromCatalog($event)); });
|
|
111
141
|
i0.ɵɵelementEnd();
|
|
112
142
|
} if (rf & 2) {
|
|
113
143
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
114
144
|
i0.ɵɵproperty("engine", ctx_r1.engine);
|
|
115
145
|
} }
|
|
116
|
-
function
|
|
117
|
-
i0.ɵɵelement(0, "ps-experiments",
|
|
146
|
+
function PSStudioResourceComponent_Conditional_4_Case_12_Template(rf, ctx) { if (rf & 1) {
|
|
147
|
+
i0.ɵɵelement(0, "ps-experiments", 19);
|
|
118
148
|
} if (rf & 2) {
|
|
119
149
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
120
150
|
i0.ɵɵproperty("engine", ctx_r1.engine)("provider", ctx_r1.ProviderToUse)("currentUser", ctx_r1.ProviderToUse.CurrentUser);
|
|
121
151
|
} }
|
|
122
|
-
function
|
|
123
|
-
i0.ɵɵelement(0, "ps-compare",
|
|
152
|
+
function PSStudioResourceComponent_Conditional_4_Case_13_Template(rf, ctx) { if (rf & 1) {
|
|
153
|
+
i0.ɵɵelement(0, "ps-compare", 20);
|
|
124
154
|
} if (rf & 2) {
|
|
125
155
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
126
156
|
i0.ɵɵproperty("engine", ctx_r1.engine);
|
|
127
157
|
} }
|
|
128
|
-
function
|
|
129
|
-
const
|
|
130
|
-
i0.ɵɵelementStart(0, "mj-conversation-chat-area",
|
|
131
|
-
i0.ɵɵlistener("conversationCreated", function
|
|
158
|
+
function PSStudioResourceComponent_Conditional_4_Conditional_14_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
159
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
160
|
+
i0.ɵɵelementStart(0, "mj-conversation-chat-area", 48);
|
|
161
|
+
i0.ɵɵlistener("conversationCreated", function PSStudioResourceComponent_Conditional_4_Conditional_14_Conditional_12_Template_mj_conversation_chat_area_conversationCreated_0_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onChatConversationCreated($event)); })("pendingMessageConsumed", function PSStudioResourceComponent_Conditional_4_Conditional_14_Conditional_12_Template_mj_conversation_chat_area_pendingMessageConsumed_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onChatPendingMessageConsumed()); })("navigationRequest", function PSStudioResourceComponent_Conditional_4_Conditional_14_Conditional_12_Template_mj_conversation_chat_area_navigationRequest_0_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onNavigationRequest($event)); });
|
|
132
162
|
i0.ɵɵelementEnd();
|
|
133
163
|
} if (rf & 2) {
|
|
134
164
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
135
|
-
i0.ɵɵproperty("Provider", ctx_r1.Provider)("environmentId", ctx_r1.chatEnvironmentId)("currentUser", ctx_r1.currentUser)("conversation", ctx_r1.chatConversation)("conversationId", ctx_r1.chatConversationId)("isNewConversation", ctx_r1.chatIsNewConversation)("suppressNewConversationEmptyState", true)("allowMentions", false)("overlayMode",
|
|
165
|
+
i0.ɵɵproperty("Provider", ctx_r1.Provider)("environmentId", ctx_r1.chatEnvironmentId)("currentUser", ctx_r1.currentUser)("conversation", ctx_r1.chatConversation)("conversationId", ctx_r1.chatConversationId)("isNewConversation", ctx_r1.chatIsNewConversation)("suppressNewConversationEmptyState", true)("allowMentions", false)("overlayMode", false)("showExportButton", false)("showShareButton", false)("showArtifactIndicator", true)("showAgentPicker", false)("showAgentModePicker", false)("defaultAgentId", ctx_r1.modelDevAgentId)("pendingMessage", ctx_r1.pendingPrompt)("applicationScope", "Application")("applicationId", ctx_r1.applicationId)("appContext", ctx_r1.chatAppContext);
|
|
136
166
|
} }
|
|
137
|
-
function
|
|
138
|
-
i0.ɵɵelementStart(0, "div",
|
|
139
|
-
i0.ɵɵelement(1, "mj-loading",
|
|
167
|
+
function PSStudioResourceComponent_Conditional_4_Conditional_14_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
168
|
+
i0.ɵɵelementStart(0, "div", 47);
|
|
169
|
+
i0.ɵɵelement(1, "mj-loading", 49);
|
|
140
170
|
i0.ɵɵelementEnd();
|
|
141
171
|
} }
|
|
142
|
-
function
|
|
143
|
-
const
|
|
144
|
-
i0.ɵɵelementStart(0, "
|
|
145
|
-
i0.ɵɵelement(
|
|
146
|
-
i0.ɵɵtext(
|
|
172
|
+
function PSStudioResourceComponent_Conditional_4_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
173
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
174
|
+
i0.ɵɵelementStart(0, "as-split-area", 14)(1, "aside", 36)(2, "div", 37)(3, "div", 38);
|
|
175
|
+
i0.ɵɵelement(4, "i", 39);
|
|
176
|
+
i0.ɵɵtext(5, " Model Dev Agent");
|
|
147
177
|
i0.ɵɵelementEnd();
|
|
148
|
-
i0.ɵɵelementStart(
|
|
149
|
-
i0.ɵɵlistener("click", function
|
|
150
|
-
i0.ɵɵelement(
|
|
151
|
-
i0.ɵɵelementEnd()
|
|
152
|
-
i0.ɵɵelementStart(
|
|
153
|
-
i0.ɵɵ
|
|
154
|
-
i0.ɵɵ
|
|
178
|
+
i0.ɵɵelementStart(6, "div", 40)(7, "button", 41);
|
|
179
|
+
i0.ɵɵlistener("click", function PSStudioResourceComponent_Conditional_4_Conditional_14_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleCopilotExpanded()); });
|
|
180
|
+
i0.ɵɵelement(8, "i", 42);
|
|
181
|
+
i0.ɵɵelementEnd();
|
|
182
|
+
i0.ɵɵelementStart(9, "button", 43);
|
|
183
|
+
i0.ɵɵlistener("click", function PSStudioResourceComponent_Conditional_4_Conditional_14_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.closeChat()); });
|
|
184
|
+
i0.ɵɵelement(10, "i", 44);
|
|
185
|
+
i0.ɵɵelementEnd()()();
|
|
186
|
+
i0.ɵɵelementStart(11, "div", 45);
|
|
187
|
+
i0.ɵɵconditionalCreate(12, PSStudioResourceComponent_Conditional_4_Conditional_14_Conditional_12_Template, 1, 19, "mj-conversation-chat-area", 46)(13, PSStudioResourceComponent_Conditional_4_Conditional_14_Conditional_13_Template, 2, 0, "div", 47);
|
|
188
|
+
i0.ɵɵelementEnd()()();
|
|
155
189
|
} if (rf & 2) {
|
|
156
190
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
157
|
-
i0.ɵɵ
|
|
158
|
-
i0.ɵɵ
|
|
191
|
+
i0.ɵɵproperty("size", ctx_r1.copilotExpanded ? 60 : ctx_r1.copilotSizePct)("minSize", 20)("maxSize", 70);
|
|
192
|
+
i0.ɵɵadvance();
|
|
193
|
+
i0.ɵɵclassProp("expanded", ctx_r1.copilotExpanded);
|
|
194
|
+
i0.ɵɵadvance(6);
|
|
195
|
+
i0.ɵɵproperty("title", ctx_r1.copilotExpanded ? "Collapse panel" : "Expand panel");
|
|
196
|
+
i0.ɵɵadvance();
|
|
197
|
+
i0.ɵɵclassProp("fa-up-right-and-down-left-from-center", !ctx_r1.copilotExpanded)("fa-down-left-and-up-right-to-center", ctx_r1.copilotExpanded);
|
|
198
|
+
i0.ɵɵadvance(4);
|
|
199
|
+
i0.ɵɵconditional(ctx_r1.currentUser ? 12 : 13);
|
|
159
200
|
} }
|
|
160
201
|
function PSStudioResourceComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
161
|
-
i0.ɵɵ
|
|
162
|
-
i0.ɵɵ
|
|
163
|
-
i0.ɵɵ
|
|
164
|
-
i0.ɵɵelementStart(
|
|
165
|
-
i0.ɵɵ
|
|
166
|
-
i0.ɵɵ
|
|
167
|
-
i0.ɵɵ
|
|
168
|
-
i0.ɵɵ
|
|
202
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
203
|
+
i0.ɵɵelementStart(0, "div", 11);
|
|
204
|
+
i0.ɵɵconditionalCreate(1, PSStudioResourceComponent_Conditional_4_Conditional_1_Template, 6, 0, "div", 12);
|
|
205
|
+
i0.ɵɵelementStart(2, "as-split", 13);
|
|
206
|
+
i0.ɵɵlistener("dragEnd", function PSStudioResourceComponent_Conditional_4_Template_as_split_dragEnd_2_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onNavSplitDragEnd($event.sizes)); });
|
|
207
|
+
i0.ɵɵconditionalCreate(3, PSStudioResourceComponent_Conditional_4_Conditional_3_Template, 9, 3, "as-split-area", 14);
|
|
208
|
+
i0.ɵɵelementStart(4, "as-split-area", 15)(5, "div", 16)(6, "as-split", 17);
|
|
209
|
+
i0.ɵɵlistener("dragEnd", function PSStudioResourceComponent_Conditional_4_Template_as_split_dragEnd_6_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCopilotSplitDragEnd($event.sizes)); });
|
|
210
|
+
i0.ɵɵelementStart(7, "as-split-area", 15)(8, "section", 18);
|
|
211
|
+
i0.ɵɵconditionalCreate(9, PSStudioResourceComponent_Conditional_4_Case_9_Template, 1, 3, "ps-home", 19)(10, PSStudioResourceComponent_Conditional_4_Case_10_Template, 2, 3, "ps-pipelines", 19)(11, PSStudioResourceComponent_Conditional_4_Case_11_Template, 1, 1, "ps-catalog", 20)(12, PSStudioResourceComponent_Conditional_4_Case_12_Template, 1, 3, "ps-experiments", 19)(13, PSStudioResourceComponent_Conditional_4_Case_13_Template, 1, 1, "ps-compare", 20);
|
|
212
|
+
i0.ɵɵelementEnd()();
|
|
213
|
+
i0.ɵɵconditionalCreate(14, PSStudioResourceComponent_Conditional_4_Conditional_14_Template, 14, 11, "as-split-area", 14);
|
|
214
|
+
i0.ɵɵelementEnd()()()()();
|
|
169
215
|
} if (rf & 2) {
|
|
170
|
-
let
|
|
216
|
+
let tmp_13_0;
|
|
171
217
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
172
|
-
i0.ɵɵclassProp("chat-open", ctx_r1.chatOpen);
|
|
173
|
-
i0.ɵɵadvance(
|
|
174
|
-
i0.ɵɵ
|
|
218
|
+
i0.ɵɵclassProp("nav-collapsed", ctx_r1.isNavCollapsed)("chat-open", ctx_r1.chatOpen);
|
|
219
|
+
i0.ɵɵadvance();
|
|
220
|
+
i0.ɵɵconditional(ctx_r1.isNavCollapsed ? 1 : -1);
|
|
221
|
+
i0.ɵɵadvance();
|
|
222
|
+
i0.ɵɵproperty("gutterSize", ctx_r1.isNavCollapsed ? 0 : 6);
|
|
223
|
+
i0.ɵɵadvance();
|
|
224
|
+
i0.ɵɵconditional(!ctx_r1.isNavCollapsed ? 3 : -1);
|
|
225
|
+
i0.ɵɵadvance();
|
|
226
|
+
i0.ɵɵproperty("size", ctx_r1.isNavCollapsed ? 100 : 100 - ctx_r1.navSizePct)("minSize", 60);
|
|
175
227
|
i0.ɵɵadvance(2);
|
|
228
|
+
i0.ɵɵproperty("gutterSize", ctx_r1.chatOpen ? 6 : 0);
|
|
229
|
+
i0.ɵɵadvance();
|
|
230
|
+
i0.ɵɵproperty("size", ctx_r1.chatOpen ? ctx_r1.copilotExpanded ? 40 : ctx_r1.mainSizePct : 100)("minSize", 30);
|
|
231
|
+
i0.ɵɵadvance();
|
|
176
232
|
i0.ɵɵclassProp("fill", ctx_r1.activeSection === "pipelines");
|
|
177
233
|
i0.ɵɵattribute("data-testid", "ps-panel-" + ctx_r1.activeSection);
|
|
178
234
|
i0.ɵɵadvance();
|
|
179
|
-
i0.ɵɵconditional((
|
|
235
|
+
i0.ɵɵconditional((tmp_13_0 = ctx_r1.activeSection) === "home" ? 9 : tmp_13_0 === "pipelines" ? 10 : tmp_13_0 === "catalog" ? 11 : tmp_13_0 === "experiments" ? 12 : tmp_13_0 === "compare" ? 13 : -1);
|
|
180
236
|
i0.ɵɵadvance(5);
|
|
181
|
-
i0.ɵɵconditional(ctx_r1.chatOpen ?
|
|
237
|
+
i0.ɵɵconditional(ctx_r1.chatOpen ? 14 : -1);
|
|
182
238
|
} }
|
|
183
239
|
/** Predictive Studio application ID (from `metadata/applications/.predictive-studio-application.json`). */
|
|
184
240
|
const PREDICTIVE_STUDIO_APP_ID = '299C9272-8D38-40CA-85D4-0980F2C9FAD1';
|
|
@@ -202,6 +258,13 @@ let PSStudioResourceComponent = class PSStudioResourceComponent extends PSResour
|
|
|
202
258
|
/** The active workbench section (which panel renders). Round-trips through the `section` query param. */
|
|
203
259
|
activeSection = 'home';
|
|
204
260
|
sections = STUDIO_SECTIONS;
|
|
261
|
+
pipelinesComponent;
|
|
262
|
+
onCreatePipelineFromCatalog(algo) {
|
|
263
|
+
this.selectSection('pipelines');
|
|
264
|
+
setTimeout(() => {
|
|
265
|
+
this.pipelinesComponent?.openWizard(algo.ID);
|
|
266
|
+
}, 50);
|
|
267
|
+
}
|
|
205
268
|
// ── docked Model Dev Agent copilot ───────────────────────────────
|
|
206
269
|
chatOpen = false;
|
|
207
270
|
pendingPrompt = null;
|
|
@@ -210,11 +273,62 @@ let PSStudioResourceComponent = class PSStudioResourceComponent extends PSResour
|
|
|
210
273
|
chatConversation = null;
|
|
211
274
|
chatConversationId = null;
|
|
212
275
|
chatIsNewConversation = true;
|
|
276
|
+
isNavCollapsed = false;
|
|
277
|
+
navSizePct = 14;
|
|
278
|
+
mainSizePct = 68;
|
|
279
|
+
copilotSizePct = 32;
|
|
213
280
|
ngOnInit() {
|
|
214
281
|
super.ngOnInit();
|
|
215
282
|
const initial = this.GetQueryParams()['section'];
|
|
216
283
|
if (initial && hasSection(this.sections, initial))
|
|
217
284
|
this.activeSection = initial;
|
|
285
|
+
this.loadLayoutPrefs();
|
|
286
|
+
}
|
|
287
|
+
toggleNav() {
|
|
288
|
+
this.isNavCollapsed = !this.isNavCollapsed;
|
|
289
|
+
this.saveLayoutPrefs();
|
|
290
|
+
this.cdrLocal.detectChanges();
|
|
291
|
+
}
|
|
292
|
+
onNavSplitDragEnd(sizes) {
|
|
293
|
+
if (Array.isArray(sizes) && sizes.length === 2 && typeof sizes[0] === 'number') {
|
|
294
|
+
this.navSizePct = Math.round(sizes[0]);
|
|
295
|
+
this.saveLayoutPrefs();
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
onCopilotSplitDragEnd(sizes) {
|
|
299
|
+
if (Array.isArray(sizes) && sizes.length === 2 && typeof sizes[0] === 'number' && typeof sizes[1] === 'number') {
|
|
300
|
+
this.mainSizePct = Math.round(sizes[0]);
|
|
301
|
+
this.copilotSizePct = Math.round(sizes[1]);
|
|
302
|
+
this.saveLayoutPrefs();
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
loadLayoutPrefs() {
|
|
306
|
+
const saved = UserInfoEngine.Instance.GetSetting('mj.predictiveStudio.studio.layout');
|
|
307
|
+
if (saved) {
|
|
308
|
+
try {
|
|
309
|
+
const parsed = JSON.parse(saved);
|
|
310
|
+
if (typeof parsed.navSizePct === 'number' && parsed.navSizePct >= 10 && parsed.navSizePct <= 35) {
|
|
311
|
+
this.navSizePct = parsed.navSizePct;
|
|
312
|
+
}
|
|
313
|
+
if (typeof parsed.isNavCollapsed === 'boolean') {
|
|
314
|
+
this.isNavCollapsed = parsed.isNavCollapsed;
|
|
315
|
+
}
|
|
316
|
+
if (typeof parsed.copilotSizePct === 'number' && parsed.copilotSizePct >= 20 && parsed.copilotSizePct <= 60) {
|
|
317
|
+
this.copilotSizePct = parsed.copilotSizePct;
|
|
318
|
+
this.mainSizePct = 100 - this.copilotSizePct;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
catch { }
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
saveLayoutPrefs() {
|
|
325
|
+
const prefs = {
|
|
326
|
+
navSizePct: this.navSizePct,
|
|
327
|
+
isNavCollapsed: this.isNavCollapsed,
|
|
328
|
+
copilotSizePct: this.copilotSizePct,
|
|
329
|
+
mainSizePct: this.mainSizePct,
|
|
330
|
+
};
|
|
331
|
+
UserInfoEngine.Instance.SetSettingDebounced('mj.predictiveStudio.studio.layout', JSON.stringify(prefs));
|
|
218
332
|
}
|
|
219
333
|
/** React to deep-link / back-forward `section` changes after the initial mount. */
|
|
220
334
|
OnQueryParamsChanged(params, _source) {
|
|
@@ -334,9 +448,23 @@ let PSStudioResourceComponent = class PSStudioResourceComponent extends PSResour
|
|
|
334
448
|
closeChat() {
|
|
335
449
|
this.chatOpen = false;
|
|
336
450
|
this.pendingPrompt = null;
|
|
451
|
+
this.copilotExpanded = false;
|
|
337
452
|
this.publishAgentContext();
|
|
338
453
|
this.cdrLocal.detectChanges();
|
|
339
454
|
}
|
|
455
|
+
copilotExpanded = false;
|
|
456
|
+
toggleCopilotExpanded() {
|
|
457
|
+
this.copilotExpanded = !this.copilotExpanded;
|
|
458
|
+
this.cdrLocal.detectChanges();
|
|
459
|
+
}
|
|
460
|
+
onNavigationRequest(req) {
|
|
461
|
+
if (req.navItemName === 'Models' || req.queryParams?.['modelId']) {
|
|
462
|
+
void this.navigationService.SwitchToApp(PREDICTIVE_STUDIO_APP_ID, 'Models', req.queryParams);
|
|
463
|
+
}
|
|
464
|
+
else if (req.appName) {
|
|
465
|
+
void this.navigationService.SwitchToApp(req.appName, req.navItemName, req.queryParams);
|
|
466
|
+
}
|
|
467
|
+
}
|
|
340
468
|
/** Chat-area created its backing conversation on the first send — capture it + leave new-mode so the thread renders. */
|
|
341
469
|
onChatConversationCreated(event) {
|
|
342
470
|
this.pendingPrompt = event.pendingMessage ?? null;
|
|
@@ -366,10 +494,15 @@ let PSStudioResourceComponent = class PSStudioResourceComponent extends PSResour
|
|
|
366
494
|
}
|
|
367
495
|
}
|
|
368
496
|
static ɵfac = /*@__PURE__*/ (() => { let ɵPSStudioResourceComponent_BaseFactory; return function PSStudioResourceComponent_Factory(__ngFactoryType__) { return (ɵPSStudioResourceComponent_BaseFactory || (ɵPSStudioResourceComponent_BaseFactory = i0.ɵɵgetInheritedFactory(PSStudioResourceComponent)))(__ngFactoryType__ || PSStudioResourceComponent); }; })();
|
|
369
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PSStudioResourceComponent, selectors: [["mj-ps-studio-resource"]],
|
|
370
|
-
i0.ɵɵ
|
|
371
|
-
|
|
372
|
-
|
|
497
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PSStudioResourceComponent, selectors: [["mj-ps-studio-resource"]], viewQuery: function PSStudioResourceComponent_Query(rf, ctx) { if (rf & 1) {
|
|
498
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
499
|
+
} if (rf & 2) {
|
|
500
|
+
let _t;
|
|
501
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pipelinesComponent = _t.first);
|
|
502
|
+
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 5, consts: [["pipelinesComp", ""], [3, "Title", "Subtitle"], [3, "Flex", "Padding"], ["text", "Loading Studio\u2026", "size", "medium"], ["data-testid", "ps-load-error", "role", "alert", 1, "ps-load-error"], ["data-testid", "ps-studio-shell", 1, "ps-studio-host", 3, "nav-collapsed", "chat-open"], [1, "fa-solid", "fa-triangle-exclamation"], [1, "ps-load-error-text"], [1, "ps-load-error-detail"], ["mjButton", "", "variant", "secondary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-rotate-right"], ["data-testid", "ps-studio-shell", 1, "ps-studio-host"], ["role", "region", "aria-label", "Studio navigation (collapsed)", 1, "ps-nav-collapsed-strip"], ["direction", "horizontal", "unit", "percent", 1, "studio-outer-splitter", 3, "dragEnd", "gutterSize"], [3, "size", "minSize", "maxSize"], [3, "size", "minSize"], [1, "ps-studio-workspace"], ["direction", "horizontal", "unit", "percent", 1, "studio-copilot-splitter", 3, "dragEnd", "gutterSize"], [1, "ps-content"], [3, "engine", "provider", "currentUser"], [3, "engine"], ["type", "button", "aria-label", "Expand studio navigation", "title", "Expand navigation", 1, "ps-nav-rail-collapse", 3, "click"], [1, "fa-solid", "fa-chevron-right"], [1, "ps-nav-collapsed-strip-label"], [1, "fa-solid", "fa-flask-vial"], [1, "ps-leftnav"], [1, "ps-leftnav-header"], [1, "ps-leftnav-title"], ["type", "button", "title", "Collapse navigation", "aria-label", "Collapse navigation", 1, "ps-leftnav-collapse-btn", 3, "click"], [1, "fa-solid", "fa-chevron-left"], [1, "ps-nav-group"], [1, "ps-nav-item", 3, "active"], [1, "ps-nav-item", 3, "click"], [3, "navigate", "askAgent", "engine", "provider", "currentUser"], [3, "askAgent", "navigate", "engine", "provider", "currentUser"], [3, "askAgent", "createPipeline", "engine"], ["data-testid", "ps-studio-copilot", 1, "ps-copilot"], [1, "ps-copilot-head"], [1, "ps-copilot-title"], [1, "fa-solid", "fa-robot"], [1, "ps-copilot-actions"], [1, "ps-copilot-btn", 3, "click", "title"], [1, "fa-solid"], ["aria-label", "Close agent chat", 1, "ps-copilot-close", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "ps-copilot-body"], [3, "Provider", "environmentId", "currentUser", "conversation", "conversationId", "isNewConversation", "suppressNewConversationEmptyState", "allowMentions", "overlayMode", "showExportButton", "showShareButton", "showArtifactIndicator", "showAgentPicker", "showAgentModePicker", "defaultAgentId", "pendingMessage", "applicationScope", "applicationId", "appContext"], [1, "ps-copilot-empty"], [3, "conversationCreated", "pendingMessageConsumed", "navigationRequest", "Provider", "environmentId", "currentUser", "conversation", "conversationId", "isNewConversation", "suppressNewConversationEmptyState", "allowMentions", "overlayMode", "showExportButton", "showShareButton", "showArtifactIndicator", "showAgentPicker", "showAgentModePicker", "defaultAgentId", "pendingMessage", "applicationScope", "applicationId", "appContext"], ["text", "Connecting\u2026", "size", "small"]], template: function PSStudioResourceComponent_Template(rf, ctx) { if (rf & 1) {
|
|
503
|
+
i0.ɵɵelement(0, "mj-page-header-interior", 1);
|
|
504
|
+
i0.ɵɵelementStart(1, "mj-page-body-interior", 2);
|
|
505
|
+
i0.ɵɵconditionalCreate(2, PSStudioResourceComponent_Conditional_2_Template, 1, 0, "mj-loading", 3)(3, PSStudioResourceComponent_Conditional_3_Template, 10, 2, "div", 4)(4, PSStudioResourceComponent_Conditional_4_Template, 15, 17, "div", 5);
|
|
373
506
|
i0.ɵɵelementEnd();
|
|
374
507
|
} if (rf & 2) {
|
|
375
508
|
i0.ɵɵproperty("Title", ctx.activeLabel)("Subtitle", ctx.activeSubtitle);
|
|
@@ -377,7 +510,7 @@ let PSStudioResourceComponent = class PSStudioResourceComponent extends PSResour
|
|
|
377
510
|
i0.ɵɵproperty("Flex", true)("Padding", false);
|
|
378
511
|
i0.ɵɵadvance();
|
|
379
512
|
i0.ɵɵconditional(ctx.isLoading ? 2 : ctx.loadError ? 3 : 4);
|
|
380
|
-
} }, dependencies: [i1.MJButtonDirective, i1.MJPageHeaderInteriorComponent, i1.MJPageBodyInteriorComponent, i2.LoadingComponent, i3.ConversationChatAreaComponent, i4.
|
|
513
|
+
} }, dependencies: [i1.MJButtonDirective, i1.MJPageHeaderInteriorComponent, i1.MJPageBodyInteriorComponent, i2.LoadingComponent, i3.ConversationChatAreaComponent, i4.SplitComponent, i4.SplitAreaComponent, i5.PSHomeComponent, i6.PSCatalogComponent, i7.PSPipelinesComponent, i8.PSExperimentsComponent, i9.PSCompareComponent], styles: ["[_nghost-%COMP%] { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0; }\n .ps-studio-host[_ngcontent-%COMP%] { display: flex; flex: 1; min-height: 0; overflow: hidden; width: 100%; height: 100%; }\n .studio-outer-splitter[_ngcontent-%COMP%] { flex: 1; width: 100%; height: 100%; min-height: 0; min-width: 0; background: transparent; }\n .studio-outer-splitter[_ngcontent-%COMP%] .as-split-gutter[_ngcontent-%COMP%] { background: transparent; transition: background-color 0.15s ease; position: relative; }\n .studio-outer-splitter[_ngcontent-%COMP%] .as-split-gutter[_ngcontent-%COMP%]:hover { background-color: var(--mj-brand-primary, #6366f1); }\n .studio-outer-splitter[_ngcontent-%COMP%] .as-split-gutter[_ngcontent-%COMP%]::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 2px; height: 24px; border-radius: 1px; background: var(--mj-border-strong, #cbd5e1); }\n .studio-outer-splitter[_ngcontent-%COMP%] .as-split-gutter[_ngcontent-%COMP%]:hover::after { background: #ffffff; }\n\n .ps-nav-collapsed-strip[_ngcontent-%COMP%] { width: 44px; min-width: 44px; max-width: 44px; flex: none; background: var(--mj-bg-surface); border-right: 1px solid var(--mj-border-default); display: flex; flex-direction: column; align-items: center; padding: 10px 0; gap: 14px; z-index: 2; }\n .ps-nav-rail-collapse[_ngcontent-%COMP%] { background: var(--mj-bg-surface-subtle); border: 1px solid var(--mj-border-default); border-radius: 6px; color: var(--mj-text-secondary); cursor: pointer; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; font-size: 11px; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; }\n .ps-nav-rail-collapse[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); border-color: var(--mj-border-strong); }\n .ps-nav-collapsed-strip-label[_ngcontent-%COMP%] { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; color: var(--mj-text-muted); display: flex; align-items: center; gap: 8px; text-transform: uppercase; }\n\n .ps-leftnav[_ngcontent-%COMP%] { width: 100%; height: 100%; border-right: 1px solid var(--mj-border-default); background: var(--mj-bg-surface-card); overflow-y: auto; padding: 8px; display: flex; flex-direction: column; gap: 2px; box-sizing: border-box; }\n .ps-leftnav-header[_ngcontent-%COMP%] { display: flex; align-items: center; justify-content: space-between; padding: 4px 6px 8px; border-bottom: 1px solid var(--mj-border-subtle); margin-bottom: 4px; }\n .ps-leftnav-title[_ngcontent-%COMP%] { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--mj-text-muted); }\n .ps-leftnav-collapse-btn[_ngcontent-%COMP%] { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 6px; border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); color: var(--mj-text-muted); cursor: pointer; transition: all 0.15s ease; padding: 0; }\n .ps-leftnav-collapse-btn[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); border-color: var(--mj-border-strong); }\n\n .ps-nav-group[_ngcontent-%COMP%] { font-size: var(--mj-text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--mj-text-muted); padding: 10px 8px 4px; }\n .ps-nav-item[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 8px 10px; border: none; background: transparent; border-radius: var(--mj-radius-md); cursor: pointer; color: var(--mj-text-secondary); font-size: var(--mj-text-sm); font-weight: 500; transition: background .12s, color .12s; }\n .ps-nav-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { width: 18px; text-align: center; color: var(--mj-text-muted); }\n .ps-nav-item[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n .ps-nav-item.active[_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent); color: var(--mj-brand-primary); font-weight: 600; }\n .ps-nav-item.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n\n .ps-studio-workspace[_ngcontent-%COMP%] { display: flex; flex: 1; width: 100%; height: 100%; min-height: 0; min-width: 0; overflow: hidden; }\n .studio-copilot-splitter[_ngcontent-%COMP%] { flex: 1; width: 100%; height: 100%; min-height: 0; min-width: 0; }\n .studio-copilot-splitter[_ngcontent-%COMP%] .as-split-gutter[_ngcontent-%COMP%] { background: transparent; transition: background-color 0.15s ease; position: relative; }\n .studio-copilot-splitter[_ngcontent-%COMP%] .as-split-gutter[_ngcontent-%COMP%]:hover { background-color: var(--mj-brand-primary, #6366f1); }\n .studio-copilot-splitter[_ngcontent-%COMP%] .as-split-gutter[_ngcontent-%COMP%]::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 2px; height: 24px; border-radius: 1px; background: var(--mj-border-strong, #cbd5e1); }\n .ps-content[_ngcontent-%COMP%] { width: 100%; height: 100%; flex: 1; min-width: 0; overflow-y: auto; padding: 8px 14px 24px; }\n \n\n .ps-content.fill[_ngcontent-%COMP%] { overflow: hidden; display: flex; flex-direction: column; padding-bottom: 14px; }\n .ps-content.fill[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] { flex: 1; min-height: 0; display: flex; flex-direction: column; }\n .ps-copilot[_ngcontent-%COMP%] { width: 100%; height: 100%; max-width: none; flex: 1; border-left: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); display: flex; flex-direction: column; min-height: 0; }\n .ps-copilot-head[_ngcontent-%COMP%] { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid var(--mj-border-default); }\n .ps-copilot-title[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--mj-text-primary); }\n .ps-copilot-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n .ps-copilot-actions[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 4px; }\n .ps-copilot-btn[_ngcontent-%COMP%] { background: transparent; border: none; cursor: pointer; padding: 6px 8px; border-radius: 6px; color: var(--mj-text-muted); }\n .ps-copilot-btn[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-secondary); }\n .ps-copilot-close[_ngcontent-%COMP%] { background: transparent; border: none; cursor: pointer; padding: 6px 8px; border-radius: 6px; color: var(--mj-text-muted); }\n .ps-copilot-close[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-secondary); }\n .ps-copilot-body[_ngcontent-%COMP%] { flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }\n .ps-copilot-body[_ngcontent-%COMP%] mj-conversation-chat-area[_ngcontent-%COMP%] { flex: 1; min-height: 0; display: block; }\n .ps-copilot-empty[_ngcontent-%COMP%] { display: flex; align-items: center; justify-content: center; flex: 1; }\n .ps-load-error[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 14px; max-width: 620px; margin: 32px auto; padding: 18px 20px; border: 1px solid var(--mj-status-error-border); background: var(--mj-status-error-bg); border-radius: var(--mj-radius-lg); }\n .ps-load-error[_ngcontent-%COMP%] > i[_ngcontent-%COMP%] { font-size: 24px; color: var(--mj-status-error); }\n .ps-load-error-text[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }\n .ps-load-error-text[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] { color: var(--mj-text-primary); }\n .ps-load-error-detail[_ngcontent-%COMP%] { color: var(--mj-text-secondary); font-size: var(--mj-text-sm); word-break: break-word; }\n @media (max-width: 1100px) { .ps-studio-host.chat-open[_ngcontent-%COMP%] .ps-content[_ngcontent-%COMP%], .ps-studio-host.chat-open[_ngcontent-%COMP%] .ps-leftnav[_ngcontent-%COMP%] { display: none; } .ps-copilot[_ngcontent-%COMP%] { width: 100%; max-width: none; border-left: none; } }"], changeDetection: 0 });
|
|
381
514
|
};
|
|
382
515
|
PSStudioResourceComponent = __decorate([
|
|
383
516
|
RegisterClass(BaseResourceComponent, 'PredictiveStudioStudioResource')
|
|
@@ -401,58 +534,96 @@ export { PSStudioResourceComponent };
|
|
|
401
534
|
<button mjButton variant="secondary" size="sm" (click)="retryLoad()"><i class="fa-solid fa-rotate-right"></i> Try again</button>
|
|
402
535
|
</div>
|
|
403
536
|
} @else {
|
|
404
|
-
<div class="ps-studio-host" [class.chat-open]="chatOpen" data-testid="ps-studio-shell">
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
</aside>
|
|
537
|
+
<div class="ps-studio-host" [class.nav-collapsed]="isNavCollapsed" [class.chat-open]="chatOpen" data-testid="ps-studio-shell">
|
|
538
|
+
@if (isNavCollapsed) {
|
|
539
|
+
<div class="ps-nav-collapsed-strip" role="region" aria-label="Studio navigation (collapsed)">
|
|
540
|
+
<button class="ps-nav-rail-collapse" type="button" (click)="toggleNav()" aria-label="Expand studio navigation" title="Expand navigation">
|
|
541
|
+
<i class="fa-solid fa-chevron-right"></i>
|
|
542
|
+
</button>
|
|
543
|
+
<div class="ps-nav-collapsed-strip-label"><i class="fa-solid fa-flask-vial"></i> Studio</div>
|
|
544
|
+
</div>
|
|
545
|
+
}
|
|
416
546
|
|
|
417
|
-
<
|
|
418
|
-
@
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
547
|
+
<as-split direction="horizontal" class="studio-outer-splitter" unit="percent" [gutterSize]="isNavCollapsed ? 0 : 6" (dragEnd)="onNavSplitDragEnd($event.sizes)">
|
|
548
|
+
@if (!isNavCollapsed) {
|
|
549
|
+
<as-split-area [size]="navSizePct" [minSize]="10" [maxSize]="30">
|
|
550
|
+
<aside class="ps-leftnav">
|
|
551
|
+
<div class="ps-leftnav-header">
|
|
552
|
+
<span class="ps-leftnav-title">Studio</span>
|
|
553
|
+
<button class="ps-leftnav-collapse-btn" type="button" (click)="toggleNav()" title="Collapse navigation" aria-label="Collapse navigation">
|
|
554
|
+
<i class="fa-solid fa-chevron-left"></i>
|
|
555
|
+
</button>
|
|
556
|
+
</div>
|
|
557
|
+
@for (group of groups; track group) {
|
|
558
|
+
@if (group) { <div class="ps-nav-group">{{ group }}</div> }
|
|
559
|
+
@for (item of itemsForGroup(group); track item.key) {
|
|
560
|
+
<button class="ps-nav-item" [class.active]="activeSection === item.key"
|
|
561
|
+
[attr.data-testid]="'ps-nav-' + item.key" (click)="selectSection(item.key)">
|
|
562
|
+
<i [class]="item.icon"></i> <span>{{ item.label }}</span>
|
|
563
|
+
</button>
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
</aside>
|
|
567
|
+
</as-split-area>
|
|
424
568
|
}
|
|
425
|
-
</section>
|
|
426
569
|
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
570
|
+
<as-split-area [size]="isNavCollapsed ? 100 : (100 - navSizePct)" [minSize]="60">
|
|
571
|
+
<div class="ps-studio-workspace">
|
|
572
|
+
<as-split direction="horizontal" class="studio-copilot-splitter" unit="percent" [gutterSize]="chatOpen ? 6 : 0" (dragEnd)="onCopilotSplitDragEnd($event.sizes)">
|
|
573
|
+
<as-split-area [size]="chatOpen ? (copilotExpanded ? 40 : mainSizePct) : 100" [minSize]="30">
|
|
574
|
+
<section class="ps-content" [class.fill]="activeSection === 'pipelines'" [attr.data-testid]="'ps-panel-' + activeSection">
|
|
575
|
+
@switch (activeSection) {
|
|
576
|
+
@case ('home') { <ps-home [engine]="engine" [provider]="ProviderToUse" [currentUser]="ProviderToUse.CurrentUser" (navigate)="mapNavigate($event)" (askAgent)="onAskAgent($event)"></ps-home> }
|
|
577
|
+
@case ('pipelines') { <ps-pipelines #pipelinesComp [engine]="engine" [provider]="ProviderToUse" [currentUser]="ProviderToUse.CurrentUser" (askAgent)="onAskAgent($event)" (navigate)="mapNavigate($event)"></ps-pipelines> }
|
|
578
|
+
@case ('catalog') { <ps-catalog [engine]="engine" (askAgent)="onAskAgent($event)" (createPipeline)="onCreatePipelineFromCatalog($event)"></ps-catalog> }
|
|
579
|
+
@case ('experiments') { <ps-experiments [engine]="engine" [provider]="ProviderToUse" [currentUser]="ProviderToUse.CurrentUser"></ps-experiments> }
|
|
580
|
+
@case ('compare') { <ps-compare [engine]="engine"></ps-compare> }
|
|
581
|
+
}
|
|
582
|
+
</section>
|
|
583
|
+
</as-split-area>
|
|
584
|
+
|
|
585
|
+
@if (chatOpen) {
|
|
586
|
+
<as-split-area [size]="copilotExpanded ? 60 : copilotSizePct" [minSize]="20" [maxSize]="70">
|
|
587
|
+
<aside class="ps-copilot" [class.expanded]="copilotExpanded" data-testid="ps-studio-copilot">
|
|
588
|
+
<div class="ps-copilot-head">
|
|
589
|
+
<div class="ps-copilot-title"><i class="fa-solid fa-robot"></i> Model Dev Agent</div>
|
|
590
|
+
<div class="ps-copilot-actions">
|
|
591
|
+
<button class="ps-copilot-btn" (click)="toggleCopilotExpanded()" [title]="copilotExpanded ? 'Collapse panel' : 'Expand panel'"><i class="fa-solid" [class.fa-up-right-and-down-left-from-center]="!copilotExpanded" [class.fa-down-left-and-up-right-to-center]="copilotExpanded"></i></button>
|
|
592
|
+
<button class="ps-copilot-close" (click)="closeChat()" aria-label="Close agent chat"><i class="fa-solid fa-xmark"></i></button>
|
|
593
|
+
</div>
|
|
594
|
+
</div>
|
|
595
|
+
<div class="ps-copilot-body">
|
|
596
|
+
@if (currentUser) {
|
|
597
|
+
<mj-conversation-chat-area
|
|
598
|
+
[Provider]="Provider" [environmentId]="chatEnvironmentId" [currentUser]="currentUser"
|
|
599
|
+
[conversation]="chatConversation" [conversationId]="chatConversationId" [isNewConversation]="chatIsNewConversation"
|
|
600
|
+
[suppressNewConversationEmptyState]="true" [allowMentions]="false" [overlayMode]="false"
|
|
601
|
+
[showExportButton]="false" [showShareButton]="false" [showArtifactIndicator]="true"
|
|
602
|
+
[showAgentPicker]="false" [showAgentModePicker]="false"
|
|
603
|
+
[defaultAgentId]="modelDevAgentId" [pendingMessage]="pendingPrompt"
|
|
604
|
+
[applicationScope]="'Application'" [applicationId]="applicationId" [appContext]="chatAppContext"
|
|
605
|
+
(conversationCreated)="onChatConversationCreated($event)"
|
|
606
|
+
(pendingMessageConsumed)="onChatPendingMessageConsumed()"
|
|
607
|
+
(navigationRequest)="onNavigationRequest($event)">
|
|
608
|
+
</mj-conversation-chat-area>
|
|
609
|
+
} @else { <div class="ps-copilot-empty"><mj-loading text="Connecting…" size="small"></mj-loading></div> }
|
|
610
|
+
</div>
|
|
611
|
+
</aside>
|
|
612
|
+
</as-split-area>
|
|
613
|
+
}
|
|
614
|
+
</as-split>
|
|
447
615
|
</div>
|
|
448
|
-
</
|
|
449
|
-
|
|
616
|
+
</as-split-area>
|
|
617
|
+
</as-split>
|
|
450
618
|
</div>
|
|
451
619
|
}
|
|
452
620
|
</mj-page-body-interior>
|
|
453
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["\n :host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0; }\n .ps-studio-host { display: flex; flex: 1; min-height: 0; overflow: hidden; }\n .ps-
|
|
454
|
-
}], null,
|
|
455
|
-
|
|
621
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["\n :host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0; }\n .ps-studio-host { display: flex; flex: 1; min-height: 0; overflow: hidden; width: 100%; height: 100%; }\n .studio-outer-splitter { flex: 1; width: 100%; height: 100%; min-height: 0; min-width: 0; background: transparent; }\n .studio-outer-splitter .as-split-gutter { background: transparent; transition: background-color 0.15s ease; position: relative; }\n .studio-outer-splitter .as-split-gutter:hover { background-color: var(--mj-brand-primary, #6366f1); }\n .studio-outer-splitter .as-split-gutter::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 2px; height: 24px; border-radius: 1px; background: var(--mj-border-strong, #cbd5e1); }\n .studio-outer-splitter .as-split-gutter:hover::after { background: #ffffff; }\n\n .ps-nav-collapsed-strip { width: 44px; min-width: 44px; max-width: 44px; flex: none; background: var(--mj-bg-surface); border-right: 1px solid var(--mj-border-default); display: flex; flex-direction: column; align-items: center; padding: 10px 0; gap: 14px; z-index: 2; }\n .ps-nav-rail-collapse { background: var(--mj-bg-surface-subtle); border: 1px solid var(--mj-border-default); border-radius: 6px; color: var(--mj-text-secondary); cursor: pointer; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; font-size: 11px; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; }\n .ps-nav-rail-collapse:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); border-color: var(--mj-border-strong); }\n .ps-nav-collapsed-strip-label { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; color: var(--mj-text-muted); display: flex; align-items: center; gap: 8px; text-transform: uppercase; }\n\n .ps-leftnav { width: 100%; height: 100%; border-right: 1px solid var(--mj-border-default); background: var(--mj-bg-surface-card); overflow-y: auto; padding: 8px; display: flex; flex-direction: column; gap: 2px; box-sizing: border-box; }\n .ps-leftnav-header { display: flex; align-items: center; justify-content: space-between; padding: 4px 6px 8px; border-bottom: 1px solid var(--mj-border-subtle); margin-bottom: 4px; }\n .ps-leftnav-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--mj-text-muted); }\n .ps-leftnav-collapse-btn { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 6px; border: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); color: var(--mj-text-muted); cursor: pointer; transition: all 0.15s ease; padding: 0; }\n .ps-leftnav-collapse-btn:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); border-color: var(--mj-border-strong); }\n\n .ps-nav-group { font-size: var(--mj-text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--mj-text-muted); padding: 10px 8px 4px; }\n .ps-nav-item { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 8px 10px; border: none; background: transparent; border-radius: var(--mj-radius-md); cursor: pointer; color: var(--mj-text-secondary); font-size: var(--mj-text-sm); font-weight: 500; transition: background .12s, color .12s; }\n .ps-nav-item i { width: 18px; text-align: center; color: var(--mj-text-muted); }\n .ps-nav-item:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n .ps-nav-item.active { background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent); color: var(--mj-brand-primary); font-weight: 600; }\n .ps-nav-item.active i { color: var(--mj-brand-primary); }\n\n .ps-studio-workspace { display: flex; flex: 1; width: 100%; height: 100%; min-height: 0; min-width: 0; overflow: hidden; }\n .studio-copilot-splitter { flex: 1; width: 100%; height: 100%; min-height: 0; min-width: 0; }\n .studio-copilot-splitter .as-split-gutter { background: transparent; transition: background-color 0.15s ease; position: relative; }\n .studio-copilot-splitter .as-split-gutter:hover { background-color: var(--mj-brand-primary, #6366f1); }\n .studio-copilot-splitter .as-split-gutter::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 2px; height: 24px; border-radius: 1px; background: var(--mj-border-strong, #cbd5e1); }\n .ps-content { width: 100%; height: 100%; flex: 1; min-width: 0; overflow-y: auto; padding: 8px 14px 24px; }\n /* Fill mode (pipelines): the section stops page-scrolling so the panel's inner\n columns (canvas / inspector) can each own their scrollbar. */\n .ps-content.fill { overflow: hidden; display: flex; flex-direction: column; padding-bottom: 14px; }\n .ps-content.fill > * { flex: 1; min-height: 0; display: flex; flex-direction: column; }\n .ps-copilot { width: 100%; height: 100%; max-width: none; flex: 1; border-left: 1px solid var(--mj-border-default); background: var(--mj-bg-surface); display: flex; flex-direction: column; min-height: 0; }\n .ps-copilot-head { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid var(--mj-border-default); }\n .ps-copilot-title { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--mj-text-primary); }\n .ps-copilot-title i { color: var(--mj-brand-primary); }\n .ps-copilot-actions { display: flex; align-items: center; gap: 4px; }\n .ps-copilot-btn { background: transparent; border: none; cursor: pointer; padding: 6px 8px; border-radius: 6px; color: var(--mj-text-muted); }\n .ps-copilot-btn:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-secondary); }\n .ps-copilot-close { background: transparent; border: none; cursor: pointer; padding: 6px 8px; border-radius: 6px; color: var(--mj-text-muted); }\n .ps-copilot-close:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-secondary); }\n .ps-copilot-body { flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }\n .ps-copilot-body mj-conversation-chat-area { flex: 1; min-height: 0; display: block; }\n .ps-copilot-empty { display: flex; align-items: center; justify-content: center; flex: 1; }\n .ps-load-error { display: flex; align-items: center; gap: 14px; max-width: 620px; margin: 32px auto; padding: 18px 20px; border: 1px solid var(--mj-status-error-border); background: var(--mj-status-error-bg); border-radius: var(--mj-radius-lg); }\n .ps-load-error > i { font-size: 24px; color: var(--mj-status-error); }\n .ps-load-error-text { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }\n .ps-load-error-text strong { color: var(--mj-text-primary); }\n .ps-load-error-detail { color: var(--mj-text-secondary); font-size: var(--mj-text-sm); word-break: break-word; }\n @media (max-width: 1100px) { .ps-studio-host.chat-open .ps-content, .ps-studio-host.chat-open .ps-leftnav { display: none; } .ps-copilot { width: 100%; max-width: none; border-left: none; } }\n "] }]
|
|
622
|
+
}], null, { pipelinesComponent: [{
|
|
623
|
+
type: ViewChild,
|
|
624
|
+
args: ['pipelinesComp']
|
|
625
|
+
}] }); })();
|
|
626
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PSStudioResourceComponent, { className: "PSStudioResourceComponent", filePath: "src/PredictiveStudio/resources/ps-studio-resource.component.ts", lineNumber: 207 }); })();
|
|
456
627
|
/** Tree-shaking prevention — called from the subpath module so the @RegisterClass survives bundling. */
|
|
457
628
|
export function LoadPSStudioResource() {
|
|
458
629
|
// intentionally empty
|