@memberjunction/ng-conversations 2.104.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 +197 -0
- package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts +20 -0
- package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts.map +1 -0
- package/dist/lib/components/active-tasks/active-tasks-panel.component.js +125 -0
- package/dist/lib/components/active-tasks/active-tasks-panel.component.js.map +1 -0
- package/dist/lib/components/agent/active-agent-indicator.component.d.ts +48 -0
- package/dist/lib/components/agent/active-agent-indicator.component.d.ts.map +1 -0
- package/dist/lib/components/agent/active-agent-indicator.component.js +199 -0
- package/dist/lib/components/agent/active-agent-indicator.component.js.map +1 -0
- package/dist/lib/components/agent/agent-process-panel.component.d.ts +30 -0
- package/dist/lib/components/agent/agent-process-panel.component.d.ts.map +1 -0
- package/dist/lib/components/agent/agent-process-panel.component.js +333 -0
- package/dist/lib/components/agent/agent-process-panel.component.js.map +1 -0
- package/dist/lib/components/artifact/artifact-panel.component.d.ts +22 -0
- package/dist/lib/components/artifact/artifact-panel.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/artifact-panel.component.js +237 -0
- package/dist/lib/components/artifact/artifact-panel.component.js.map +1 -0
- package/dist/lib/components/artifact/artifact-upload-modal.component.d.ts +39 -0
- package/dist/lib/components/artifact/artifact-upload-modal.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/artifact-upload-modal.component.js +384 -0
- package/dist/lib/components/artifact/artifact-upload-modal.component.js.map +1 -0
- package/dist/lib/components/artifact/artifact-version-history.component.d.ts +28 -0
- package/dist/lib/components/artifact/artifact-version-history.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/artifact-version-history.component.js +280 -0
- package/dist/lib/components/artifact/artifact-version-history.component.js.map +1 -0
- package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts +22 -0
- package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/artifact-viewer-panel.component.js +182 -0
- package/dist/lib/components/artifact/artifact-viewer-panel.component.js.map +1 -0
- package/dist/lib/components/artifact/artifact-viewer.component.d.ts +27 -0
- package/dist/lib/components/artifact/artifact-viewer.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/artifact-viewer.component.js +266 -0
- package/dist/lib/components/artifact/artifact-viewer.component.js.map +1 -0
- package/dist/lib/components/artifact/inline-artifact.component.d.ts +46 -0
- package/dist/lib/components/artifact/inline-artifact.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/inline-artifact.component.js +447 -0
- package/dist/lib/components/artifact/inline-artifact.component.js.map +1 -0
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts +18 -0
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts.map +1 -0
- package/dist/lib/components/collection/collection-artifact-card.component.js +147 -0
- package/dist/lib/components/collection/collection-artifact-card.component.js.map +1 -0
- package/dist/lib/components/collection/collection-form-modal.component.d.ts +33 -0
- package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -0
- package/dist/lib/components/collection/collection-form-modal.component.js +245 -0
- package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -0
- package/dist/lib/components/collection/collection-tree.component.d.ts +42 -0
- package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -0
- package/dist/lib/components/collection/collection-tree.component.js +482 -0
- package/dist/lib/components/collection/collection-tree.component.js.map +1 -0
- package/dist/lib/components/collection/collection-view.component.d.ts +31 -0
- package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -0
- package/dist/lib/components/collection/collection-view.component.js +254 -0
- package/dist/lib/components/collection/collection-view.component.js.map +1 -0
- package/dist/lib/components/collection/collections-full-view.component.d.ts +55 -0
- package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -0
- package/dist/lib/components/collection/collections-full-view.component.js +578 -0
- package/dist/lib/components/collection/collections-full-view.component.js.map +1 -0
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +160 -0
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -0
- package/dist/lib/components/conversation/conversation-chat-area.component.js +891 -0
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -0
- package/dist/lib/components/conversation/conversation-list.component.d.ts +29 -0
- package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -0
- package/dist/lib/components/conversation/conversation-list.component.js +255 -0
- package/dist/lib/components/conversation/conversation-list.component.js.map +1 -0
- package/dist/lib/components/dialogs/input-dialog.component.d.ts +17 -0
- package/dist/lib/components/dialogs/input-dialog.component.d.ts.map +1 -0
- package/dist/lib/components/dialogs/input-dialog.component.js +122 -0
- package/dist/lib/components/dialogs/input-dialog.component.js.map +1 -0
- package/dist/lib/components/export/export-modal.component.d.ts +37 -0
- package/dist/lib/components/export/export-modal.component.d.ts.map +1 -0
- package/dist/lib/components/export/export-modal.component.js +414 -0
- package/dist/lib/components/export/export-modal.component.js.map +1 -0
- package/dist/lib/components/library/library-full-view.component.d.ts +36 -0
- package/dist/lib/components/library/library-full-view.component.d.ts.map +1 -0
- package/dist/lib/components/library/library-full-view.component.js +270 -0
- package/dist/lib/components/library/library-full-view.component.js.map +1 -0
- package/dist/lib/components/members/members-modal.component.d.ts +42 -0
- package/dist/lib/components/members/members-modal.component.d.ts.map +1 -0
- package/dist/lib/components/members/members-modal.component.js +352 -0
- package/dist/lib/components/members/members-modal.component.js.map +1 -0
- package/dist/lib/components/mention/mention-dropdown.component.d.ts +44 -0
- package/dist/lib/components/mention/mention-dropdown.component.d.ts.map +1 -0
- package/dist/lib/components/mention/mention-dropdown.component.js +194 -0
- package/dist/lib/components/mention/mention-dropdown.component.js.map +1 -0
- package/dist/lib/components/message/message-input.component.d.ts +137 -0
- package/dist/lib/components/message/message-input.component.d.ts.map +1 -0
- package/dist/lib/components/message/message-input.component.js +1159 -0
- package/dist/lib/components/message/message-input.component.js.map +1 -0
- package/dist/lib/components/message/message-item.component.d.ts +140 -0
- package/dist/lib/components/message/message-item.component.d.ts.map +1 -0
- package/dist/lib/components/message/message-item.component.js +817 -0
- package/dist/lib/components/message/message-item.component.js.map +1 -0
- package/dist/lib/components/message/message-list.component.d.ts +77 -0
- package/dist/lib/components/message/message-list.component.d.ts.map +1 -0
- package/dist/lib/components/message/message-list.component.js +316 -0
- package/dist/lib/components/message/message-list.component.js.map +1 -0
- package/dist/lib/components/navigation/conversation-navigation.component.d.ts +13 -0
- package/dist/lib/components/navigation/conversation-navigation.component.d.ts.map +1 -0
- package/dist/lib/components/navigation/conversation-navigation.component.js +88 -0
- package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -0
- package/dist/lib/components/notification/activity-indicator.component.d.ts +11 -0
- package/dist/lib/components/notification/activity-indicator.component.d.ts.map +1 -0
- package/dist/lib/components/notification/activity-indicator.component.js +56 -0
- package/dist/lib/components/notification/activity-indicator.component.js.map +1 -0
- package/dist/lib/components/notification/notification-badge.component.d.ts +27 -0
- package/dist/lib/components/notification/notification-badge.component.d.ts.map +1 -0
- package/dist/lib/components/notification/notification-badge.component.js +160 -0
- package/dist/lib/components/notification/notification-badge.component.js.map +1 -0
- package/dist/lib/components/project/project-form-modal.component.d.ts +34 -0
- package/dist/lib/components/project/project-form-modal.component.d.ts.map +1 -0
- package/dist/lib/components/project/project-form-modal.component.js +357 -0
- package/dist/lib/components/project/project-form-modal.component.js.map +1 -0
- package/dist/lib/components/project/project-selector.component.d.ts +36 -0
- package/dist/lib/components/project/project-selector.component.d.ts.map +1 -0
- package/dist/lib/components/project/project-selector.component.js +317 -0
- package/dist/lib/components/project/project-selector.component.js.map +1 -0
- package/dist/lib/components/search/search-panel.component.d.ts +120 -0
- package/dist/lib/components/search/search-panel.component.d.ts.map +1 -0
- package/dist/lib/components/search/search-panel.component.js +714 -0
- package/dist/lib/components/search/search-panel.component.js.map +1 -0
- package/dist/lib/components/share/share-modal.component.d.ts +46 -0
- package/dist/lib/components/share/share-modal.component.d.ts.map +1 -0
- package/dist/lib/components/share/share-modal.component.js +431 -0
- package/dist/lib/components/share/share-modal.component.js.map +1 -0
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts +18 -0
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts.map +1 -0
- package/dist/lib/components/sidebar/conversation-sidebar.component.js +81 -0
- package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -0
- package/dist/lib/components/task/task-form-modal.component.d.ts +42 -0
- package/dist/lib/components/task/task-form-modal.component.d.ts.map +1 -0
- package/dist/lib/components/task/task-form-modal.component.js +329 -0
- package/dist/lib/components/task/task-form-modal.component.js.map +1 -0
- package/dist/lib/components/task/task-item.component.d.ts +22 -0
- package/dist/lib/components/task/task-item.component.d.ts.map +1 -0
- package/dist/lib/components/task/task-item.component.js +234 -0
- package/dist/lib/components/task/task-item.component.js.map +1 -0
- package/dist/lib/components/task/task-list.component.d.ts +32 -0
- package/dist/lib/components/task/task-list.component.d.ts.map +1 -0
- package/dist/lib/components/task/task-list.component.js +290 -0
- package/dist/lib/components/task/task-list.component.js.map +1 -0
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +27 -0
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -0
- package/dist/lib/components/tasks/tasks-dropdown.component.js +254 -0
- package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -0
- package/dist/lib/components/thread/thread-panel.component.d.ts +65 -0
- package/dist/lib/components/thread/thread-panel.component.d.ts.map +1 -0
- package/dist/lib/components/thread/thread-panel.component.js +325 -0
- package/dist/lib/components/thread/thread-panel.component.js.map +1 -0
- package/dist/lib/components/toast/toast.component.d.ts +26 -0
- package/dist/lib/components/toast/toast.component.d.ts.map +1 -0
- package/dist/lib/components/toast/toast.component.js +108 -0
- package/dist/lib/components/toast/toast.component.js.map +1 -0
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts +75 -0
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -0
- package/dist/lib/components/workspace/conversation-workspace.component.js +299 -0
- package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -0
- package/dist/lib/conversations.module.d.ts +62 -0
- package/dist/lib/conversations.module.d.ts.map +1 -0
- package/dist/lib/conversations.module.js +248 -0
- package/dist/lib/conversations.module.js.map +1 -0
- package/dist/lib/directives/search-shortcut.directive.d.ts +17 -0
- package/dist/lib/directives/search-shortcut.directive.d.ts.map +1 -0
- package/dist/lib/directives/search-shortcut.directive.js +39 -0
- package/dist/lib/directives/search-shortcut.directive.js.map +1 -0
- package/dist/lib/models/conversation-state.model.d.ts +72 -0
- package/dist/lib/models/conversation-state.model.d.ts.map +1 -0
- package/dist/lib/models/conversation-state.model.js +2 -0
- package/dist/lib/models/conversation-state.model.js.map +1 -0
- package/dist/lib/models/notification.model.d.ts +89 -0
- package/dist/lib/models/notification.model.d.ts.map +1 -0
- package/dist/lib/models/notification.model.js +11 -0
- package/dist/lib/models/notification.model.js.map +1 -0
- package/dist/lib/services/active-tasks.service.d.ts +65 -0
- package/dist/lib/services/active-tasks.service.d.ts.map +1 -0
- package/dist/lib/services/active-tasks.service.js +95 -0
- package/dist/lib/services/active-tasks.service.js.map +1 -0
- package/dist/lib/services/agent-state.service.d.ts +78 -0
- package/dist/lib/services/agent-state.service.d.ts.map +1 -0
- package/dist/lib/services/agent-state.service.js +213 -0
- package/dist/lib/services/agent-state.service.js.map +1 -0
- package/dist/lib/services/artifact-state.service.d.ts +114 -0
- package/dist/lib/services/artifact-state.service.d.ts.map +1 -0
- package/dist/lib/services/artifact-state.service.js +288 -0
- package/dist/lib/services/artifact-state.service.js.map +1 -0
- package/dist/lib/services/conversation-agent.service.d.ts +79 -0
- package/dist/lib/services/conversation-agent.service.d.ts.map +1 -0
- package/dist/lib/services/conversation-agent.service.js +259 -0
- package/dist/lib/services/conversation-agent.service.js.map +1 -0
- package/dist/lib/services/conversation-state.service.d.ts +122 -0
- package/dist/lib/services/conversation-state.service.d.ts.map +1 -0
- package/dist/lib/services/conversation-state.service.js +255 -0
- package/dist/lib/services/conversation-state.service.js.map +1 -0
- package/dist/lib/services/dialog.service.d.ts +54 -0
- package/dist/lib/services/dialog.service.d.ts.map +1 -0
- package/dist/lib/services/dialog.service.js +157 -0
- package/dist/lib/services/dialog.service.js.map +1 -0
- package/dist/lib/services/export.service.d.ts +25 -0
- package/dist/lib/services/export.service.d.ts.map +1 -0
- package/dist/lib/services/export.service.js +237 -0
- package/dist/lib/services/export.service.js.map +1 -0
- package/dist/lib/services/mention-autocomplete.service.d.ts +59 -0
- package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -0
- package/dist/lib/services/mention-autocomplete.service.js +160 -0
- package/dist/lib/services/mention-autocomplete.service.js.map +1 -0
- package/dist/lib/services/mention-parser.service.d.ts +46 -0
- package/dist/lib/services/mention-parser.service.d.ts.map +1 -0
- package/dist/lib/services/mention-parser.service.js +156 -0
- package/dist/lib/services/mention-parser.service.js.map +1 -0
- package/dist/lib/services/notification.service.d.ts +108 -0
- package/dist/lib/services/notification.service.d.ts.map +1 -0
- package/dist/lib/services/notification.service.js +431 -0
- package/dist/lib/services/notification.service.js.map +1 -0
- package/dist/lib/services/search.service.d.ts +144 -0
- package/dist/lib/services/search.service.d.ts.map +1 -0
- package/dist/lib/services/search.service.js +370 -0
- package/dist/lib/services/search.service.js.map +1 -0
- package/dist/lib/services/toast.service.d.ts +46 -0
- package/dist/lib/services/toast.service.d.ts.map +1 -0
- package/dist/lib/services/toast.service.js +76 -0
- package/dist/lib/services/toast.service.js.map +1 -0
- package/dist/public-api.d.ts +42 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +49 -0
- package/dist/public-api.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,578 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { RunView, Metadata } from '@memberjunction/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/dialog.service";
|
|
5
|
+
import * as i2 from "../../services/artifact-state.service";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/forms";
|
|
8
|
+
import * as i5 from "./collection-form-modal.component";
|
|
9
|
+
function CollectionsFullViewComponent_span_7_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
10
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
11
|
+
i0.ɵɵelementContainerStart(0);
|
|
12
|
+
i0.ɵɵelement(1, "i", 22);
|
|
13
|
+
i0.ɵɵelementStart(2, "a", 5);
|
|
14
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_span_7_ng_container_1_Template_a_click_2_listener() { const crumb_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.navigateTo(crumb_r2)); });
|
|
15
|
+
i0.ɵɵtext(3);
|
|
16
|
+
i0.ɵɵelementEnd();
|
|
17
|
+
i0.ɵɵelementContainerEnd();
|
|
18
|
+
} if (rf & 2) {
|
|
19
|
+
const crumb_r2 = ctx.$implicit;
|
|
20
|
+
const last_r4 = ctx.last;
|
|
21
|
+
i0.ɵɵadvance(2);
|
|
22
|
+
i0.ɵɵclassProp("active", last_r4);
|
|
23
|
+
i0.ɵɵadvance();
|
|
24
|
+
i0.ɵɵtextInterpolate1(" ", crumb_r2.name, " ");
|
|
25
|
+
} }
|
|
26
|
+
function CollectionsFullViewComponent_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
27
|
+
i0.ɵɵelementStart(0, "span", 20);
|
|
28
|
+
i0.ɵɵtemplate(1, CollectionsFullViewComponent_span_7_ng_container_1_Template, 4, 3, "ng-container", 21);
|
|
29
|
+
i0.ɵɵelementEnd();
|
|
30
|
+
} if (rf & 2) {
|
|
31
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
32
|
+
i0.ɵɵadvance();
|
|
33
|
+
i0.ɵɵproperty("ngForOf", ctx_r2.breadcrumbs);
|
|
34
|
+
} }
|
|
35
|
+
function CollectionsFullViewComponent_div_18_Template(rf, ctx) { if (rf & 1) {
|
|
36
|
+
i0.ɵɵelementStart(0, "div", 23);
|
|
37
|
+
i0.ɵɵelement(1, "i", 24);
|
|
38
|
+
i0.ɵɵelementStart(2, "p");
|
|
39
|
+
i0.ɵɵtext(3, "Loading collections...");
|
|
40
|
+
i0.ɵɵelementEnd()();
|
|
41
|
+
} }
|
|
42
|
+
function CollectionsFullViewComponent_div_19_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
44
|
+
i0.ɵɵelementStart(0, "div", 25);
|
|
45
|
+
i0.ɵɵelement(1, "i", 26);
|
|
46
|
+
i0.ɵɵelementStart(2, "h3");
|
|
47
|
+
i0.ɵɵtext(3, "No collections yet");
|
|
48
|
+
i0.ɵɵelementEnd();
|
|
49
|
+
i0.ɵɵelementStart(4, "p");
|
|
50
|
+
i0.ɵɵtext(5, "Create your first collection to organize artifacts");
|
|
51
|
+
i0.ɵɵelementEnd();
|
|
52
|
+
i0.ɵɵelementStart(6, "button", 27);
|
|
53
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_div_19_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createCollection()); });
|
|
54
|
+
i0.ɵɵelement(7, "i", 12);
|
|
55
|
+
i0.ɵɵtext(8, " Create Collection ");
|
|
56
|
+
i0.ɵɵelementEnd()();
|
|
57
|
+
} }
|
|
58
|
+
function CollectionsFullViewComponent_div_20_Template(rf, ctx) { if (rf & 1) {
|
|
59
|
+
i0.ɵɵelementStart(0, "div", 25);
|
|
60
|
+
i0.ɵɵelement(1, "i", 8);
|
|
61
|
+
i0.ɵɵelementStart(2, "p");
|
|
62
|
+
i0.ɵɵtext(3, "No collections or artifacts found");
|
|
63
|
+
i0.ɵɵelementEnd()();
|
|
64
|
+
} }
|
|
65
|
+
function CollectionsFullViewComponent_div_21_div_1_div_7_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
+
i0.ɵɵelementStart(0, "div", 46);
|
|
67
|
+
i0.ɵɵtext(1);
|
|
68
|
+
i0.ɵɵelementEnd();
|
|
69
|
+
} if (rf & 2) {
|
|
70
|
+
const collection_r7 = i0.ɵɵnextContext().$implicit;
|
|
71
|
+
i0.ɵɵadvance();
|
|
72
|
+
i0.ɵɵtextInterpolate1(" ", collection_r7.Description, " ");
|
|
73
|
+
} }
|
|
74
|
+
function CollectionsFullViewComponent_div_21_div_1_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
76
|
+
i0.ɵɵelementStart(0, "div", 35);
|
|
77
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_div_21_div_1_div_7_Template_div_click_0_listener() { const collection_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.openCollection(collection_r7)); });
|
|
78
|
+
i0.ɵɵelementStart(1, "div", 36);
|
|
79
|
+
i0.ɵɵelement(2, "i", 37);
|
|
80
|
+
i0.ɵɵelementEnd();
|
|
81
|
+
i0.ɵɵelementStart(3, "div", 38)(4, "div", 39);
|
|
82
|
+
i0.ɵɵtext(5);
|
|
83
|
+
i0.ɵɵelementEnd();
|
|
84
|
+
i0.ɵɵtemplate(6, CollectionsFullViewComponent_div_21_div_1_div_7_div_6_Template, 2, 1, "div", 40);
|
|
85
|
+
i0.ɵɵelementEnd();
|
|
86
|
+
i0.ɵɵelementStart(7, "div", 41);
|
|
87
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_div_21_div_1_div_7_Template_div_click_7_listener($event) { i0.ɵɵrestoreView(_r6); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
88
|
+
i0.ɵɵelementStart(8, "button", 42);
|
|
89
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_div_21_div_1_div_7_Template_button_click_8_listener() { const collection_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.editCollection(collection_r7)); });
|
|
90
|
+
i0.ɵɵelement(9, "i", 43);
|
|
91
|
+
i0.ɵɵelementEnd();
|
|
92
|
+
i0.ɵɵelementStart(10, "button", 44);
|
|
93
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_div_21_div_1_div_7_Template_button_click_10_listener() { const collection_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.deleteCollection(collection_r7)); });
|
|
94
|
+
i0.ɵɵelement(11, "i", 45);
|
|
95
|
+
i0.ɵɵelementEnd()()();
|
|
96
|
+
} if (rf & 2) {
|
|
97
|
+
const collection_r7 = ctx.$implicit;
|
|
98
|
+
i0.ɵɵadvance(5);
|
|
99
|
+
i0.ɵɵtextInterpolate(collection_r7.Name);
|
|
100
|
+
i0.ɵɵadvance();
|
|
101
|
+
i0.ɵɵproperty("ngIf", collection_r7.Description);
|
|
102
|
+
} }
|
|
103
|
+
function CollectionsFullViewComponent_div_21_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
104
|
+
i0.ɵɵelementStart(0, "div", 30)(1, "div", 31)(2, "h3");
|
|
105
|
+
i0.ɵɵtext(3, "Collections");
|
|
106
|
+
i0.ɵɵelementEnd();
|
|
107
|
+
i0.ɵɵelementStart(4, "span", 32);
|
|
108
|
+
i0.ɵɵtext(5);
|
|
109
|
+
i0.ɵɵelementEnd()();
|
|
110
|
+
i0.ɵɵelementStart(6, "div", 33);
|
|
111
|
+
i0.ɵɵtemplate(7, CollectionsFullViewComponent_div_21_div_1_div_7_Template, 12, 2, "div", 34);
|
|
112
|
+
i0.ɵɵelementEnd()();
|
|
113
|
+
} if (rf & 2) {
|
|
114
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
115
|
+
i0.ɵɵadvance(5);
|
|
116
|
+
i0.ɵɵtextInterpolate(ctx_r2.filteredCollections.length);
|
|
117
|
+
i0.ɵɵadvance(2);
|
|
118
|
+
i0.ɵɵproperty("ngForOf", ctx_r2.filteredCollections);
|
|
119
|
+
} }
|
|
120
|
+
function CollectionsFullViewComponent_div_21_div_2_button_6_Template(rf, ctx) { if (rf & 1) {
|
|
121
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
122
|
+
i0.ɵɵelementStart(0, "button", 50);
|
|
123
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_div_21_div_2_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.addArtifact()); });
|
|
124
|
+
i0.ɵɵelement(1, "i", 51);
|
|
125
|
+
i0.ɵɵtext(2, " Add Artifact ");
|
|
126
|
+
i0.ɵɵelementEnd();
|
|
127
|
+
} }
|
|
128
|
+
function CollectionsFullViewComponent_div_21_div_2_div_8_button_10_Template(rf, ctx) { if (rf & 1) {
|
|
129
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
130
|
+
i0.ɵɵelementStart(0, "button", 58);
|
|
131
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_div_21_div_2_div_8_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const artifact_r10 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.removeArtifact(artifact_r10)); });
|
|
132
|
+
i0.ɵɵelement(1, "i", 59);
|
|
133
|
+
i0.ɵɵelementEnd();
|
|
134
|
+
} }
|
|
135
|
+
function CollectionsFullViewComponent_div_21_div_2_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
136
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
137
|
+
i0.ɵɵelementStart(0, "div", 52);
|
|
138
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_div_21_div_2_div_8_Template_div_click_0_listener() { const artifact_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.viewArtifact(artifact_r10)); });
|
|
139
|
+
i0.ɵɵelementStart(1, "div", 53);
|
|
140
|
+
i0.ɵɵelement(2, "i", 54);
|
|
141
|
+
i0.ɵɵelementEnd();
|
|
142
|
+
i0.ɵɵelementStart(3, "div", 38)(4, "div", 39);
|
|
143
|
+
i0.ɵɵtext(5);
|
|
144
|
+
i0.ɵɵelementEnd();
|
|
145
|
+
i0.ɵɵelementStart(6, "div", 55)(7, "span", 56);
|
|
146
|
+
i0.ɵɵtext(8);
|
|
147
|
+
i0.ɵɵelementEnd()()();
|
|
148
|
+
i0.ɵɵelementStart(9, "div", 41);
|
|
149
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_div_21_div_2_div_8_Template_div_click_9_listener($event) { i0.ɵɵrestoreView(_r9); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
150
|
+
i0.ɵɵtemplate(10, CollectionsFullViewComponent_div_21_div_2_div_8_button_10_Template, 2, 0, "button", 57);
|
|
151
|
+
i0.ɵɵelementEnd()();
|
|
152
|
+
} if (rf & 2) {
|
|
153
|
+
const artifact_r10 = ctx.$implicit;
|
|
154
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
155
|
+
i0.ɵɵadvance(5);
|
|
156
|
+
i0.ɵɵtextInterpolate(artifact_r10.Name);
|
|
157
|
+
i0.ɵɵadvance(3);
|
|
158
|
+
i0.ɵɵtextInterpolate(artifact_r10.Type || "Unknown");
|
|
159
|
+
i0.ɵɵadvance(2);
|
|
160
|
+
i0.ɵɵproperty("ngIf", ctx_r2.currentCollectionId);
|
|
161
|
+
} }
|
|
162
|
+
function CollectionsFullViewComponent_div_21_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
163
|
+
i0.ɵɵelementStart(0, "div", 30)(1, "div", 31)(2, "h3");
|
|
164
|
+
i0.ɵɵtext(3, "Artifacts");
|
|
165
|
+
i0.ɵɵelementEnd();
|
|
166
|
+
i0.ɵɵelementStart(4, "span", 32);
|
|
167
|
+
i0.ɵɵtext(5);
|
|
168
|
+
i0.ɵɵelementEnd();
|
|
169
|
+
i0.ɵɵtemplate(6, CollectionsFullViewComponent_div_21_div_2_button_6_Template, 3, 0, "button", 47);
|
|
170
|
+
i0.ɵɵelementEnd();
|
|
171
|
+
i0.ɵɵelementStart(7, "div", 48);
|
|
172
|
+
i0.ɵɵtemplate(8, CollectionsFullViewComponent_div_21_div_2_div_8_Template, 11, 3, "div", 49);
|
|
173
|
+
i0.ɵɵelementEnd()();
|
|
174
|
+
} if (rf & 2) {
|
|
175
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
176
|
+
i0.ɵɵadvance(5);
|
|
177
|
+
i0.ɵɵtextInterpolate(ctx_r2.filteredArtifacts.length);
|
|
178
|
+
i0.ɵɵadvance();
|
|
179
|
+
i0.ɵɵproperty("ngIf", ctx_r2.currentCollectionId);
|
|
180
|
+
i0.ɵɵadvance(2);
|
|
181
|
+
i0.ɵɵproperty("ngForOf", ctx_r2.filteredArtifacts);
|
|
182
|
+
} }
|
|
183
|
+
function CollectionsFullViewComponent_div_21_Template(rf, ctx) { if (rf & 1) {
|
|
184
|
+
i0.ɵɵelementStart(0, "div", 28);
|
|
185
|
+
i0.ɵɵtemplate(1, CollectionsFullViewComponent_div_21_div_1_Template, 8, 2, "div", 29)(2, CollectionsFullViewComponent_div_21_div_2_Template, 9, 3, "div", 29);
|
|
186
|
+
i0.ɵɵelementEnd();
|
|
187
|
+
} if (rf & 2) {
|
|
188
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
189
|
+
i0.ɵɵadvance();
|
|
190
|
+
i0.ɵɵproperty("ngIf", ctx_r2.filteredCollections.length > 0);
|
|
191
|
+
i0.ɵɵadvance();
|
|
192
|
+
i0.ɵɵproperty("ngIf", ctx_r2.filteredArtifacts.length > 0);
|
|
193
|
+
} }
|
|
194
|
+
/**
|
|
195
|
+
* Full-panel Collections view component
|
|
196
|
+
* Comprehensive collection management with artifacts display
|
|
197
|
+
*/
|
|
198
|
+
export class CollectionsFullViewComponent {
|
|
199
|
+
dialogService;
|
|
200
|
+
artifactState;
|
|
201
|
+
environmentId;
|
|
202
|
+
currentUser;
|
|
203
|
+
collections = [];
|
|
204
|
+
artifacts = [];
|
|
205
|
+
filteredCollections = [];
|
|
206
|
+
filteredArtifacts = [];
|
|
207
|
+
searchQuery = '';
|
|
208
|
+
isLoading = false;
|
|
209
|
+
breadcrumbs = [];
|
|
210
|
+
currentCollectionId = null;
|
|
211
|
+
currentCollection = null;
|
|
212
|
+
isFormModalOpen = false;
|
|
213
|
+
editingCollection;
|
|
214
|
+
constructor(dialogService, artifactState) {
|
|
215
|
+
this.dialogService = dialogService;
|
|
216
|
+
this.artifactState = artifactState;
|
|
217
|
+
}
|
|
218
|
+
ngOnInit() {
|
|
219
|
+
this.loadData();
|
|
220
|
+
}
|
|
221
|
+
async loadData() {
|
|
222
|
+
this.isLoading = true;
|
|
223
|
+
try {
|
|
224
|
+
await Promise.all([
|
|
225
|
+
this.loadCollections(),
|
|
226
|
+
this.loadArtifacts()
|
|
227
|
+
]);
|
|
228
|
+
}
|
|
229
|
+
finally {
|
|
230
|
+
this.isLoading = false;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
async loadCollections() {
|
|
234
|
+
try {
|
|
235
|
+
const rv = new RunView();
|
|
236
|
+
const filter = `EnvironmentID='${this.environmentId}'` +
|
|
237
|
+
(this.currentCollectionId ? ` AND ParentID='${this.currentCollectionId}'` : ' AND ParentID IS NULL');
|
|
238
|
+
const result = await rv.RunView({
|
|
239
|
+
EntityName: 'MJ: Collections',
|
|
240
|
+
ExtraFilter: filter,
|
|
241
|
+
OrderBy: 'Name ASC',
|
|
242
|
+
MaxRows: 1000,
|
|
243
|
+
ResultType: 'entity_object'
|
|
244
|
+
}, this.currentUser);
|
|
245
|
+
if (result.Success) {
|
|
246
|
+
this.collections = result.Results || [];
|
|
247
|
+
this.applySearch();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
console.error('Failed to load collections:', error);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
async loadArtifacts() {
|
|
255
|
+
if (!this.currentCollectionId) {
|
|
256
|
+
this.artifacts = [];
|
|
257
|
+
this.filteredArtifacts = [];
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
try {
|
|
261
|
+
this.artifacts = await this.artifactState.loadArtifactsForCollection(this.currentCollectionId, this.currentUser);
|
|
262
|
+
this.applySearch();
|
|
263
|
+
}
|
|
264
|
+
catch (error) {
|
|
265
|
+
console.error('Failed to load artifacts:', error);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
onSearchChange(query) {
|
|
269
|
+
this.applySearch();
|
|
270
|
+
}
|
|
271
|
+
applySearch() {
|
|
272
|
+
if (!this.searchQuery.trim()) {
|
|
273
|
+
this.filteredCollections = [...this.collections];
|
|
274
|
+
this.filteredArtifacts = [...this.artifacts];
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
const query = this.searchQuery.toLowerCase();
|
|
278
|
+
this.filteredCollections = this.collections.filter(c => c.Name.toLowerCase().includes(query) ||
|
|
279
|
+
(c.Description && c.Description.toLowerCase().includes(query)));
|
|
280
|
+
this.filteredArtifacts = this.artifacts.filter(a => a.Name.toLowerCase().includes(query));
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
async openCollection(collection) {
|
|
284
|
+
this.breadcrumbs.push({ id: collection.ID, name: collection.Name });
|
|
285
|
+
this.currentCollectionId = collection.ID;
|
|
286
|
+
this.currentCollection = collection;
|
|
287
|
+
this.searchQuery = '';
|
|
288
|
+
await this.loadData();
|
|
289
|
+
}
|
|
290
|
+
async navigateTo(crumb) {
|
|
291
|
+
const index = this.breadcrumbs.findIndex(b => b.id === crumb.id);
|
|
292
|
+
if (index !== -1) {
|
|
293
|
+
this.breadcrumbs = this.breadcrumbs.slice(0, index + 1);
|
|
294
|
+
this.currentCollectionId = crumb.id;
|
|
295
|
+
// Load the collection entity
|
|
296
|
+
const md = new Metadata();
|
|
297
|
+
this.currentCollection = await md.GetEntityObject('MJ: Collections', this.currentUser);
|
|
298
|
+
await this.currentCollection.Load(crumb.id);
|
|
299
|
+
this.searchQuery = '';
|
|
300
|
+
await this.loadData();
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
async navigateToRoot() {
|
|
304
|
+
this.breadcrumbs = [];
|
|
305
|
+
this.currentCollectionId = null;
|
|
306
|
+
this.currentCollection = null;
|
|
307
|
+
this.searchQuery = '';
|
|
308
|
+
await this.loadData();
|
|
309
|
+
}
|
|
310
|
+
refresh() {
|
|
311
|
+
this.loadData();
|
|
312
|
+
}
|
|
313
|
+
createCollection() {
|
|
314
|
+
this.editingCollection = undefined;
|
|
315
|
+
this.isFormModalOpen = true;
|
|
316
|
+
}
|
|
317
|
+
editCollection(collection) {
|
|
318
|
+
this.editingCollection = collection;
|
|
319
|
+
this.isFormModalOpen = true;
|
|
320
|
+
}
|
|
321
|
+
async deleteCollection(collection) {
|
|
322
|
+
console.log('deleteCollection called for:', collection.Name, collection.ID);
|
|
323
|
+
const confirmed = await this.dialogService.confirm({
|
|
324
|
+
title: 'Delete Collection',
|
|
325
|
+
message: `Are you sure you want to delete "${collection.Name}"? This action cannot be undone.`,
|
|
326
|
+
okText: 'Delete',
|
|
327
|
+
cancelText: 'Cancel',
|
|
328
|
+
dangerous: true
|
|
329
|
+
});
|
|
330
|
+
console.log('Delete confirmed:', confirmed);
|
|
331
|
+
if (confirmed) {
|
|
332
|
+
try {
|
|
333
|
+
console.log('Attempting to delete collection...');
|
|
334
|
+
const deleted = await collection.Delete();
|
|
335
|
+
console.log('Delete result:', deleted);
|
|
336
|
+
if (deleted) {
|
|
337
|
+
await this.loadCollections();
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
await this.dialogService.alert('Error', 'Failed to delete collection.');
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
catch (error) {
|
|
344
|
+
console.error('Error deleting collection:', error);
|
|
345
|
+
await this.dialogService.alert('Error', `An error occurred while deleting the collection: ${error}`);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
async onCollectionSaved(collection) {
|
|
350
|
+
this.isFormModalOpen = false;
|
|
351
|
+
this.editingCollection = undefined;
|
|
352
|
+
await this.loadCollections();
|
|
353
|
+
}
|
|
354
|
+
onFormCancelled() {
|
|
355
|
+
this.isFormModalOpen = false;
|
|
356
|
+
this.editingCollection = undefined;
|
|
357
|
+
}
|
|
358
|
+
async addArtifact() {
|
|
359
|
+
// Will be implemented with artifact upload modal
|
|
360
|
+
await this.dialogService.alert('Coming Soon', 'Artifact upload functionality will be available soon.');
|
|
361
|
+
}
|
|
362
|
+
async removeArtifact(artifact) {
|
|
363
|
+
if (!this.currentCollectionId)
|
|
364
|
+
return;
|
|
365
|
+
const confirmed = await this.dialogService.confirm({
|
|
366
|
+
title: 'Remove Artifact',
|
|
367
|
+
message: `Remove "${artifact.Name}" from this collection?`,
|
|
368
|
+
okText: 'Remove',
|
|
369
|
+
cancelText: 'Cancel'
|
|
370
|
+
});
|
|
371
|
+
if (confirmed) {
|
|
372
|
+
try {
|
|
373
|
+
await this.artifactState.removeFromCollection(artifact.ID, this.currentCollectionId, this.currentUser);
|
|
374
|
+
await this.loadArtifacts();
|
|
375
|
+
}
|
|
376
|
+
catch (error) {
|
|
377
|
+
console.error('Error removing artifact:', error);
|
|
378
|
+
await this.dialogService.alert('Error', 'Failed to remove artifact from collection.');
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
viewArtifact(artifact) {
|
|
383
|
+
this.artifactState.openArtifact(artifact.ID);
|
|
384
|
+
}
|
|
385
|
+
static ɵfac = function CollectionsFullViewComponent_Factory(t) { return new (t || CollectionsFullViewComponent)(i0.ɵɵdirectiveInject(i1.DialogService), i0.ɵɵdirectiveInject(i2.ArtifactStateService)); };
|
|
386
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollectionsFullViewComponent, selectors: [["mj-collections-full-view"]], inputs: { environmentId: "environmentId", currentUser: "currentUser" }, decls: 23, vars: 11, consts: [[1, "collections-view"], [1, "collections-header"], [1, "collections-breadcrumb"], [1, "breadcrumb-item"], [1, "fas", "fa-home"], [1, "breadcrumb-link", 3, "click"], ["class", "breadcrumb-path", 4, "ngIf"], [1, "collections-search"], [1, "fas", "fa-search"], ["type", "text", "placeholder", "Search collections and artifacts...", 1, "collection-search-input", 3, "ngModelChange", "ngModel"], [1, "collections-actions"], ["title", "New Collection", 1, "btn-primary", 3, "click"], [1, "fas", "fa-folder-plus"], ["title", "Refresh", 1, "btn-secondary", 3, "click"], [1, "fas", "fa-sync"], [1, "collections-content"], ["class", "loading-state", 4, "ngIf"], ["class", "empty-state", 4, "ngIf"], ["class", "content-grid", 4, "ngIf"], [3, "saved", "cancelled", "isOpen", "collection", "parentCollection", "environmentId", "currentUser"], [1, "breadcrumb-path"], [4, "ngFor", "ngForOf"], [1, "fas", "fa-chevron-right", "breadcrumb-separator"], [1, "loading-state"], [1, "fas", "fa-spinner", "fa-spin"], [1, "empty-state"], [1, "fas", "fa-folder-open"], [1, "btn-primary", 3, "click"], [1, "content-grid"], ["class", "section", 4, "ngIf"], [1, "section"], [1, "section-header"], [1, "section-count"], [1, "collection-grid"], ["class", "collection-card", 3, "click", 4, "ngFor", "ngForOf"], [1, "collection-card", 3, "click"], [1, "card-icon"], [1, "fas", "fa-folder"], [1, "card-content"], [1, "card-name"], ["class", "card-description", 4, "ngIf"], [1, "card-actions", 3, "click"], ["title", "Edit", 1, "card-action-btn", 3, "click"], [1, "fas", "fa-edit"], ["title", "Delete", 1, "card-action-btn", "danger", 3, "click"], [1, "fas", "fa-trash"], [1, "card-description"], ["class", "btn-secondary btn-sm", 3, "click", 4, "ngIf"], [1, "artifact-grid"], ["class", "artifact-card", 3, "click", 4, "ngFor", "ngForOf"], [1, "btn-secondary", "btn-sm", 3, "click"], [1, "fas", "fa-plus"], [1, "artifact-card", 3, "click"], [1, "card-icon", "artifact-icon"], [1, "fas", "fa-file-alt"], [1, "card-meta"], [1, "artifact-type"], ["class", "card-action-btn", "title", "Remove from collection", 3, "click", 4, "ngIf"], ["title", "Remove from collection", 1, "card-action-btn", 3, "click"], [1, "fas", "fa-times"]], template: function CollectionsFullViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
387
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
388
|
+
i0.ɵɵelement(4, "i", 4);
|
|
389
|
+
i0.ɵɵelementStart(5, "a", 5);
|
|
390
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Template_a_click_5_listener() { return ctx.navigateToRoot(); });
|
|
391
|
+
i0.ɵɵtext(6, "Collections");
|
|
392
|
+
i0.ɵɵelementEnd()();
|
|
393
|
+
i0.ɵɵtemplate(7, CollectionsFullViewComponent_span_7_Template, 2, 1, "span", 6);
|
|
394
|
+
i0.ɵɵelementEnd();
|
|
395
|
+
i0.ɵɵelementStart(8, "div", 7);
|
|
396
|
+
i0.ɵɵelement(9, "i", 8);
|
|
397
|
+
i0.ɵɵelementStart(10, "input", 9);
|
|
398
|
+
i0.ɵɵtwoWayListener("ngModelChange", function CollectionsFullViewComponent_Template_input_ngModelChange_10_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.searchQuery, $event) || (ctx.searchQuery = $event); return $event; });
|
|
399
|
+
i0.ɵɵlistener("ngModelChange", function CollectionsFullViewComponent_Template_input_ngModelChange_10_listener($event) { return ctx.onSearchChange($event); });
|
|
400
|
+
i0.ɵɵelementEnd()();
|
|
401
|
+
i0.ɵɵelementStart(11, "div", 10)(12, "button", 11);
|
|
402
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Template_button_click_12_listener() { return ctx.createCollection(); });
|
|
403
|
+
i0.ɵɵelement(13, "i", 12);
|
|
404
|
+
i0.ɵɵtext(14, " New Collection ");
|
|
405
|
+
i0.ɵɵelementEnd();
|
|
406
|
+
i0.ɵɵelementStart(15, "button", 13);
|
|
407
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Template_button_click_15_listener() { return ctx.refresh(); });
|
|
408
|
+
i0.ɵɵelement(16, "i", 14);
|
|
409
|
+
i0.ɵɵelementEnd()()();
|
|
410
|
+
i0.ɵɵelementStart(17, "div", 15);
|
|
411
|
+
i0.ɵɵtemplate(18, CollectionsFullViewComponent_div_18_Template, 4, 0, "div", 16)(19, CollectionsFullViewComponent_div_19_Template, 9, 0, "div", 17)(20, CollectionsFullViewComponent_div_20_Template, 4, 0, "div", 17)(21, CollectionsFullViewComponent_div_21_Template, 3, 2, "div", 18);
|
|
412
|
+
i0.ɵɵelementEnd()();
|
|
413
|
+
i0.ɵɵelementStart(22, "mj-collection-form-modal", 19);
|
|
414
|
+
i0.ɵɵlistener("saved", function CollectionsFullViewComponent_Template_mj_collection_form_modal_saved_22_listener($event) { return ctx.onCollectionSaved($event); })("cancelled", function CollectionsFullViewComponent_Template_mj_collection_form_modal_cancelled_22_listener() { return ctx.onFormCancelled(); });
|
|
415
|
+
i0.ɵɵelementEnd();
|
|
416
|
+
} if (rf & 2) {
|
|
417
|
+
i0.ɵɵadvance(7);
|
|
418
|
+
i0.ɵɵproperty("ngIf", ctx.breadcrumbs.length > 0);
|
|
419
|
+
i0.ɵɵadvance(3);
|
|
420
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx.searchQuery);
|
|
421
|
+
i0.ɵɵadvance(8);
|
|
422
|
+
i0.ɵɵproperty("ngIf", ctx.isLoading);
|
|
423
|
+
i0.ɵɵadvance();
|
|
424
|
+
i0.ɵɵproperty("ngIf", !ctx.isLoading && ctx.collections.length === 0 && ctx.artifacts.length === 0 && !ctx.searchQuery);
|
|
425
|
+
i0.ɵɵadvance();
|
|
426
|
+
i0.ɵɵproperty("ngIf", !ctx.isLoading && ctx.collections.length === 0 && ctx.artifacts.length === 0 && ctx.searchQuery);
|
|
427
|
+
i0.ɵɵadvance();
|
|
428
|
+
i0.ɵɵproperty("ngIf", !ctx.isLoading && (ctx.filteredCollections.length > 0 || ctx.filteredArtifacts.length > 0));
|
|
429
|
+
i0.ɵɵadvance();
|
|
430
|
+
i0.ɵɵproperty("isOpen", ctx.isFormModalOpen)("collection", ctx.editingCollection)("parentCollection", ctx.currentCollection || undefined)("environmentId", ctx.environmentId)("currentUser", ctx.currentUser);
|
|
431
|
+
} }, dependencies: [i3.NgForOf, i3.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgModel, i5.CollectionFormModalComponent], styles: [".collections-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n }\n\n .collections-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 16px 24px;\n border-bottom: 1px solid #E5E7EB;\n gap: 16px;\n }\n\n .collections-breadcrumb[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .breadcrumb-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #6B7280;\n font-size: 14px;\n }\n\n .breadcrumb-link[_ngcontent-%COMP%] {\n color: #111827;\n font-weight: 500;\n cursor: pointer;\n text-decoration: none;\n white-space: nowrap;\n transition: color 150ms ease;\n }\n\n .breadcrumb-link[_ngcontent-%COMP%]:hover {\n color: #1e40af;\n }\n\n .breadcrumb-link.active[_ngcontent-%COMP%] {\n color: #6B7280;\n cursor: default;\n }\n\n .breadcrumb-path[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator[_ngcontent-%COMP%] {\n color: #D1D5DB;\n font-size: 10px;\n }\n\n .collections-search[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #F9FAFB;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n padding: 8px 12px;\n min-width: 300px;\n }\n\n .collections-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #9CA3AF;\n font-size: 14px;\n }\n\n .collection-search-input[_ngcontent-%COMP%] {\n border: none;\n background: transparent;\n outline: none;\n font-size: 14px;\n flex: 1;\n color: #111827;\n }\n\n .collection-search-input[_ngcontent-%COMP%]::placeholder {\n color: #9CA3AF;\n }\n\n .collections-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n }\n\n .btn-primary[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 16px;\n background: #1e40af;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n cursor: pointer;\n transition: background 150ms ease;\n }\n\n .btn-primary[_ngcontent-%COMP%]:hover {\n background: #1e3a8a;\n }\n\n .btn-secondary[_ngcontent-%COMP%] {\n padding: 8px 12px;\n background: transparent;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n cursor: pointer;\n color: #6B7280;\n transition: all 150ms ease;\n }\n\n .btn-secondary[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n color: #111827;\n }\n\n .btn-sm[_ngcontent-%COMP%] {\n padding: 6px 12px;\n font-size: 13px;\n }\n\n .collections-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #9CA3AF;\n max-width: 400px;\n margin: 0 auto;\n text-align: center;\n padding: 48px 24px;\n }\n\n .loading-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n }\n\n .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 64px;\n margin-bottom: 24px;\n opacity: 0.3;\n color: #D1D5DB;\n }\n\n .empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n color: #374151;\n font-size: 20px;\n font-weight: 600;\n }\n\n .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 24px 0;\n font-size: 14px;\n color: #6B7280;\n line-height: 1.5;\n }\n\n .loading-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n }\n\n .empty-state[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%] {\n padding: 10px 20px;\n font-size: 14px;\n font-weight: 500;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n }\n\n .empty-state[_ngcontent-%COMP%] .btn-primary[_ngcontent-%COMP%]:hover {\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\n }\n\n .content-grid[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 32px;\n }\n\n .section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .section-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #111827;\n }\n\n .section-count[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 24px;\n height: 24px;\n padding: 0 8px;\n background: #EFF6FF;\n border-radius: 12px;\n font-size: 13px;\n font-weight: 600;\n color: #1e40af;\n }\n\n .collection-grid[_ngcontent-%COMP%], .artifact-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .collection-card[_ngcontent-%COMP%], .artifact-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: start;\n gap: 16px;\n padding: 20px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n position: relative;\n }\n\n .collection-card[_ngcontent-%COMP%]:hover, .artifact-card[_ngcontent-%COMP%]:hover {\n border-color: #1e40af;\n box-shadow: 0 2px 8px rgba(0,0,0,0.08);\n }\n\n .card-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #EFF6FF;\n border-radius: 8px;\n flex-shrink: 0;\n }\n\n .card-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 20px;\n color: #1e40af;\n }\n\n .artifact-icon[_ngcontent-%COMP%] {\n background: #F0FDF4;\n }\n\n .artifact-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #059669;\n }\n\n .card-content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n }\n\n .card-name[_ngcontent-%COMP%] {\n font-size: 15px;\n font-weight: 500;\n color: #111827;\n margin-bottom: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .card-description[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #6B7280;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #9CA3AF;\n }\n\n .artifact-type[_ngcontent-%COMP%] {\n padding: 2px 8px;\n background: #F3F4F6;\n border-radius: 4px;\n font-weight: 500;\n }\n\n .card-actions[_ngcontent-%COMP%] {\n position: absolute;\n top: 12px;\n right: 12px;\n display: flex;\n gap: 4px;\n opacity: 0;\n transition: opacity 150ms ease;\n }\n\n .collection-card[_ngcontent-%COMP%]:hover .card-actions[_ngcontent-%COMP%], \n .artifact-card[_ngcontent-%COMP%]:hover .card-actions[_ngcontent-%COMP%] {\n opacity: 1;\n }\n\n .card-action-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n color: #6B7280;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .card-action-btn[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n color: #111827;\n border-color: #D1D5DB;\n }\n\n .card-action-btn.danger[_ngcontent-%COMP%]:hover {\n background: #FEE2E2;\n color: #DC2626;\n border-color: #FCA5A5;\n }"] });
|
|
432
|
+
}
|
|
433
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollectionsFullViewComponent, [{
|
|
434
|
+
type: Component,
|
|
435
|
+
args: [{ selector: 'mj-collections-full-view', template: `
|
|
436
|
+
<div class="collections-view">
|
|
437
|
+
<div class="collections-header">
|
|
438
|
+
<div class="collections-breadcrumb">
|
|
439
|
+
<div class="breadcrumb-item">
|
|
440
|
+
<i class="fas fa-home"></i>
|
|
441
|
+
<a class="breadcrumb-link" (click)="navigateToRoot()">Collections</a>
|
|
442
|
+
</div>
|
|
443
|
+
<span class="breadcrumb-path" *ngIf="breadcrumbs.length > 0">
|
|
444
|
+
<ng-container *ngFor="let crumb of breadcrumbs; let last = last">
|
|
445
|
+
<i class="fas fa-chevron-right breadcrumb-separator"></i>
|
|
446
|
+
<a class="breadcrumb-link"
|
|
447
|
+
[class.active]="last"
|
|
448
|
+
(click)="navigateTo(crumb)">
|
|
449
|
+
{{ crumb.name }}
|
|
450
|
+
</a>
|
|
451
|
+
</ng-container>
|
|
452
|
+
</span>
|
|
453
|
+
</div>
|
|
454
|
+
<div class="collections-search">
|
|
455
|
+
<i class="fas fa-search"></i>
|
|
456
|
+
<input type="text"
|
|
457
|
+
[(ngModel)]="searchQuery"
|
|
458
|
+
(ngModelChange)="onSearchChange($event)"
|
|
459
|
+
placeholder="Search collections and artifacts..."
|
|
460
|
+
class="collection-search-input">
|
|
461
|
+
</div>
|
|
462
|
+
<div class="collections-actions">
|
|
463
|
+
<button class="btn-primary" (click)="createCollection()" title="New Collection">
|
|
464
|
+
<i class="fas fa-folder-plus"></i>
|
|
465
|
+
New Collection
|
|
466
|
+
</button>
|
|
467
|
+
<button class="btn-secondary" (click)="refresh()" title="Refresh">
|
|
468
|
+
<i class="fas fa-sync"></i>
|
|
469
|
+
</button>
|
|
470
|
+
</div>
|
|
471
|
+
</div>
|
|
472
|
+
|
|
473
|
+
<div class="collections-content">
|
|
474
|
+
<div *ngIf="isLoading" class="loading-state">
|
|
475
|
+
<i class="fas fa-spinner fa-spin"></i>
|
|
476
|
+
<p>Loading collections...</p>
|
|
477
|
+
</div>
|
|
478
|
+
|
|
479
|
+
<div *ngIf="!isLoading && collections.length === 0 && artifacts.length === 0 && !searchQuery" class="empty-state">
|
|
480
|
+
<i class="fas fa-folder-open"></i>
|
|
481
|
+
<h3>No collections yet</h3>
|
|
482
|
+
<p>Create your first collection to organize artifacts</p>
|
|
483
|
+
<button class="btn-primary" (click)="createCollection()">
|
|
484
|
+
<i class="fas fa-folder-plus"></i>
|
|
485
|
+
Create Collection
|
|
486
|
+
</button>
|
|
487
|
+
</div>
|
|
488
|
+
|
|
489
|
+
<div *ngIf="!isLoading && collections.length === 0 && artifacts.length === 0 && searchQuery" class="empty-state">
|
|
490
|
+
<i class="fas fa-search"></i>
|
|
491
|
+
<p>No collections or artifacts found</p>
|
|
492
|
+
</div>
|
|
493
|
+
|
|
494
|
+
<div *ngIf="!isLoading && (filteredCollections.length > 0 || filteredArtifacts.length > 0)" class="content-grid">
|
|
495
|
+
<!-- Sub-collections -->
|
|
496
|
+
<div class="section" *ngIf="filteredCollections.length > 0">
|
|
497
|
+
<div class="section-header">
|
|
498
|
+
<h3>Collections</h3>
|
|
499
|
+
<span class="section-count">{{ filteredCollections.length }}</span>
|
|
500
|
+
</div>
|
|
501
|
+
<div class="collection-grid">
|
|
502
|
+
<div *ngFor="let collection of filteredCollections"
|
|
503
|
+
class="collection-card"
|
|
504
|
+
(click)="openCollection(collection)">
|
|
505
|
+
<div class="card-icon">
|
|
506
|
+
<i class="fas fa-folder"></i>
|
|
507
|
+
</div>
|
|
508
|
+
<div class="card-content">
|
|
509
|
+
<div class="card-name">{{ collection.Name }}</div>
|
|
510
|
+
<div class="card-description" *ngIf="collection.Description">
|
|
511
|
+
{{ collection.Description }}
|
|
512
|
+
</div>
|
|
513
|
+
</div>
|
|
514
|
+
<div class="card-actions" (click)="$event.stopPropagation()">
|
|
515
|
+
<button class="card-action-btn" (click)="editCollection(collection)" title="Edit">
|
|
516
|
+
<i class="fas fa-edit"></i>
|
|
517
|
+
</button>
|
|
518
|
+
<button class="card-action-btn danger" (click)="deleteCollection(collection)" title="Delete">
|
|
519
|
+
<i class="fas fa-trash"></i>
|
|
520
|
+
</button>
|
|
521
|
+
</div>
|
|
522
|
+
</div>
|
|
523
|
+
</div>
|
|
524
|
+
</div>
|
|
525
|
+
|
|
526
|
+
<!-- Artifacts in current collection -->
|
|
527
|
+
<div class="section" *ngIf="filteredArtifacts.length > 0">
|
|
528
|
+
<div class="section-header">
|
|
529
|
+
<h3>Artifacts</h3>
|
|
530
|
+
<span class="section-count">{{ filteredArtifacts.length }}</span>
|
|
531
|
+
<button class="btn-secondary btn-sm" (click)="addArtifact()" *ngIf="currentCollectionId">
|
|
532
|
+
<i class="fas fa-plus"></i>
|
|
533
|
+
Add Artifact
|
|
534
|
+
</button>
|
|
535
|
+
</div>
|
|
536
|
+
<div class="artifact-grid">
|
|
537
|
+
<div *ngFor="let artifact of filteredArtifacts"
|
|
538
|
+
class="artifact-card"
|
|
539
|
+
(click)="viewArtifact(artifact)">
|
|
540
|
+
<div class="card-icon artifact-icon">
|
|
541
|
+
<i class="fas fa-file-alt"></i>
|
|
542
|
+
</div>
|
|
543
|
+
<div class="card-content">
|
|
544
|
+
<div class="card-name">{{ artifact.Name }}</div>
|
|
545
|
+
<div class="card-meta">
|
|
546
|
+
<span class="artifact-type">{{ artifact.Type || 'Unknown' }}</span>
|
|
547
|
+
</div>
|
|
548
|
+
</div>
|
|
549
|
+
<div class="card-actions" (click)="$event.stopPropagation()">
|
|
550
|
+
<button class="card-action-btn" (click)="removeArtifact(artifact)" title="Remove from collection" *ngIf="currentCollectionId">
|
|
551
|
+
<i class="fas fa-times"></i>
|
|
552
|
+
</button>
|
|
553
|
+
</div>
|
|
554
|
+
</div>
|
|
555
|
+
</div>
|
|
556
|
+
</div>
|
|
557
|
+
</div>
|
|
558
|
+
</div>
|
|
559
|
+
</div>
|
|
560
|
+
|
|
561
|
+
<!-- Collection Form Modal -->
|
|
562
|
+
<mj-collection-form-modal
|
|
563
|
+
[isOpen]="isFormModalOpen"
|
|
564
|
+
[collection]="editingCollection"
|
|
565
|
+
[parentCollection]="currentCollection || undefined"
|
|
566
|
+
[environmentId]="environmentId"
|
|
567
|
+
[currentUser]="currentUser"
|
|
568
|
+
(saved)="onCollectionSaved($event)"
|
|
569
|
+
(cancelled)="onFormCancelled()">
|
|
570
|
+
</mj-collection-form-modal>
|
|
571
|
+
`, styles: ["\n .collections-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n }\n\n .collections-header {\n display: flex;\n align-items: center;\n padding: 16px 24px;\n border-bottom: 1px solid #E5E7EB;\n gap: 16px;\n }\n\n .collections-breadcrumb {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .breadcrumb-item i {\n color: #6B7280;\n font-size: 14px;\n }\n\n .breadcrumb-link {\n color: #111827;\n font-weight: 500;\n cursor: pointer;\n text-decoration: none;\n white-space: nowrap;\n transition: color 150ms ease;\n }\n\n .breadcrumb-link:hover {\n color: #1e40af;\n }\n\n .breadcrumb-link.active {\n color: #6B7280;\n cursor: default;\n }\n\n .breadcrumb-path {\n display: flex;\n align-items: center;\n gap: 8px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator {\n color: #D1D5DB;\n font-size: 10px;\n }\n\n .collections-search {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #F9FAFB;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n padding: 8px 12px;\n min-width: 300px;\n }\n\n .collections-search i {\n color: #9CA3AF;\n font-size: 14px;\n }\n\n .collection-search-input {\n border: none;\n background: transparent;\n outline: none;\n font-size: 14px;\n flex: 1;\n color: #111827;\n }\n\n .collection-search-input::placeholder {\n color: #9CA3AF;\n }\n\n .collections-actions {\n display: flex;\n gap: 8px;\n }\n\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 16px;\n background: #1e40af;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 14px;\n cursor: pointer;\n transition: background 150ms ease;\n }\n\n .btn-primary:hover {\n background: #1e3a8a;\n }\n\n .btn-secondary {\n padding: 8px 12px;\n background: transparent;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n cursor: pointer;\n color: #6B7280;\n transition: all 150ms ease;\n }\n\n .btn-secondary:hover {\n background: #F9FAFB;\n color: #111827;\n }\n\n .btn-sm {\n padding: 6px 12px;\n font-size: 13px;\n }\n\n .collections-content {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .loading-state, .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #9CA3AF;\n max-width: 400px;\n margin: 0 auto;\n text-align: center;\n padding: 48px 24px;\n }\n\n .loading-state i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n }\n\n .empty-state i {\n font-size: 64px;\n margin-bottom: 24px;\n opacity: 0.3;\n color: #D1D5DB;\n }\n\n .empty-state h3 {\n margin: 0 0 8px 0;\n color: #374151;\n font-size: 20px;\n font-weight: 600;\n }\n\n .empty-state p {\n margin: 0 0 24px 0;\n font-size: 14px;\n color: #6B7280;\n line-height: 1.5;\n }\n\n .loading-state p {\n margin: 0;\n font-size: 14px;\n }\n\n .empty-state .btn-primary {\n padding: 10px 20px;\n font-size: 14px;\n font-weight: 500;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n }\n\n .empty-state .btn-primary:hover {\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\n }\n\n .content-grid {\n display: flex;\n flex-direction: column;\n gap: 32px;\n }\n\n .section {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .section-header {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .section-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #111827;\n }\n\n .section-count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 24px;\n height: 24px;\n padding: 0 8px;\n background: #EFF6FF;\n border-radius: 12px;\n font-size: 13px;\n font-weight: 600;\n color: #1e40af;\n }\n\n .collection-grid, .artifact-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .collection-card, .artifact-card {\n display: flex;\n align-items: start;\n gap: 16px;\n padding: 20px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n position: relative;\n }\n\n .collection-card:hover, .artifact-card:hover {\n border-color: #1e40af;\n box-shadow: 0 2px 8px rgba(0,0,0,0.08);\n }\n\n .card-icon {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #EFF6FF;\n border-radius: 8px;\n flex-shrink: 0;\n }\n\n .card-icon i {\n font-size: 20px;\n color: #1e40af;\n }\n\n .artifact-icon {\n background: #F0FDF4;\n }\n\n .artifact-icon i {\n color: #059669;\n }\n\n .card-content {\n flex: 1;\n min-width: 0;\n }\n\n .card-name {\n font-size: 15px;\n font-weight: 500;\n color: #111827;\n margin-bottom: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .card-description {\n font-size: 13px;\n color: #6B7280;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .card-meta {\n font-size: 12px;\n color: #9CA3AF;\n }\n\n .artifact-type {\n padding: 2px 8px;\n background: #F3F4F6;\n border-radius: 4px;\n font-weight: 500;\n }\n\n .card-actions {\n position: absolute;\n top: 12px;\n right: 12px;\n display: flex;\n gap: 4px;\n opacity: 0;\n transition: opacity 150ms ease;\n }\n\n .collection-card:hover .card-actions,\n .artifact-card:hover .card-actions {\n opacity: 1;\n }\n\n .card-action-btn {\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n color: #6B7280;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .card-action-btn:hover {\n background: #F9FAFB;\n color: #111827;\n border-color: #D1D5DB;\n }\n\n .card-action-btn.danger:hover {\n background: #FEE2E2;\n color: #DC2626;\n border-color: #FCA5A5;\n }\n "] }]
|
|
572
|
+
}], () => [{ type: i1.DialogService }, { type: i2.ArtifactStateService }], { environmentId: [{
|
|
573
|
+
type: Input
|
|
574
|
+
}], currentUser: [{
|
|
575
|
+
type: Input
|
|
576
|
+
}] }); })();
|
|
577
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollectionsFullViewComponent, { className: "CollectionsFullViewComponent", filePath: "src/lib/components/collection/collections-full-view.component.ts", lineNumber: 514 }); })();
|
|
578
|
+
//# sourceMappingURL=collections-full-view.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections-full-view.component.js","sourceRoot":"","sources":["../../../../src/lib/components/collection/collections-full-view.component.ts"],"names":[],"mappings":"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"}
|