@memberjunction/ng-dashboards 5.22.0 → 5.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -0
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +364 -362
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.js +2 -2
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +275 -64
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +2645 -436
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +240 -6
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +2166 -256
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js +191 -197
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.js +9 -8
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +305 -299
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +319 -313
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +1 -2
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +12 -27
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/APIKeys/api-applications-panel.component.js +10 -12
- package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.js +13 -19
- package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.js +12 -14
- package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
- package/dist/APIKeys/api-scopes-panel.component.js +61 -68
- package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
- package/dist/APIKeys/api-usage-panel.component.js +10 -11
- package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
- package/dist/Actions/components/actions-list-view.component.js +82 -96
- package/dist/Actions/components/actions-list-view.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +130 -134
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -1
- package/dist/Actions/components/categories-list-view.component.js +40 -46
- package/dist/Actions/components/categories-list-view.component.js.map +1 -1
- package/dist/Actions/components/code-management.component.js +2 -2
- package/dist/Actions/components/code-management.component.js.map +1 -1
- package/dist/Actions/components/entity-integration.component.js +2 -2
- package/dist/Actions/components/entity-integration.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +127 -132
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/executions-list-view.component.js +2 -2
- package/dist/Actions/components/executions-list-view.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-card.component.js +11 -17
- package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +5 -11
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-list-item.component.js +8 -10
- package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-toolbar.component.js +112 -133
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-tree-panel.component.js +63 -83
- package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
- package/dist/Actions/components/explorer/new-action-panel.component.js +17 -21
- package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
- package/dist/Actions/components/explorer/new-category-panel.component.js +17 -21
- package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.js +2 -2
- package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
- package/dist/Actions/components/security-permissions.component.js +2 -2
- package/dist/Actions/components/security-permissions.component.js.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +13 -5
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js +168 -145
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts +4 -5
- package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/artifact-load-dialog.component.js +197 -200
- package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts +5 -7
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +142 -148
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/browser/component-browser.component.js +153 -166
- package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +15 -20
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +16 -21
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js +18 -23
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/editors/spec-editor.component.js +25 -30
- package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +10 -11
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +24 -35
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/components/text-import-dialog.component.js +15 -17
- package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +7 -6
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +6 -5
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +7 -6
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DashboardBrowser/dashboard-share-dialog.component.js +9 -9
- package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.js +4 -4
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +4 -4
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +246 -259
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
- package/dist/Integration/components/widgets/integration-card.component.js +7 -9
- package/dist/Integration/components/widgets/integration-card.component.js.map +1 -1
- package/dist/Integration/integration.module.d.ts +6 -10
- package/dist/Integration/integration.module.d.ts.map +1 -1
- package/dist/Integration/integration.module.js +12 -20
- package/dist/Integration/integration.module.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts +106 -0
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +607 -0
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -0
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +7 -2
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +59 -31
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/index.d.ts +1 -0
- package/dist/KnowledgeHub/index.d.ts.map +1 -1
- package/dist/KnowledgeHub/index.js +1 -0
- package/dist/KnowledgeHub/index.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +9 -7
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +5 -4
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js +10 -9
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/MCP/components/mcp-connection-dialog.component.js +141 -132
- package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -1
- package/dist/MCP/components/mcp-log-detail-panel.component.js +4 -4
- package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
- package/dist/MCP/components/mcp-server-dialog.component.js +141 -128
- package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -1
- package/dist/MCP/components/mcp-test-tool-dialog.component.js +210 -218
- package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +2 -2
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/MCP/mcp.module.d.ts +6 -9
- package/dist/MCP/mcp.module.d.ts.map +1 -1
- package/dist/MCP/mcp.module.js +20 -22
- package/dist/MCP/mcp.module.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +5 -4
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +6 -5
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +93 -92
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +9 -10
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/actions-dashboards.module.d.ts +8 -13
- package/dist/actions-dashboards.module.d.ts.map +1 -1
- package/dist/actions-dashboards.module.js +6 -27
- package/dist/actions-dashboards.module.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +16 -20
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +23 -44
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +4 -8
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +0 -19
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/component-studio-dashboards.module.d.ts +7 -11
- package/dist/component-studio-dashboards.module.d.ts.map +1 -1
- package/dist/component-studio-dashboards.module.js +22 -34
- package/dist/component-studio-dashboards.module.js.map +1 -1
- package/dist/core-dashboards.module.d.ts +12 -18
- package/dist/core-dashboards.module.d.ts.map +1 -1
- package/dist/core-dashboards.module.js +15 -31
- package/dist/core-dashboards.module.js.map +1 -1
- package/dist/credentials-dashboards.module.d.ts +5 -8
- package/dist/credentials-dashboards.module.d.ts.map +1 -1
- package/dist/credentials-dashboards.module.js +3 -19
- package/dist/credentials-dashboards.module.js.map +1 -1
- package/dist/data-explorer-dashboards.module.d.ts +7 -13
- package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
- package/dist/data-explorer-dashboards.module.js +0 -27
- package/dist/data-explorer-dashboards.module.js.map +1 -1
- package/dist/lists-dashboards.module.d.ts +5 -8
- package/dist/lists-dashboards.module.d.ts.map +1 -1
- package/dist/lists-dashboards.module.js +3 -19
- package/dist/lists-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +1 -0
- package/dist/public-api.js.map +1 -1
- package/dist/scheduling-dashboards.module.d.ts +6 -10
- package/dist/scheduling-dashboards.module.d.ts.map +1 -1
- package/dist/scheduling-dashboards.module.js +3 -23
- package/dist/scheduling-dashboards.module.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +7 -13
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +0 -27
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +47 -55
|
@@ -1,24 +1,22 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { Component, Input, Output, EventEmitter, inject } from '@angular/core';
|
|
2
2
|
import { RunView, Metadata } from '@memberjunction/core';
|
|
3
3
|
import { UUIDsEqual } from '@memberjunction/global';
|
|
4
4
|
import { Subject, debounceTime, distinctUntilChanged } from 'rxjs';
|
|
5
5
|
import { takeUntil } from 'rxjs/operators';
|
|
6
|
+
import { MJNotificationService } from '@memberjunction/ng-notifications';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@
|
|
8
|
-
import * as i2 from "@memberjunction/ng-
|
|
9
|
-
import * as i3 from "@
|
|
10
|
-
import * as i4 from "@
|
|
11
|
-
import * as i5 from "@progress/kendo-angular-inputs";
|
|
12
|
-
import * as i6 from "@memberjunction/ng-shared-generic";
|
|
13
|
-
import * as i7 from "@angular/common";
|
|
8
|
+
import * as i1 from "@angular/forms";
|
|
9
|
+
import * as i2 from "@memberjunction/ng-shared-generic";
|
|
10
|
+
import * as i3 from "@memberjunction/ng-ui-components";
|
|
11
|
+
import * as i4 from "@angular/common";
|
|
14
12
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
15
|
-
function
|
|
13
|
+
function ArtifactSelectionDialogComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
16
14
|
i0.ɵɵelementStart(0, "span");
|
|
17
15
|
i0.ɵɵtext(1, "Filters");
|
|
18
16
|
i0.ɵɵelementEnd();
|
|
19
17
|
} }
|
|
20
|
-
function
|
|
21
|
-
i0.ɵɵelementStart(0, "span",
|
|
18
|
+
function ArtifactSelectionDialogComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
i0.ɵɵelementStart(0, "span", 6);
|
|
22
20
|
i0.ɵɵtext(1);
|
|
23
21
|
i0.ɵɵelementEnd();
|
|
24
22
|
} if (rf & 2) {
|
|
@@ -26,39 +24,39 @@ function ArtifactSelectionDialogComponent_Conditional_11_Template(rf, ctx) { if
|
|
|
26
24
|
i0.ɵɵadvance();
|
|
27
25
|
i0.ɵɵtextInterpolate(ctx_r0.getActiveFilterCount());
|
|
28
26
|
} }
|
|
29
|
-
function
|
|
27
|
+
function ArtifactSelectionDialogComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
30
28
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
31
|
-
i0.ɵɵelementStart(0, "div",
|
|
29
|
+
i0.ɵɵelementStart(0, "div", 7)(1, "div", 26)(2, "label");
|
|
32
30
|
i0.ɵɵtext(3, "Search");
|
|
33
31
|
i0.ɵɵelementEnd();
|
|
34
|
-
i0.ɵɵelementStart(4, "input",
|
|
35
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
36
|
-
i0.ɵɵlistener("input", function
|
|
32
|
+
i0.ɵɵelementStart(4, "input", 27);
|
|
33
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ArtifactSelectionDialogComponent_Conditional_8_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.searchTerm, $event) || (ctx_r0.searchTerm = $event); return i0.ɵɵresetView($event); });
|
|
34
|
+
i0.ɵɵlistener("input", function ArtifactSelectionDialogComponent_Conditional_8_Template_input_input_4_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onSearchInput()); });
|
|
37
35
|
i0.ɵɵelementEnd()();
|
|
38
|
-
i0.ɵɵelementStart(5, "div",
|
|
36
|
+
i0.ɵɵelementStart(5, "div", 26)(6, "label");
|
|
39
37
|
i0.ɵɵtext(7, "Artifact Type");
|
|
40
38
|
i0.ɵɵelementEnd();
|
|
41
|
-
i0.ɵɵelementStart(8, "select",
|
|
42
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
43
|
-
i0.ɵɵlistener("change", function
|
|
44
|
-
i0.ɵɵelementStart(9, "option",
|
|
39
|
+
i0.ɵɵelementStart(8, "select", 28);
|
|
40
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ArtifactSelectionDialogComponent_Conditional_8_Template_select_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.selectedArtifactType, $event) || (ctx_r0.selectedArtifactType = $event); return i0.ɵɵresetView($event); });
|
|
41
|
+
i0.ɵɵlistener("change", function ArtifactSelectionDialogComponent_Conditional_8_Template_select_change_8_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onArtifactTypeChange()); });
|
|
42
|
+
i0.ɵɵelementStart(9, "option", 29);
|
|
45
43
|
i0.ɵɵtext(10, "All Types");
|
|
46
44
|
i0.ɵɵelementEnd();
|
|
47
|
-
i0.ɵɵelementStart(11, "option",
|
|
45
|
+
i0.ɵɵelementStart(11, "option", 30);
|
|
48
46
|
i0.ɵɵtext(12, "Component");
|
|
49
47
|
i0.ɵɵelementEnd();
|
|
50
|
-
i0.ɵɵelementStart(13, "option",
|
|
48
|
+
i0.ɵɵelementStart(13, "option", 31);
|
|
51
49
|
i0.ɵɵtext(14, "Report");
|
|
52
50
|
i0.ɵɵelementEnd();
|
|
53
|
-
i0.ɵɵelementStart(15, "option",
|
|
51
|
+
i0.ɵɵelementStart(15, "option", 32);
|
|
54
52
|
i0.ɵɵtext(16, "Dashboard");
|
|
55
53
|
i0.ɵɵelementEnd()()();
|
|
56
|
-
i0.ɵɵelementStart(17, "div",
|
|
54
|
+
i0.ɵɵelementStart(17, "div", 26)(18, "label");
|
|
57
55
|
i0.ɵɵtext(19, "Filter by User");
|
|
58
56
|
i0.ɵɵelementEnd();
|
|
59
|
-
i0.ɵɵelementStart(20, "input",
|
|
60
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
61
|
-
i0.ɵɵlistener("input", function
|
|
57
|
+
i0.ɵɵelementStart(20, "input", 33);
|
|
58
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ArtifactSelectionDialogComponent_Conditional_8_Template_input_ngModelChange_20_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.userEmail, $event) || (ctx_r0.userEmail = $event); return i0.ɵɵresetView($event); });
|
|
59
|
+
i0.ɵɵlistener("input", function ArtifactSelectionDialogComponent_Conditional_8_Template_input_input_20_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.filterArtifacts()); });
|
|
62
60
|
i0.ɵɵelementEnd()()();
|
|
63
61
|
} if (rf & 2) {
|
|
64
62
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -69,20 +67,20 @@ function ArtifactSelectionDialogComponent_Conditional_12_Template(rf, ctx) { if
|
|
|
69
67
|
i0.ɵɵadvance(12);
|
|
70
68
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.userEmail);
|
|
71
69
|
} }
|
|
72
|
-
function
|
|
73
|
-
i0.ɵɵelementStart(0, "div",
|
|
74
|
-
i0.ɵɵelement(1, "mj-loading",
|
|
70
|
+
function ArtifactSelectionDialogComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
71
|
+
i0.ɵɵelementStart(0, "div", 15);
|
|
72
|
+
i0.ɵɵelement(1, "mj-loading", 34);
|
|
75
73
|
i0.ɵɵelementEnd();
|
|
76
74
|
} }
|
|
77
|
-
function
|
|
78
|
-
i0.ɵɵelementStart(0, "div",
|
|
79
|
-
i0.ɵɵelement(1, "i",
|
|
75
|
+
function ArtifactSelectionDialogComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
+
i0.ɵɵelementStart(0, "div", 16);
|
|
77
|
+
i0.ɵɵelement(1, "i", 35);
|
|
80
78
|
i0.ɵɵelementStart(2, "p");
|
|
81
79
|
i0.ɵɵtext(3, "No artifacts found");
|
|
82
80
|
i0.ɵɵelementEnd()();
|
|
83
81
|
} }
|
|
84
|
-
function
|
|
85
|
-
i0.ɵɵelementStart(0, "div",
|
|
82
|
+
function ArtifactSelectionDialogComponent_Conditional_22_For_1_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
83
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
86
84
|
i0.ɵɵtext(1);
|
|
87
85
|
i0.ɵɵelementEnd();
|
|
88
86
|
} if (rf & 2) {
|
|
@@ -90,18 +88,18 @@ function ArtifactSelectionDialogComponent_Conditional_26_For_1_Conditional_7_Tem
|
|
|
90
88
|
i0.ɵɵadvance();
|
|
91
89
|
i0.ɵɵtextInterpolate1(" ", artifact_r4.Description, " ");
|
|
92
90
|
} }
|
|
93
|
-
function
|
|
91
|
+
function ArtifactSelectionDialogComponent_Conditional_22_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
94
92
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
95
|
-
i0.ɵɵelementStart(0, "div",
|
|
96
|
-
i0.ɵɵlistener("click", function
|
|
97
|
-
i0.ɵɵelementStart(1, "div",
|
|
98
|
-
i0.ɵɵelement(4, "i",
|
|
93
|
+
i0.ɵɵelementStart(0, "div", 37);
|
|
94
|
+
i0.ɵɵlistener("click", function ArtifactSelectionDialogComponent_Conditional_22_For_1_Template_div_click_0_listener() { const artifact_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.selectArtifact(artifact_r4)); });
|
|
95
|
+
i0.ɵɵelementStart(1, "div", 38)(2, "div", 39)(3, "div", 40);
|
|
96
|
+
i0.ɵɵelement(4, "i", 41);
|
|
99
97
|
i0.ɵɵelementStart(5, "span");
|
|
100
98
|
i0.ɵɵtext(6);
|
|
101
99
|
i0.ɵɵelementEnd()();
|
|
102
|
-
i0.ɵɵconditionalCreate(7,
|
|
100
|
+
i0.ɵɵconditionalCreate(7, ArtifactSelectionDialogComponent_Conditional_22_For_1_Conditional_7_Template, 2, 1, "div", 42);
|
|
103
101
|
i0.ɵɵelementEnd();
|
|
104
|
-
i0.ɵɵelementStart(8, "div",
|
|
102
|
+
i0.ɵɵelementStart(8, "div", 43)(9, "div");
|
|
105
103
|
i0.ɵɵtext(10);
|
|
106
104
|
i0.ɵɵelementEnd();
|
|
107
105
|
i0.ɵɵelementStart(11, "div");
|
|
@@ -121,36 +119,37 @@ function ArtifactSelectionDialogComponent_Conditional_26_For_1_Template(rf, ctx)
|
|
|
121
119
|
i0.ɵɵadvance(2);
|
|
122
120
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(13, 6, artifact_r4.__mj_UpdatedAt, "short"));
|
|
123
121
|
} }
|
|
124
|
-
function
|
|
125
|
-
i0.ɵɵrepeaterCreate(0,
|
|
122
|
+
function ArtifactSelectionDialogComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
+
i0.ɵɵrepeaterCreate(0, ArtifactSelectionDialogComponent_Conditional_22_For_1_Template, 14, 9, "div", 36, _forTrack0);
|
|
126
124
|
} if (rf & 2) {
|
|
127
125
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
128
126
|
i0.ɵɵrepeater(ctx_r0.artifacts);
|
|
129
127
|
} }
|
|
130
|
-
function
|
|
128
|
+
function ArtifactSelectionDialogComponent_Conditional_29_Template(rf, ctx) { if (rf & 1) {
|
|
131
129
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
132
|
-
i0.ɵɵelementStart(0, "div",
|
|
133
|
-
i0.ɵɵtwoWayListener("
|
|
130
|
+
i0.ɵɵelementStart(0, "div", 21)(1, "input", 44);
|
|
131
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ArtifactSelectionDialogComponent_Conditional_29_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.newArtifactName, $event) || (ctx_r0.newArtifactName = $event); return i0.ɵɵresetView($event); });
|
|
134
132
|
i0.ɵɵelementEnd();
|
|
135
|
-
i0.ɵɵelementStart(2, "
|
|
136
|
-
i0.ɵɵtwoWayListener("
|
|
133
|
+
i0.ɵɵelementStart(2, "textarea", 45);
|
|
134
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ArtifactSelectionDialogComponent_Conditional_29_Template_textarea_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.newArtifactDescription, $event) || (ctx_r0.newArtifactDescription = $event); return i0.ɵɵresetView($event); });
|
|
135
|
+
i0.ɵɵtext(3, " ");
|
|
137
136
|
i0.ɵɵelementEnd()();
|
|
138
137
|
} if (rf & 2) {
|
|
139
138
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
140
139
|
i0.ɵɵadvance();
|
|
141
|
-
i0.ɵɵtwoWayProperty("
|
|
140
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.newArtifactName);
|
|
142
141
|
i0.ɵɵadvance();
|
|
143
|
-
i0.ɵɵtwoWayProperty("
|
|
142
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.newArtifactDescription);
|
|
144
143
|
} }
|
|
145
|
-
function
|
|
144
|
+
function ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Conditional_12_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
146
145
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
147
|
-
i0.ɵɵelementStart(0, "label",
|
|
148
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
146
|
+
i0.ɵɵelementStart(0, "label", 56)(1, "input", 57);
|
|
147
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Conditional_12_For_4_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.selectedVersion, $event) || (ctx_r0.selectedVersion = $event); return i0.ɵɵresetView($event); });
|
|
149
148
|
i0.ɵɵelementEnd();
|
|
150
|
-
i0.ɵɵelementStart(2, "div",
|
|
149
|
+
i0.ɵɵelementStart(2, "div", 58)(3, "div", 59);
|
|
151
150
|
i0.ɵɵtext(4);
|
|
152
151
|
i0.ɵɵelementEnd();
|
|
153
|
-
i0.ɵɵelementStart(5, "div",
|
|
152
|
+
i0.ɵɵelementStart(5, "div", 60);
|
|
154
153
|
i0.ɵɵtext(6);
|
|
155
154
|
i0.ɵɵpipe(7, "date");
|
|
156
155
|
i0.ɵɵelementEnd()()();
|
|
@@ -166,9 +165,9 @@ function ArtifactSelectionDialogComponent_Conditional_34_Conditional_5_Condition
|
|
|
166
165
|
i0.ɵɵadvance(2);
|
|
167
166
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(7, 6, version_r8.__mj_UpdatedAt, "short"));
|
|
168
167
|
} }
|
|
169
|
-
function
|
|
170
|
-
i0.ɵɵelementStart(0, "div",
|
|
171
|
-
i0.ɵɵelement(1, "i",
|
|
168
|
+
function ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Conditional_12_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
169
|
+
i0.ɵɵelementStart(0, "div", 55);
|
|
170
|
+
i0.ɵɵelement(1, "i", 61);
|
|
172
171
|
i0.ɵɵelementStart(2, "span");
|
|
173
172
|
i0.ɵɵtext(3);
|
|
174
173
|
i0.ɵɵelementEnd()();
|
|
@@ -177,13 +176,13 @@ function ArtifactSelectionDialogComponent_Conditional_34_Conditional_5_Condition
|
|
|
177
176
|
i0.ɵɵadvance(3);
|
|
178
177
|
i0.ɵɵtextInterpolate1("Warning: This will overwrite version ", ctx_r0.selectedVersion.VersionNumber);
|
|
179
178
|
} }
|
|
180
|
-
function
|
|
181
|
-
i0.ɵɵelementStart(0, "div",
|
|
179
|
+
function ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
180
|
+
i0.ɵɵelementStart(0, "div", 53)(1, "label");
|
|
182
181
|
i0.ɵɵtext(2, "Select Version");
|
|
183
182
|
i0.ɵɵelementEnd();
|
|
184
|
-
i0.ɵɵrepeaterCreate(3,
|
|
183
|
+
i0.ɵɵrepeaterCreate(3, ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Conditional_12_For_4_Template, 8, 9, "label", 54, _forTrack0);
|
|
185
184
|
i0.ɵɵelementEnd();
|
|
186
|
-
i0.ɵɵconditionalCreate(5,
|
|
185
|
+
i0.ɵɵconditionalCreate(5, ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Conditional_12_Conditional_5_Template, 4, 1, "div", 55);
|
|
187
186
|
} if (rf & 2) {
|
|
188
187
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
189
188
|
i0.ɵɵadvance(3);
|
|
@@ -191,25 +190,25 @@ function ArtifactSelectionDialogComponent_Conditional_34_Conditional_5_Condition
|
|
|
191
190
|
i0.ɵɵadvance(2);
|
|
192
191
|
i0.ɵɵconditional(ctx_r0.selectedVersion ? 5 : -1);
|
|
193
192
|
} }
|
|
194
|
-
function
|
|
193
|
+
function ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
195
194
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
196
|
-
i0.ɵɵelementStart(0, "div",
|
|
195
|
+
i0.ɵɵelementStart(0, "div", 47)(1, "div", 49)(2, "label");
|
|
197
196
|
i0.ɵɵtext(3, "Action");
|
|
198
197
|
i0.ɵɵelementEnd();
|
|
199
|
-
i0.ɵɵelementStart(4, "label",
|
|
200
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
201
|
-
i0.ɵɵlistener("change", function
|
|
198
|
+
i0.ɵɵelementStart(4, "label", 50)(5, "input", 51);
|
|
199
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.versionAction, $event) || (ctx_r0.versionAction = $event); return i0.ɵɵresetView($event); });
|
|
200
|
+
i0.ɵɵlistener("change", function ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Template_input_change_5_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.selectedVersion = null); });
|
|
202
201
|
i0.ɵɵelementEnd();
|
|
203
202
|
i0.ɵɵelementStart(6, "span");
|
|
204
203
|
i0.ɵɵtext(7);
|
|
205
204
|
i0.ɵɵelementEnd()();
|
|
206
|
-
i0.ɵɵelementStart(8, "label",
|
|
207
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
205
|
+
i0.ɵɵelementStart(8, "label", 50)(9, "input", 52);
|
|
206
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Template_input_ngModelChange_9_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.versionAction, $event) || (ctx_r0.versionAction = $event); return i0.ɵɵresetView($event); });
|
|
208
207
|
i0.ɵɵelementEnd();
|
|
209
208
|
i0.ɵɵelementStart(10, "span");
|
|
210
209
|
i0.ɵɵtext(11, "Update Existing Version");
|
|
211
210
|
i0.ɵɵelementEnd()()();
|
|
212
|
-
i0.ɵɵconditionalCreate(12,
|
|
211
|
+
i0.ɵɵconditionalCreate(12, ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Conditional_12_Template, 6, 1);
|
|
213
212
|
i0.ɵɵelementEnd();
|
|
214
213
|
} if (rf & 2) {
|
|
215
214
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
@@ -222,9 +221,9 @@ function ArtifactSelectionDialogComponent_Conditional_34_Conditional_5_Template(
|
|
|
222
221
|
i0.ɵɵadvance(3);
|
|
223
222
|
i0.ɵɵconditional(ctx_r0.versionAction === "update" ? 12 : -1);
|
|
224
223
|
} }
|
|
225
|
-
function
|
|
226
|
-
i0.ɵɵelementStart(0, "div",
|
|
227
|
-
i0.ɵɵelement(1, "i",
|
|
224
|
+
function ArtifactSelectionDialogComponent_Conditional_30_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
225
|
+
i0.ɵɵelementStart(0, "div", 48);
|
|
226
|
+
i0.ɵɵelement(1, "i", 62);
|
|
228
227
|
i0.ɵɵelementStart(2, "p");
|
|
229
228
|
i0.ɵɵtext(3, "No versions available for this artifact.");
|
|
230
229
|
i0.ɵɵelementEnd();
|
|
@@ -232,12 +231,12 @@ function ArtifactSelectionDialogComponent_Conditional_34_Conditional_6_Template(
|
|
|
232
231
|
i0.ɵɵtext(5, "A new version will be created.");
|
|
233
232
|
i0.ɵɵelementEnd()();
|
|
234
233
|
} }
|
|
235
|
-
function
|
|
236
|
-
i0.ɵɵelementStart(0, "div",
|
|
237
|
-
i0.ɵɵelement(3, "i",
|
|
234
|
+
function ArtifactSelectionDialogComponent_Conditional_30_Template(rf, ctx) { if (rf & 1) {
|
|
235
|
+
i0.ɵɵelementStart(0, "div", 22)(1, "div", 3)(2, "h4");
|
|
236
|
+
i0.ɵɵelement(3, "i", 46);
|
|
238
237
|
i0.ɵɵtext(4, " Version");
|
|
239
238
|
i0.ɵɵelementEnd()();
|
|
240
|
-
i0.ɵɵconditionalCreate(5,
|
|
239
|
+
i0.ɵɵconditionalCreate(5, ArtifactSelectionDialogComponent_Conditional_30_Conditional_5_Template, 13, 4, "div", 47)(6, ArtifactSelectionDialogComponent_Conditional_30_Conditional_6_Template, 6, 0, "div", 48);
|
|
241
240
|
i0.ɵɵelementEnd();
|
|
242
241
|
} if (rf & 2) {
|
|
243
242
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -245,8 +244,8 @@ function ArtifactSelectionDialogComponent_Conditional_34_Template(rf, ctx) { if
|
|
|
245
244
|
i0.ɵɵconditional(ctx_r0.artifactVersions.length > 0 ? 5 : 6);
|
|
246
245
|
} }
|
|
247
246
|
export class ArtifactSelectionDialogComponent {
|
|
248
|
-
|
|
249
|
-
|
|
247
|
+
Visible = false;
|
|
248
|
+
Close = new EventEmitter();
|
|
250
249
|
// Data
|
|
251
250
|
artifacts = [];
|
|
252
251
|
artifactVersions = [];
|
|
@@ -273,10 +272,7 @@ export class ArtifactSelectionDialogComponent {
|
|
|
273
272
|
currentUser = null;
|
|
274
273
|
destroy$ = new Subject();
|
|
275
274
|
searchSubject = new Subject();
|
|
276
|
-
|
|
277
|
-
this.dialog = dialog;
|
|
278
|
-
this.notificationService = notificationService;
|
|
279
|
-
}
|
|
275
|
+
notificationService = inject(MJNotificationService);
|
|
280
276
|
async ngOnInit() {
|
|
281
277
|
// Setup search debouncing
|
|
282
278
|
this.searchSubject.pipe(debounceTime(300), distinctUntilChanged(), takeUntil(this.destroy$)).subscribe(() => {
|
|
@@ -445,7 +441,7 @@ export class ArtifactSelectionDialogComponent {
|
|
|
445
441
|
return `Save as Version ${this.getNextVersionNumber()}`;
|
|
446
442
|
}
|
|
447
443
|
cancel() {
|
|
448
|
-
this.
|
|
444
|
+
this.Close.emit(undefined);
|
|
449
445
|
}
|
|
450
446
|
async save() {
|
|
451
447
|
if (!this.canSave())
|
|
@@ -458,7 +454,7 @@ export class ArtifactSelectionDialogComponent {
|
|
|
458
454
|
artifact: newArtifact,
|
|
459
455
|
action: 'new-version'
|
|
460
456
|
};
|
|
461
|
-
this.
|
|
457
|
+
this.Close.emit(result);
|
|
462
458
|
}
|
|
463
459
|
return;
|
|
464
460
|
}
|
|
@@ -475,7 +471,7 @@ export class ArtifactSelectionDialogComponent {
|
|
|
475
471
|
if (!confirm)
|
|
476
472
|
return;
|
|
477
473
|
}
|
|
478
|
-
this.
|
|
474
|
+
this.Close.emit(result);
|
|
479
475
|
}
|
|
480
476
|
}
|
|
481
477
|
async createNewArtifact() {
|
|
@@ -525,95 +521,93 @@ export class ArtifactSelectionDialogComponent {
|
|
|
525
521
|
IsVersionSelected(version) {
|
|
526
522
|
return UUIDsEqual(this.selectedVersion?.ID, version.ID);
|
|
527
523
|
}
|
|
528
|
-
static ɵfac = function ArtifactSelectionDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ArtifactSelectionDialogComponent)(
|
|
529
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ArtifactSelectionDialogComponent, selectors: [["app-artifact-selection-dialog"]], standalone: false, decls:
|
|
530
|
-
i0.ɵɵelementStart(0, "
|
|
531
|
-
i0.ɵɵlistener("
|
|
532
|
-
i0.ɵɵelementStart(
|
|
533
|
-
i0.ɵɵ
|
|
534
|
-
i0.ɵɵ
|
|
524
|
+
static ɵfac = function ArtifactSelectionDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ArtifactSelectionDialogComponent)(); };
|
|
525
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ArtifactSelectionDialogComponent, selectors: [["app-artifact-selection-dialog"]], inputs: { Visible: "Visible" }, outputs: { Close: "Close" }, standalone: false, decls: 37, vars: 21, consts: [["Title", "Save Component to Artifact", 3, "Close", "Visible", "Width", "MinWidth"], [1, "artifact-selection-content"], [1, "filter-panel"], [1, "panel-header"], ["mjButton", "", "variant", "flat", 3, "click"], [1, "fa-solid", "fa-filter"], [1, "filter-count"], [1, "filter-content"], [1, "main-content"], [1, "paging-controls"], ["mjButton", "", 3, "click", "disabled"], [1, "fa-solid", "fa-chevron-left"], [1, "page-info"], [1, "fa-solid", "fa-chevron-right"], [1, "artifacts-list"], [1, "loading-state"], [1, "empty-state"], [1, "create-section"], [1, "divider"], ["mjButton", "", "variant", "primary", 1, "create-btn", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "new-artifact-form"], [1, "version-panel"], ["mjButton", "", 3, "click", "variant", "disabled"], [1, "fa-solid", "fa-save"], ["mjButton", "", 3, "click"], [1, "filter-group"], ["type", "text", "placeholder", "Name or description...", 1, "filter-input", 3, "ngModelChange", "input", "ngModel"], [1, "filter-select", 3, "ngModelChange", "change", "ngModel"], ["value", ""], ["value", "Component"], ["value", "Report"], ["value", "Dashboard"], ["type", "text", "placeholder", "Enter user email...", 1, "filter-input", 3, "ngModelChange", "input", "ngModel"], ["text", "Loading artifacts...", "size", "small"], [1, "fa-solid", "fa-inbox"], [1, "artifact-item", 3, "selected"], [1, "artifact-item", 3, "click"], [1, "artifact-content"], [1, "artifact-main"], [1, "artifact-name"], [1, "fa-solid", "fa-file-code"], [1, "artifact-description"], [1, "artifact-meta"], ["placeholder", "Artifact name...", 1, "mj-input", 3, "ngModelChange", "ngModel"], ["placeholder", "Description (optional)...", 1, "mj-textarea", 3, "ngModelChange", "ngModel"], [1, "fa-solid", "fa-code-branch"], [1, "version-content"], [1, "info-state"], [1, "version-actions"], [1, "radio-label"], ["type", "radio", "name", "versionAction", "value", "new", 3, "ngModelChange", "change", "ngModel"], ["type", "radio", "name", "versionAction", "value", "update", 3, "ngModelChange", "ngModel"], [1, "version-selection"], [1, "version-item", 3, "selected"], [1, "warning"], [1, "version-item"], ["type", "radio", "name", "selectedVersion", 3, "ngModelChange", "value", "ngModel"], [1, "version-info"], [1, "version-number"], [1, "version-date"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "fa-solid", "fa-info-circle"]], template: function ArtifactSelectionDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
526
|
+
i0.ɵɵelementStart(0, "mj-dialog", 0);
|
|
527
|
+
i0.ɵɵlistener("Close", function ArtifactSelectionDialogComponent_Template_mj_dialog_Close_0_listener() { return ctx.cancel(); });
|
|
528
|
+
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
529
|
+
i0.ɵɵconditionalCreate(4, ArtifactSelectionDialogComponent_Conditional_4_Template, 2, 0, "span");
|
|
530
|
+
i0.ɵɵelementStart(5, "button", 4);
|
|
531
|
+
i0.ɵɵlistener("click", function ArtifactSelectionDialogComponent_Template_button_click_5_listener() { return ctx.toggleFilterPanel(); });
|
|
532
|
+
i0.ɵɵelement(6, "i", 5);
|
|
533
|
+
i0.ɵɵconditionalCreate(7, ArtifactSelectionDialogComponent_Conditional_7_Template, 2, 1, "span", 6);
|
|
535
534
|
i0.ɵɵelementEnd()();
|
|
536
|
-
i0.ɵɵ
|
|
537
|
-
i0.ɵɵconditionalCreate(8, ArtifactSelectionDialogComponent_Conditional_8_Template, 2, 0, "span");
|
|
538
|
-
i0.ɵɵelementStart(9, "button", 6);
|
|
539
|
-
i0.ɵɵlistener("click", function ArtifactSelectionDialogComponent_Template_button_click_9_listener() { return ctx.toggleFilterPanel(); });
|
|
540
|
-
i0.ɵɵelement(10, "i", 7);
|
|
541
|
-
i0.ɵɵconditionalCreate(11, ArtifactSelectionDialogComponent_Conditional_11_Template, 2, 1, "span", 8);
|
|
542
|
-
i0.ɵɵelementEnd()();
|
|
543
|
-
i0.ɵɵconditionalCreate(12, ArtifactSelectionDialogComponent_Conditional_12_Template, 21, 3, "div", 9);
|
|
535
|
+
i0.ɵɵconditionalCreate(8, ArtifactSelectionDialogComponent_Conditional_8_Template, 21, 3, "div", 7);
|
|
544
536
|
i0.ɵɵelementEnd();
|
|
545
|
-
i0.ɵɵelementStart(
|
|
546
|
-
i0.ɵɵlistener("click", function
|
|
547
|
-
i0.ɵɵelement(
|
|
548
|
-
i0.ɵɵtext(
|
|
537
|
+
i0.ɵɵelementStart(9, "div", 8)(10, "div", 9)(11, "button", 10);
|
|
538
|
+
i0.ɵɵlistener("click", function ArtifactSelectionDialogComponent_Template_button_click_11_listener() { return ctx.previousPage(); });
|
|
539
|
+
i0.ɵɵelement(12, "i", 11);
|
|
540
|
+
i0.ɵɵtext(13, " Previous ");
|
|
549
541
|
i0.ɵɵelementEnd();
|
|
550
|
-
i0.ɵɵelementStart(
|
|
551
|
-
i0.ɵɵtext(
|
|
542
|
+
i0.ɵɵelementStart(14, "span", 12);
|
|
543
|
+
i0.ɵɵtext(15);
|
|
552
544
|
i0.ɵɵelementEnd();
|
|
553
|
-
i0.ɵɵelementStart(
|
|
554
|
-
i0.ɵɵlistener("click", function
|
|
555
|
-
i0.ɵɵtext(
|
|
556
|
-
i0.ɵɵelement(
|
|
545
|
+
i0.ɵɵelementStart(16, "button", 10);
|
|
546
|
+
i0.ɵɵlistener("click", function ArtifactSelectionDialogComponent_Template_button_click_16_listener() { return ctx.nextPage(); });
|
|
547
|
+
i0.ɵɵtext(17, " Next ");
|
|
548
|
+
i0.ɵɵelement(18, "i", 13);
|
|
557
549
|
i0.ɵɵelementEnd()();
|
|
558
|
-
i0.ɵɵelementStart(
|
|
559
|
-
i0.ɵɵconditionalCreate(
|
|
550
|
+
i0.ɵɵelementStart(19, "div", 14);
|
|
551
|
+
i0.ɵɵconditionalCreate(20, ArtifactSelectionDialogComponent_Conditional_20_Template, 2, 0, "div", 15)(21, ArtifactSelectionDialogComponent_Conditional_21_Template, 4, 0, "div", 16)(22, ArtifactSelectionDialogComponent_Conditional_22_Template, 2, 0);
|
|
560
552
|
i0.ɵɵelementEnd();
|
|
561
|
-
i0.ɵɵelementStart(
|
|
562
|
-
i0.ɵɵtext(
|
|
553
|
+
i0.ɵɵelementStart(23, "div", 17)(24, "div", 18);
|
|
554
|
+
i0.ɵɵtext(25, "OR CREATE NEW ARTIFACT");
|
|
563
555
|
i0.ɵɵelementEnd();
|
|
564
|
-
i0.ɵɵelementStart(
|
|
565
|
-
i0.ɵɵlistener("click", function
|
|
566
|
-
i0.ɵɵelement(
|
|
567
|
-
i0.ɵɵtext(
|
|
556
|
+
i0.ɵɵelementStart(26, "button", 19);
|
|
557
|
+
i0.ɵɵlistener("click", function ArtifactSelectionDialogComponent_Template_button_click_26_listener() { return ctx.selectCreateNew(); });
|
|
558
|
+
i0.ɵɵelement(27, "i", 20);
|
|
559
|
+
i0.ɵɵtext(28, " Create New Artifact ");
|
|
568
560
|
i0.ɵɵelementEnd();
|
|
569
|
-
i0.ɵɵconditionalCreate(
|
|
561
|
+
i0.ɵɵconditionalCreate(29, ArtifactSelectionDialogComponent_Conditional_29_Template, 4, 2, "div", 21);
|
|
570
562
|
i0.ɵɵelementEnd()();
|
|
571
|
-
i0.ɵɵconditionalCreate(
|
|
563
|
+
i0.ɵɵconditionalCreate(30, ArtifactSelectionDialogComponent_Conditional_30_Template, 7, 1, "div", 22);
|
|
572
564
|
i0.ɵɵelementEnd();
|
|
573
|
-
i0.ɵɵelementStart(
|
|
574
|
-
i0.ɵɵlistener("click", function
|
|
575
|
-
i0.ɵɵelement(
|
|
576
|
-
i0.ɵɵtext(
|
|
565
|
+
i0.ɵɵelementStart(31, "mj-dialog-actions")(32, "button", 23);
|
|
566
|
+
i0.ɵɵlistener("click", function ArtifactSelectionDialogComponent_Template_button_click_32_listener() { return ctx.save(); });
|
|
567
|
+
i0.ɵɵelement(33, "i", 24);
|
|
568
|
+
i0.ɵɵtext(34);
|
|
577
569
|
i0.ɵɵelementEnd();
|
|
578
|
-
i0.ɵɵelementStart(
|
|
579
|
-
i0.ɵɵlistener("click", function
|
|
580
|
-
i0.ɵɵtext(
|
|
570
|
+
i0.ɵɵelementStart(35, "button", 25);
|
|
571
|
+
i0.ɵɵlistener("click", function ArtifactSelectionDialogComponent_Template_button_click_35_listener() { return ctx.cancel(); });
|
|
572
|
+
i0.ɵɵtext(36, "Cancel");
|
|
581
573
|
i0.ɵɵelementEnd()()();
|
|
582
574
|
} if (rf & 2) {
|
|
583
|
-
i0.ɵɵ
|
|
575
|
+
i0.ɵɵproperty("Visible", true)("Width", 1200)("MinWidth", 600);
|
|
576
|
+
i0.ɵɵadvance(2);
|
|
584
577
|
i0.ɵɵstyleProp("width", ctx.isFilterPanelCollapsed ? "40px" : "280px");
|
|
585
578
|
i0.ɵɵadvance(2);
|
|
586
|
-
i0.ɵɵconditional(!ctx.isFilterPanelCollapsed ?
|
|
579
|
+
i0.ɵɵconditional(!ctx.isFilterPanelCollapsed ? 4 : -1);
|
|
587
580
|
i0.ɵɵadvance();
|
|
588
581
|
i0.ɵɵclassProp("filter-active", ctx.getActiveFilterCount() > 0);
|
|
589
|
-
i0.ɵɵproperty("fillMode", "flat")("themeColor", ctx.getActiveFilterCount() > 0 ? "primary" : "base");
|
|
590
582
|
i0.ɵɵadvance(2);
|
|
591
|
-
i0.ɵɵconditional(ctx.isFilterPanelCollapsed && ctx.getActiveFilterCount() > 0 ?
|
|
583
|
+
i0.ɵɵconditional(ctx.isFilterPanelCollapsed && ctx.getActiveFilterCount() > 0 ? 7 : -1);
|
|
592
584
|
i0.ɵɵadvance();
|
|
593
|
-
i0.ɵɵconditional(!ctx.isFilterPanelCollapsed ?
|
|
585
|
+
i0.ɵɵconditional(!ctx.isFilterPanelCollapsed ? 8 : -1);
|
|
594
586
|
i0.ɵɵadvance(3);
|
|
595
|
-
i0.ɵɵproperty("disabled", !ctx.canGoPrevious())
|
|
587
|
+
i0.ɵɵproperty("disabled", !ctx.canGoPrevious());
|
|
596
588
|
i0.ɵɵadvance(4);
|
|
597
589
|
i0.ɵɵtextInterpolate3(" Page ", ctx.currentPage + 1, " of ", ctx.getTotalPages(), " (", ctx.totalArtifacts, " total items) ");
|
|
598
590
|
i0.ɵɵadvance();
|
|
599
|
-
i0.ɵɵproperty("disabled", !ctx.canGoNext())
|
|
591
|
+
i0.ɵɵproperty("disabled", !ctx.canGoNext());
|
|
600
592
|
i0.ɵɵadvance(4);
|
|
601
|
-
i0.ɵɵconditional(ctx.isLoading ?
|
|
602
|
-
i0.ɵɵadvance(
|
|
603
|
-
i0.ɵɵ
|
|
604
|
-
i0.ɵɵadvance(3);
|
|
605
|
-
i0.ɵɵconditional(ctx.showNewArtifactForm ? 33 : -1);
|
|
593
|
+
i0.ɵɵconditional(ctx.isLoading ? 20 : ctx.artifacts.length === 0 ? 21 : 22);
|
|
594
|
+
i0.ɵɵadvance(9);
|
|
595
|
+
i0.ɵɵconditional(ctx.showNewArtifactForm ? 29 : -1);
|
|
606
596
|
i0.ɵɵadvance();
|
|
607
|
-
i0.ɵɵconditional(ctx.selectedArtifact ?
|
|
597
|
+
i0.ɵɵconditional(ctx.selectedArtifact ? 30 : -1);
|
|
608
598
|
i0.ɵɵadvance(2);
|
|
609
|
-
i0.ɵɵproperty("
|
|
599
|
+
i0.ɵɵproperty("variant", ctx.versionAction === "update" && ctx.selectedVersion ? "warning" : "primary")("disabled", !ctx.canSave());
|
|
610
600
|
i0.ɵɵadvance(2);
|
|
611
601
|
i0.ɵɵtextInterpolate1(" ", ctx.getSaveButtonText(), " ");
|
|
612
|
-
} }, dependencies: [
|
|
602
|
+
} }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.RadioControlValueAccessor, i1.NgControlStatus, i1.NgModel, i2.LoadingComponent, i3.MJButtonDirective, i3.MJDialogComponent, i3.MJDialogActionsComponent, i4.DatePipe], styles: ["\n\n.artifact-selection-content[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: row;\n}\n\n\n\n.filter-panel[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n border-right: 1px solid var(--mj-border-default);\n transition: width 0.3s ease;\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px;\n border-bottom: 1px solid var(--mj-border-default);\n font-weight: bold;\n color: var(--mj-text-secondary);\n}\n\n.filter-content[_ngcontent-%COMP%] {\n flex: 1;\n padding: 15px;\n overflow-y: auto;\n}\n\n.filter-group[_ngcontent-%COMP%] {\n margin-bottom: 15px;\n}\n\n.filter-group[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n display: block;\n margin-bottom: 5px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.filter-input[_ngcontent-%COMP%], \n.filter-select[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 4px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.filter-input[_ngcontent-%COMP%]:focus, \n.filter-select[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n\n\n.main-content[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n flex: 2;\n min-width: 0; \n\n}\n\n.paging-controls[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 15px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.page-info[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 14px;\n}\n\n.artifacts-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 0 15px;\n}\n\n.loading-state[_ngcontent-%COMP%], \n.empty-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 40px;\n color: var(--mj-text-secondary);\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 15px;\n color: var(--mj-text-muted);\n}\n\n.create-section[_ngcontent-%COMP%] {\n padding: 15px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.create-btn[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.new-artifact-form[_ngcontent-%COMP%] {\n margin-top: 15px;\n}\n\n.new-artifact-form[_ngcontent-%COMP%] .mj-input[_ngcontent-%COMP%] {\n width: 100%;\n margin-bottom: 10px;\n}\n\n.new-artifact-form[_ngcontent-%COMP%] .mj-textarea[_ngcontent-%COMP%] {\n width: 100%;\n height: 60px;\n}\n\n.divider[_ngcontent-%COMP%] {\n text-align: center;\n padding: 10px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n font-size: 12px;\n margin-bottom: 10px;\n}\n\n.artifact-item[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin: 10px 0;\n padding: 15px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.artifact-item[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.artifact-item.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.artifact-content[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.artifact-main[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.artifact-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n margin-bottom: 5px;\n}\n\n.artifact-name[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n margin-right: 8px;\n}\n\n.artifact-name[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.artifact-description[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 14px;\n margin-bottom: 8px;\n}\n\n.artifact-meta[_ngcontent-%COMP%] {\n text-align: right;\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n\n\n.version-panel[_ngcontent-%COMP%] {\n width: 320px;\n height: 100%;\n display: flex;\n flex-direction: column;\n border-left: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.version-content[_ngcontent-%COMP%] {\n flex: 1;\n padding: 15px;\n overflow-y: auto;\n}\n\n.version-actions[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.version-actions[_ngcontent-%COMP%] label[_ngcontent-%COMP%]:first-child {\n display: block;\n margin-bottom: 10px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.radio-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n margin-bottom: 8px;\n cursor: pointer;\n}\n\n.radio-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin-right: 8px;\n}\n\n.version-selection[_ngcontent-%COMP%] {\n margin-bottom: 15px;\n}\n\n.version-selection[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]:first-child {\n display: block;\n margin-bottom: 8px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.version-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n margin-bottom: 8px;\n padding: 8px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n cursor: pointer;\n}\n\n.version-item.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.version-item[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin-right: 8px;\n}\n\n.version-info[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.version-number[_ngcontent-%COMP%] {\n font-weight: 500;\n}\n\n.version-date[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.warning[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border: 1px solid var(--mj-status-warning);\n border-radius: 4px;\n padding: 10px;\n}\n\n.warning[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n margin-right: 5px;\n}\n\n.warning[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n font-size: 14px;\n}\n\n.info-state[_ngcontent-%COMP%], \n.empty-state[_ngcontent-%COMP%] {\n padding: 15px;\n text-align: center;\n color: var(--mj-text-secondary);\n}\n\n.info-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-bottom: 10px;\n font-size: 24px;\n}\n\n.info-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%], \n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 5px 0;\n}\n\n.info-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child {\n font-size: 14px;\n}\n\n\n\n.filter-count[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n border-radius: 50%;\n min-width: 18px;\n height: 18px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n font-weight: bold;\n margin-left: 4px;\n}\n\n.filter-active[_ngcontent-%COMP%] .filter-count[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n}"] });
|
|
613
603
|
}
|
|
614
604
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ArtifactSelectionDialogComponent, [{
|
|
615
605
|
type: Component,
|
|
616
|
-
args: [{ standalone: false, selector: 'app-artifact-selection-dialog', template: "<div>\n <kendo-dialog-titlebar (close)=\"cancel()\">\n <div style=\"font-size: 18px;\">\n <i class=\"fa-solid fa-save\"></i> Save Component to Artifact\n </div>\n </kendo-dialog-titlebar>\n\n <div class=\"artifact-selection-content\">\n <!-- Left Filter Panel -->\n <div class=\"filter-panel\" [style.width]=\"isFilterPanelCollapsed ? '40px' : '280px'\">\n <!-- Panel Header -->\n <div class=\"panel-header\">\n @if (!isFilterPanelCollapsed) {\n <span>Filters</span>\n }\n <button kendoButton (click)=\"toggleFilterPanel()\" \n [fillMode]=\"'flat'\"\n [class.filter-active]=\"getActiveFilterCount() > 0\"\n [themeColor]=\"getActiveFilterCount() > 0 ? 'primary' : 'base'\">\n <i class=\"fa-solid fa-filter\"></i>\n @if (isFilterPanelCollapsed && getActiveFilterCount() > 0) {\n <span class=\"filter-count\">{{ getActiveFilterCount() }}</span>\n }\n </button>\n </div>\n\n @if (!isFilterPanelCollapsed) {\n <div class=\"filter-content\">\n <!-- Search -->\n <div class=\"filter-group\">\n <label>Search</label>\n <input type=\"text\" \n [(ngModel)]=\"searchTerm\"\n (input)=\"onSearchInput()\"\n placeholder=\"Name or description...\"\n class=\"filter-input\">\n </div>\n\n <!-- Artifact Type -->\n <div class=\"filter-group\">\n <label>Artifact Type</label>\n <select [(ngModel)]=\"selectedArtifactType\" \n (change)=\"onArtifactTypeChange()\"\n class=\"filter-select\">\n <option value=\"\">All Types</option>\n <option value=\"Component\">Component</option>\n <option value=\"Report\">Report</option>\n <option value=\"Dashboard\">Dashboard</option>\n </select>\n </div>\n \n <!-- User Email -->\n <div class=\"filter-group\">\n <label>Filter by User</label>\n <input type=\"text\" \n [(ngModel)]=\"userEmail\"\n (input)=\"filterArtifacts()\"\n placeholder=\"Enter user email...\"\n class=\"filter-input\">\n </div>\n </div>\n }\n </div>\n\n <!-- Main Content Area -->\n <div class=\"main-content\">\n <!-- Paging Controls -->\n <div class=\"paging-controls\">\n <button kendoButton \n (click)=\"previousPage()\" \n [disabled]=\"!canGoPrevious()\"\n [themeColor]=\"'base'\">\n <i class=\"fa-solid fa-chevron-left\"></i> Previous\n </button>\n <span class=\"page-info\">\n Page {{ currentPage + 1 }} of {{ getTotalPages() }}\n ({{ totalArtifacts }} total items)\n </span>\n <button kendoButton \n (click)=\"nextPage()\" \n [disabled]=\"!canGoNext()\"\n [themeColor]=\"'base'\">\n Next <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n\n <!-- Existing Artifacts -->\n <div class=\"artifacts-list\">\n @if (isLoading) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading artifacts...\" size=\"small\"></mj-loading>\n </div>\n } \n @else if (artifacts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No artifacts found</p>\n </div>\n } \n @else {\n @for (artifact of artifacts; track artifact.ID) {\n <div class=\"artifact-item\" \n [class.selected]=\"IsArtifactSelected(artifact)\"\n (click)=\"selectArtifact(artifact)\">\n <div class=\"artifact-content\">\n <div class=\"artifact-main\">\n <div class=\"artifact-name\">\n <i class=\"fa-solid fa-file-code\"></i>\n <span>{{ artifact.Name }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"artifact-description\">\n {{ artifact.Description }}\n </div>\n }\n </div>\n <div class=\"artifact-meta\">\n <div>{{ artifact.Type }}</div>\n <div>{{ artifact.__mj_UpdatedAt | date:'short' }}</div>\n </div>\n </div>\n </div>\n }\n }\n </div>\n \n <!-- Create New Artifact Section (at bottom) -->\n <div class=\"create-section\">\n <div class=\"divider\">OR CREATE NEW ARTIFACT</div>\n \n <button kendoButton \n (click)=\"selectCreateNew()\"\n [themeColor]=\"'primary'\"\n class=\"create-btn\">\n <i class=\"fa-solid fa-plus\"></i> Create New Artifact\n </button>\n \n @if (showNewArtifactForm) {\n <div class=\"new-artifact-form\">\n <kendo-textbox \n [(value)]=\"newArtifactName\"\n placeholder=\"Artifact name...\">\n </kendo-textbox>\n <kendo-textarea \n [(value)]=\"newArtifactDescription\"\n placeholder=\"Description (optional)...\">\n </kendo-textarea>\n </div>\n }\n </div>\n </div>\n\n <!-- Right Version Panel (only show when artifact selected) -->\n @if (selectedArtifact) {\n <div class=\"version-panel\">\n <div class=\"panel-header\">\n <h4><i class=\"fa-solid fa-code-branch\"></i> Version</h4>\n </div>\n \n @if (artifactVersions.length > 0) {\n <div class=\"version-content\">\n <div class=\"version-actions\">\n <label>Action</label>\n <label class=\"radio-label\">\n <input type=\"radio\" \n name=\"versionAction\" \n value=\"new\"\n [(ngModel)]=\"versionAction\"\n (change)=\"selectedVersion = null\">\n <span>Create New Version (v{{ getNextVersionNumber() }})</span>\n </label>\n \n <label class=\"radio-label\">\n <input type=\"radio\" \n name=\"versionAction\" \n value=\"update\"\n [(ngModel)]=\"versionAction\">\n <span>Update Existing Version</span>\n </label>\n </div>\n \n @if (versionAction === 'update') {\n <div class=\"version-selection\">\n <label>Select Version</label>\n @for (version of artifactVersions; track version.ID) {\n <label class=\"version-item\" \n [class.selected]=\"IsVersionSelected(version)\">\n <input type=\"radio\"\n name=\"selectedVersion\"\n [value]=\"version\"\n [(ngModel)]=\"selectedVersion\">\n <div class=\"version-info\">\n <div class=\"version-number\">Version {{ version.VersionNumber }}</div>\n <div class=\"version-date\">{{ version.__mj_UpdatedAt | date:'short' }}</div>\n </div>\n </label>\n }\n </div>\n \n @if (selectedVersion) {\n <div class=\"warning\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n <span>Warning: This will overwrite version {{ selectedVersion.VersionNumber }}</span>\n </div>\n }\n }\n </div>\n } @else {\n <div class=\"info-state\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <p>No versions available for this artifact.</p>\n <p>A new version will be created.</p>\n </div>\n }\n </div>\n }\n </div>\n\n <kendo-dialog-actions>\n <button kendoButton \n [themeColor]=\"versionAction === 'update' && selectedVersion ? 'warning' : 'primary'\" \n (click)=\"save()\"\n [disabled]=\"!canSave()\">\n <i class=\"fa-solid fa-save\"></i> \n {{ getSaveButtonText() }}\n </button>\n <button kendoButton (click)=\"cancel()\">Cancel</button>\n </kendo-dialog-actions>\n</div>\n", styles: ["/* Main container */\n.artifact-selection-content {\n height: 100%;\n display: flex;\n flex-direction: row;\n}\n\n/* Filter Panel */\n.filter-panel {\n height: 100%;\n display: flex;\n flex-direction: column;\n border-right: 1px solid var(--mj-border-default);\n transition: width 0.3s ease;\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px;\n border-bottom: 1px solid var(--mj-border-default);\n font-weight: bold;\n color: var(--mj-text-secondary);\n}\n\n.filter-content {\n flex: 1;\n padding: 15px;\n overflow-y: auto;\n}\n\n.filter-group {\n margin-bottom: 15px;\n}\n\n.filter-group label {\n display: block;\n margin-bottom: 5px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.filter-input,\n.filter-select {\n width: 100%;\n padding: 8px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 4px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.filter-input:focus,\n.filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n/* Main Content Panel */\n.main-content {\n height: 100%;\n display: flex;\n flex-direction: column;\n flex: 2;\n min-width: 0; /* Prevents flex item from growing beyond container */\n}\n\n.paging-controls {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 15px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.page-info {\n color: var(--mj-text-secondary);\n font-size: 14px;\n}\n\n.artifacts-list {\n flex: 1;\n overflow-y: auto;\n padding: 0 15px;\n}\n\n.loading-state,\n.empty-state {\n text-align: center;\n padding: 40px;\n color: var(--mj-text-secondary);\n}\n\n.empty-state i {\n font-size: 48px;\n margin-bottom: 15px;\n color: var(--mj-text-muted);\n}\n\n.create-section {\n padding: 15px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.create-btn {\n width: 100%;\n}\n\n.new-artifact-form {\n margin-top: 15px;\n}\n\n.new-artifact-form kendo-textbox {\n width: 100%;\n margin-bottom: 10px;\n}\n\n.new-artifact-form kendo-textarea {\n width: 100%;\n height: 60px;\n}\n\n.divider {\n text-align: center;\n padding: 10px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n font-size: 12px;\n margin-bottom: 10px;\n}\n\n.artifact-item {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin: 10px 0;\n padding: 15px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.artifact-item:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.artifact-item.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.artifact-content {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.artifact-main {\n flex: 1;\n}\n\n.artifact-name {\n display: flex;\n align-items: center;\n margin-bottom: 5px;\n}\n\n.artifact-name i {\n color: var(--mj-text-secondary);\n margin-right: 8px;\n}\n\n.artifact-name span {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.artifact-description {\n color: var(--mj-text-secondary);\n font-size: 14px;\n margin-bottom: 8px;\n}\n\n.artifact-meta {\n text-align: right;\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n/* Version Panel */\n.version-panel {\n width: 320px;\n height: 100%;\n display: flex;\n flex-direction: column;\n border-left: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.version-content {\n flex: 1;\n padding: 15px;\n overflow-y: auto;\n}\n\n.version-actions {\n margin-bottom: 20px;\n}\n\n.version-actions label:first-child {\n display: block;\n margin-bottom: 10px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.radio-label {\n display: flex;\n align-items: center;\n margin-bottom: 8px;\n cursor: pointer;\n}\n\n.radio-label input {\n margin-right: 8px;\n}\n\n.version-selection {\n margin-bottom: 15px;\n}\n\n.version-selection > label:first-child {\n display: block;\n margin-bottom: 8px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.version-item {\n display: flex;\n align-items: center;\n margin-bottom: 8px;\n padding: 8px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n cursor: pointer;\n}\n\n.version-item.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.version-item input {\n margin-right: 8px;\n}\n\n.version-info {\n flex: 1;\n}\n\n.version-number {\n font-weight: 500;\n}\n\n.version-date {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.warning {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border: 1px solid var(--mj-status-warning);\n border-radius: 4px;\n padding: 10px;\n}\n\n.warning i {\n color: var(--mj-status-warning);\n margin-right: 5px;\n}\n\n.warning span {\n color: var(--mj-status-warning);\n font-size: 14px;\n}\n\n.info-state,\n.empty-state {\n padding: 15px;\n text-align: center;\n color: var(--mj-text-secondary);\n}\n\n.info-state i,\n.empty-state i {\n margin-bottom: 10px;\n font-size: 24px;\n}\n\n.info-state p,\n.empty-state p {\n margin: 5px 0;\n}\n\n.info-state p:last-child {\n font-size: 14px;\n}\n\n/* Filter button styling */\n.filter-count {\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n border-radius: 50%;\n min-width: 18px;\n height: 18px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n font-weight: bold;\n margin-left: 4px;\n}\n\n.filter-active .filter-count {\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n}\n"] }]
|
|
617
|
-
}],
|
|
618
|
-
|
|
606
|
+
args: [{ standalone: false, selector: 'app-artifact-selection-dialog', template: "<mj-dialog [Visible]=\"true\" Title=\"Save Component to Artifact\" (Close)=\"cancel()\" [Width]=\"1200\" [MinWidth]=\"600\">\n <div class=\"artifact-selection-content\">\n <!-- Left Filter Panel -->\n <div class=\"filter-panel\" [style.width]=\"isFilterPanelCollapsed ? '40px' : '280px'\">\n <!-- Panel Header -->\n <div class=\"panel-header\">\n @if (!isFilterPanelCollapsed) {\n <span>Filters</span>\n }\n <button mjButton (click)=\"toggleFilterPanel()\"\n variant=\"flat\"\n [class.filter-active]=\"getActiveFilterCount() > 0\">\n <i class=\"fa-solid fa-filter\"></i>\n @if (isFilterPanelCollapsed && getActiveFilterCount() > 0) {\n <span class=\"filter-count\">{{ getActiveFilterCount() }}</span>\n }\n </button>\n </div>\n\n @if (!isFilterPanelCollapsed) {\n <div class=\"filter-content\">\n <!-- Search -->\n <div class=\"filter-group\">\n <label>Search</label>\n <input type=\"text\" \n [(ngModel)]=\"searchTerm\"\n (input)=\"onSearchInput()\"\n placeholder=\"Name or description...\"\n class=\"filter-input\">\n </div>\n\n <!-- Artifact Type -->\n <div class=\"filter-group\">\n <label>Artifact Type</label>\n <select [(ngModel)]=\"selectedArtifactType\" \n (change)=\"onArtifactTypeChange()\"\n class=\"filter-select\">\n <option value=\"\">All Types</option>\n <option value=\"Component\">Component</option>\n <option value=\"Report\">Report</option>\n <option value=\"Dashboard\">Dashboard</option>\n </select>\n </div>\n \n <!-- User Email -->\n <div class=\"filter-group\">\n <label>Filter by User</label>\n <input type=\"text\" \n [(ngModel)]=\"userEmail\"\n (input)=\"filterArtifacts()\"\n placeholder=\"Enter user email...\"\n class=\"filter-input\">\n </div>\n </div>\n }\n </div>\n\n <!-- Main Content Area -->\n <div class=\"main-content\">\n <!-- Paging Controls -->\n <div class=\"paging-controls\">\n <button mjButton\n (click)=\"previousPage()\"\n [disabled]=\"!canGoPrevious()\">\n <i class=\"fa-solid fa-chevron-left\"></i> Previous\n </button>\n <span class=\"page-info\">\n Page {{ currentPage + 1 }} of {{ getTotalPages() }}\n ({{ totalArtifacts }} total items)\n </span>\n <button mjButton\n (click)=\"nextPage()\"\n [disabled]=\"!canGoNext()\">\n Next <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n\n <!-- Existing Artifacts -->\n <div class=\"artifacts-list\">\n @if (isLoading) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading artifacts...\" size=\"small\"></mj-loading>\n </div>\n } \n @else if (artifacts.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No artifacts found</p>\n </div>\n } \n @else {\n @for (artifact of artifacts; track artifact.ID) {\n <div class=\"artifact-item\" \n [class.selected]=\"IsArtifactSelected(artifact)\"\n (click)=\"selectArtifact(artifact)\">\n <div class=\"artifact-content\">\n <div class=\"artifact-main\">\n <div class=\"artifact-name\">\n <i class=\"fa-solid fa-file-code\"></i>\n <span>{{ artifact.Name }}</span>\n </div>\n @if (artifact.Description) {\n <div class=\"artifact-description\">\n {{ artifact.Description }}\n </div>\n }\n </div>\n <div class=\"artifact-meta\">\n <div>{{ artifact.Type }}</div>\n <div>{{ artifact.__mj_UpdatedAt | date:'short' }}</div>\n </div>\n </div>\n </div>\n }\n }\n </div>\n \n <!-- Create New Artifact Section (at bottom) -->\n <div class=\"create-section\">\n <div class=\"divider\">OR CREATE NEW ARTIFACT</div>\n \n <button mjButton\n (click)=\"selectCreateNew()\"\n variant=\"primary\"\n class=\"create-btn\">\n <i class=\"fa-solid fa-plus\"></i> Create New Artifact\n </button>\n \n @if (showNewArtifactForm) {\n <div class=\"new-artifact-form\">\n <input class=\"mj-input\"\n [(ngModel)]=\"newArtifactName\"\n placeholder=\"Artifact name...\">\n <textarea class=\"mj-textarea\"\n [(ngModel)]=\"newArtifactDescription\"\n placeholder=\"Description (optional)...\">\n </textarea>\n </div>\n }\n </div>\n </div>\n\n <!-- Right Version Panel (only show when artifact selected) -->\n @if (selectedArtifact) {\n <div class=\"version-panel\">\n <div class=\"panel-header\">\n <h4><i class=\"fa-solid fa-code-branch\"></i> Version</h4>\n </div>\n \n @if (artifactVersions.length > 0) {\n <div class=\"version-content\">\n <div class=\"version-actions\">\n <label>Action</label>\n <label class=\"radio-label\">\n <input type=\"radio\" \n name=\"versionAction\" \n value=\"new\"\n [(ngModel)]=\"versionAction\"\n (change)=\"selectedVersion = null\">\n <span>Create New Version (v{{ getNextVersionNumber() }})</span>\n </label>\n \n <label class=\"radio-label\">\n <input type=\"radio\" \n name=\"versionAction\" \n value=\"update\"\n [(ngModel)]=\"versionAction\">\n <span>Update Existing Version</span>\n </label>\n </div>\n \n @if (versionAction === 'update') {\n <div class=\"version-selection\">\n <label>Select Version</label>\n @for (version of artifactVersions; track version.ID) {\n <label class=\"version-item\" \n [class.selected]=\"IsVersionSelected(version)\">\n <input type=\"radio\"\n name=\"selectedVersion\"\n [value]=\"version\"\n [(ngModel)]=\"selectedVersion\">\n <div class=\"version-info\">\n <div class=\"version-number\">Version {{ version.VersionNumber }}</div>\n <div class=\"version-date\">{{ version.__mj_UpdatedAt | date:'short' }}</div>\n </div>\n </label>\n }\n </div>\n \n @if (selectedVersion) {\n <div class=\"warning\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n <span>Warning: This will overwrite version {{ selectedVersion.VersionNumber }}</span>\n </div>\n }\n }\n </div>\n } @else {\n <div class=\"info-state\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <p>No versions available for this artifact.</p>\n <p>A new version will be created.</p>\n </div>\n }\n </div>\n }\n </div>\n\n <mj-dialog-actions>\n <button mjButton\n [variant]=\"versionAction === 'update' && selectedVersion ? 'warning' : 'primary'\"\n (click)=\"save()\"\n [disabled]=\"!canSave()\">\n <i class=\"fa-solid fa-save\"></i>\n {{ getSaveButtonText() }}\n </button>\n <button mjButton (click)=\"cancel()\">Cancel</button>\n </mj-dialog-actions>\n</mj-dialog>\n", styles: ["/* Main container */\n.artifact-selection-content {\n height: 100%;\n display: flex;\n flex-direction: row;\n}\n\n/* Filter Panel */\n.filter-panel {\n height: 100%;\n display: flex;\n flex-direction: column;\n border-right: 1px solid var(--mj-border-default);\n transition: width 0.3s ease;\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px;\n border-bottom: 1px solid var(--mj-border-default);\n font-weight: bold;\n color: var(--mj-text-secondary);\n}\n\n.filter-content {\n flex: 1;\n padding: 15px;\n overflow-y: auto;\n}\n\n.filter-group {\n margin-bottom: 15px;\n}\n\n.filter-group label {\n display: block;\n margin-bottom: 5px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.filter-input,\n.filter-select {\n width: 100%;\n padding: 8px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 4px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.filter-input:focus,\n.filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n/* Main Content Panel */\n.main-content {\n height: 100%;\n display: flex;\n flex-direction: column;\n flex: 2;\n min-width: 0; /* Prevents flex item from growing beyond container */\n}\n\n.paging-controls {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 15px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.page-info {\n color: var(--mj-text-secondary);\n font-size: 14px;\n}\n\n.artifacts-list {\n flex: 1;\n overflow-y: auto;\n padding: 0 15px;\n}\n\n.loading-state,\n.empty-state {\n text-align: center;\n padding: 40px;\n color: var(--mj-text-secondary);\n}\n\n.empty-state i {\n font-size: 48px;\n margin-bottom: 15px;\n color: var(--mj-text-muted);\n}\n\n.create-section {\n padding: 15px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.create-btn {\n width: 100%;\n}\n\n.new-artifact-form {\n margin-top: 15px;\n}\n\n.new-artifact-form .mj-input {\n width: 100%;\n margin-bottom: 10px;\n}\n\n.new-artifact-form .mj-textarea {\n width: 100%;\n height: 60px;\n}\n\n.divider {\n text-align: center;\n padding: 10px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n font-size: 12px;\n margin-bottom: 10px;\n}\n\n.artifact-item {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n margin: 10px 0;\n padding: 15px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.artifact-item:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-sunken);\n}\n\n.artifact-item.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.artifact-content {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.artifact-main {\n flex: 1;\n}\n\n.artifact-name {\n display: flex;\n align-items: center;\n margin-bottom: 5px;\n}\n\n.artifact-name i {\n color: var(--mj-text-secondary);\n margin-right: 8px;\n}\n\n.artifact-name span {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.artifact-description {\n color: var(--mj-text-secondary);\n font-size: 14px;\n margin-bottom: 8px;\n}\n\n.artifact-meta {\n text-align: right;\n color: var(--mj-text-muted);\n font-size: 12px;\n}\n\n/* Version Panel */\n.version-panel {\n width: 320px;\n height: 100%;\n display: flex;\n flex-direction: column;\n border-left: 1px solid var(--mj-border-default);\n flex-shrink: 0;\n background: var(--mj-bg-surface-sunken);\n}\n\n.version-content {\n flex: 1;\n padding: 15px;\n overflow-y: auto;\n}\n\n.version-actions {\n margin-bottom: 20px;\n}\n\n.version-actions label:first-child {\n display: block;\n margin-bottom: 10px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.radio-label {\n display: flex;\n align-items: center;\n margin-bottom: 8px;\n cursor: pointer;\n}\n\n.radio-label input {\n margin-right: 8px;\n}\n\n.version-selection {\n margin-bottom: 15px;\n}\n\n.version-selection > label:first-child {\n display: block;\n margin-bottom: 8px;\n font-weight: 500;\n color: var(--mj-text-secondary);\n}\n\n.version-item {\n display: flex;\n align-items: center;\n margin-bottom: 8px;\n padding: 8px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n cursor: pointer;\n}\n\n.version-item.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.version-item input {\n margin-right: 8px;\n}\n\n.version-info {\n flex: 1;\n}\n\n.version-number {\n font-weight: 500;\n}\n\n.version-date {\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.warning {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border: 1px solid var(--mj-status-warning);\n border-radius: 4px;\n padding: 10px;\n}\n\n.warning i {\n color: var(--mj-status-warning);\n margin-right: 5px;\n}\n\n.warning span {\n color: var(--mj-status-warning);\n font-size: 14px;\n}\n\n.info-state,\n.empty-state {\n padding: 15px;\n text-align: center;\n color: var(--mj-text-secondary);\n}\n\n.info-state i,\n.empty-state i {\n margin-bottom: 10px;\n font-size: 24px;\n}\n\n.info-state p,\n.empty-state p {\n margin: 5px 0;\n}\n\n.info-state p:last-child {\n font-size: 14px;\n}\n\n/* Filter button styling */\n.filter-count {\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n border-radius: 50%;\n min-width: 18px;\n height: 18px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 10px;\n font-weight: bold;\n margin-left: 4px;\n}\n\n.filter-active .filter-count {\n background: var(--mj-bg-surface-card);\n color: var(--mj-brand-primary);\n}\n"] }]
|
|
607
|
+
}], null, { Visible: [{
|
|
608
|
+
type: Input
|
|
609
|
+
}], Close: [{
|
|
610
|
+
type: Output
|
|
611
|
+
}] }); })();
|
|
612
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ArtifactSelectionDialogComponent, { className: "ArtifactSelectionDialogComponent", filePath: "src/ComponentStudio/components/artifact-selection-dialog.component.ts", lineNumber: 21 }); })();
|
|
619
613
|
//# sourceMappingURL=artifact-selection-dialog.component.js.map
|