@memberjunction/ng-conversations 2.112.0 → 2.113.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/components/agent/active-agent-indicator.component.d.ts +1 -1
- package/dist/lib/components/agent/active-agent-indicator.component.d.ts.map +1 -1
- package/dist/lib/components/agent/active-agent-indicator.component.js +13 -15
- package/dist/lib/components/agent/active-agent-indicator.component.js.map +1 -1
- package/dist/lib/components/agent/agent-process-panel.component.d.ts +1 -1
- package/dist/lib/components/agent/agent-process-panel.component.d.ts.map +1 -1
- package/dist/lib/components/agent/agent-process-panel.component.js +14 -18
- package/dist/lib/components/agent/agent-process-panel.component.js.map +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.d.ts +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.js +11 -11
- package/dist/lib/components/artifact/artifact-share-modal.component.js.map +1 -1
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts +1 -1
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.js +30 -24
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.js.map +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.d.ts +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.js +10 -8
- package/dist/lib/components/collection/artifact-create-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts +9 -8
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-artifact-card.component.js +51 -35
- package/dist/lib/components/collection/collection-artifact-card.component.js.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.d.ts +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.js +6 -5
- package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.d.ts +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.js +12 -12
- package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.d.ts +1 -1
- package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.js +11 -11
- package/dist/lib/components/collection/collection-tree.component.js.map +1 -1
- package/dist/lib/components/collection/collection-view.component.d.ts +29 -10
- package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-view.component.js +128 -62
- package/dist/lib/components/collection/collection-view.component.js.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.d.ts +19 -7
- package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.js +99 -69
- package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +38 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.js +303 -181
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.d.ts +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.js +21 -21
- package/dist/lib/components/conversation/conversation-empty-state.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.d.ts +11 -4
- package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.js +122 -81
- package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
- package/dist/lib/components/export/export-modal.component.d.ts +1 -1
- package/dist/lib/components/export/export-modal.component.d.ts.map +1 -1
- package/dist/lib/components/export/export-modal.component.js +11 -9
- package/dist/lib/components/export/export-modal.component.js.map +1 -1
- package/dist/lib/components/global-tasks/global-tasks-panel.component.d.ts +25 -0
- package/dist/lib/components/global-tasks/global-tasks-panel.component.d.ts.map +1 -0
- package/dist/lib/components/global-tasks/global-tasks-panel.component.js +206 -0
- package/dist/lib/components/global-tasks/global-tasks-panel.component.js.map +1 -0
- package/dist/lib/components/library/library-full-view.component.d.ts +1 -1
- package/dist/lib/components/library/library-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/library/library-full-view.component.js +6 -5
- package/dist/lib/components/library/library-full-view.component.js.map +1 -1
- package/dist/lib/components/members/members-modal.component.d.ts +1 -1
- package/dist/lib/components/members/members-modal.component.d.ts.map +1 -1
- package/dist/lib/components/members/members-modal.component.js +8 -8
- package/dist/lib/components/members/members-modal.component.js.map +1 -1
- package/dist/lib/components/message/conversation-message-rating.component.d.ts +47 -0
- package/dist/lib/components/message/conversation-message-rating.component.d.ts.map +1 -0
- package/dist/lib/components/message/conversation-message-rating.component.js +224 -0
- package/dist/lib/components/message/conversation-message-rating.component.js.map +1 -0
- package/dist/lib/components/message/message-input-box.component.d.ts +1 -1
- package/dist/lib/components/message/message-input-box.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input-box.component.js +4 -14
- package/dist/lib/components/message/message-input-box.component.js.map +1 -1
- package/dist/lib/components/message/message-input.component.d.ts +18 -3
- package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input.component.js +288 -297
- package/dist/lib/components/message/message-input.component.js.map +1 -1
- package/dist/lib/components/message/message-item.component.d.ts +32 -2
- package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-item.component.js +253 -129
- package/dist/lib/components/message/message-item.component.js.map +1 -1
- package/dist/lib/components/message/message-list.component.d.ts +4 -2
- package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-list.component.js +35 -18
- package/dist/lib/components/message/message-list.component.js.map +1 -1
- package/dist/lib/components/navigation/conversation-navigation.component.d.ts +7 -1
- package/dist/lib/components/navigation/conversation-navigation.component.d.ts.map +1 -1
- package/dist/lib/components/navigation/conversation-navigation.component.js +24 -14
- package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -1
- package/dist/lib/components/project/project-form-modal.component.d.ts +1 -1
- package/dist/lib/components/project/project-form-modal.component.d.ts.map +1 -1
- package/dist/lib/components/project/project-form-modal.component.js +7 -7
- package/dist/lib/components/project/project-form-modal.component.js.map +1 -1
- package/dist/lib/components/project/project-selector.component.d.ts +1 -1
- package/dist/lib/components/project/project-selector.component.d.ts.map +1 -1
- package/dist/lib/components/project/project-selector.component.js +10 -10
- package/dist/lib/components/project/project-selector.component.js.map +1 -1
- package/dist/lib/components/search/search-panel.component.d.ts +1 -1
- package/dist/lib/components/search/search-panel.component.d.ts.map +1 -1
- package/dist/lib/components/search/search-panel.component.js +16 -8
- package/dist/lib/components/search/search-panel.component.js.map +1 -1
- package/dist/lib/components/share/share-modal.component.d.ts +1 -1
- package/dist/lib/components/share/share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/share/share-modal.component.js +12 -12
- package/dist/lib/components/share/share-modal.component.js.map +1 -1
- package/dist/lib/components/shared/user-picker.component.d.ts +1 -1
- package/dist/lib/components/shared/user-picker.component.d.ts.map +1 -1
- package/dist/lib/components/shared/user-picker.component.js +7 -7
- package/dist/lib/components/shared/user-picker.component.js.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.js +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -1
- package/dist/lib/components/task/tasks-full-view.component.d.ts +1 -1
- package/dist/lib/components/task/tasks-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/task/tasks-full-view.component.js +20 -18
- package/dist/lib/components/task/tasks-full-view.component.js.map +1 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +18 -29
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.js +178 -218
- package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
- package/dist/lib/components/thread/thread-panel.component.d.ts +1 -1
- package/dist/lib/components/thread/thread-panel.component.d.ts.map +1 -1
- package/dist/lib/components/thread/thread-panel.component.js +2 -2
- package/dist/lib/components/thread/thread-panel.component.js.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts +15 -9
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.js +126 -79
- package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
- package/dist/lib/conversations.module.d.ts +54 -52
- package/dist/lib/conversations.module.d.ts.map +1 -1
- package/dist/lib/conversations.module.js +11 -3
- package/dist/lib/conversations.module.js.map +1 -1
- package/dist/lib/models/conversation-complete-query.model.d.ts +31 -22
- package/dist/lib/models/conversation-complete-query.model.d.ts.map +1 -1
- package/dist/lib/models/conversation-complete-query.model.js +5 -2
- package/dist/lib/models/conversation-complete-query.model.js.map +1 -1
- package/dist/lib/models/lazy-artifact-info.d.ts +4 -1
- package/dist/lib/models/lazy-artifact-info.d.ts.map +1 -1
- package/dist/lib/models/lazy-artifact-info.js +12 -4
- package/dist/lib/models/lazy-artifact-info.js.map +1 -1
- package/dist/lib/services/active-tasks.service.d.ts +18 -0
- package/dist/lib/services/active-tasks.service.d.ts.map +1 -1
- package/dist/lib/services/active-tasks.service.js +53 -3
- package/dist/lib/services/active-tasks.service.js.map +1 -1
- package/dist/lib/services/agent-state.service.d.ts +1 -1
- package/dist/lib/services/agent-state.service.d.ts.map +1 -1
- package/dist/lib/services/agent-state.service.js +11 -11
- package/dist/lib/services/agent-state.service.js.map +1 -1
- package/dist/lib/services/artifact-permission.service.d.ts +1 -1
- package/dist/lib/services/artifact-permission.service.d.ts.map +1 -1
- package/dist/lib/services/artifact-permission.service.js +15 -13
- package/dist/lib/services/artifact-permission.service.js.map +1 -1
- package/dist/lib/services/artifact-state.service.d.ts +23 -6
- package/dist/lib/services/artifact-state.service.d.ts.map +1 -1
- package/dist/lib/services/artifact-state.service.js +129 -38
- package/dist/lib/services/artifact-state.service.js.map +1 -1
- package/dist/lib/services/artifact-use-tracking.service.d.ts +35 -0
- package/dist/lib/services/artifact-use-tracking.service.d.ts.map +1 -0
- package/dist/lib/services/artifact-use-tracking.service.js +76 -0
- package/dist/lib/services/artifact-use-tracking.service.js.map +1 -0
- package/dist/lib/services/collection-permission.service.d.ts +1 -1
- package/dist/lib/services/collection-permission.service.d.ts.map +1 -1
- package/dist/lib/services/collection-permission.service.js +13 -13
- package/dist/lib/services/collection-permission.service.js.map +1 -1
- package/dist/lib/services/conversation-agent.service.d.ts +30 -3
- package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-agent.service.js +127 -34
- package/dist/lib/services/conversation-agent.service.js.map +1 -1
- package/dist/lib/services/conversation-state.service.d.ts +14 -1
- package/dist/lib/services/conversation-state.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-state.service.js +36 -9
- package/dist/lib/services/conversation-state.service.js.map +1 -1
- package/dist/lib/services/data-cache.service.d.ts +1 -1
- package/dist/lib/services/data-cache.service.d.ts.map +1 -1
- package/dist/lib/services/data-cache.service.js +13 -13
- package/dist/lib/services/data-cache.service.js.map +1 -1
- package/dist/lib/services/export.service.d.ts +1 -1
- package/dist/lib/services/export.service.d.ts.map +1 -1
- package/dist/lib/services/export.service.js +13 -15
- package/dist/lib/services/export.service.js.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.d.ts +1 -1
- package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.js +5 -5
- package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
- package/dist/lib/services/mention-parser.service.d.ts +1 -1
- package/dist/lib/services/mention-parser.service.d.ts.map +1 -1
- package/dist/lib/services/mention-parser.service.js +16 -13
- package/dist/lib/services/mention-parser.service.js.map +1 -1
- package/dist/lib/services/search.service.d.ts +1 -1
- package/dist/lib/services/search.service.d.ts.map +1 -1
- package/dist/lib/services/search.service.js +32 -26
- package/dist/lib/services/search.service.js.map +1 -1
- package/dist/public-api.d.ts +3 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +14 -13
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { RunView, Metadata } from '@memberjunction/
|
|
2
|
+
import { RunView, Metadata } from '@memberjunction/core';
|
|
3
3
|
import { MJNotificationService } from '@memberjunction/ng-notifications';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/common";
|
|
6
6
|
import * as i2 from "@progress/kendo-angular-dropdowns";
|
|
7
7
|
import * as i3 from "@memberjunction/ng-artifacts";
|
|
8
8
|
import * as i4 from "./collection-artifact-card.component";
|
|
9
|
+
const _forTrack0 = ($index, $item) => $item.version.ID;
|
|
9
10
|
function CollectionViewComponent_button_11_Template(rf, ctx) { if (rf & 1) {
|
|
10
11
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
11
12
|
i0.ɵɵelementStart(0, "button", 14);
|
|
@@ -35,44 +36,50 @@ function CollectionViewComponent_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
|
35
36
|
i0.ɵɵadvance(4);
|
|
36
37
|
i0.ɵɵproperty("ngIf", ctx_r1.canEdit);
|
|
37
38
|
} }
|
|
38
|
-
function
|
|
39
|
+
function CollectionViewComponent_For_15_Template(rf, ctx) { if (rf & 1) {
|
|
39
40
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
40
41
|
i0.ɵɵelementStart(0, "mj-collection-artifact-card", 20);
|
|
41
|
-
i0.ɵɵlistener("selected", function
|
|
42
|
+
i0.ɵɵlistener("selected", function CollectionViewComponent_For_15_Template_mj_collection_artifact_card_selected_0_listener() { const item_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onArtifactSelected(item_r5)); })("viewed", function CollectionViewComponent_For_15_Template_mj_collection_artifact_card_viewed_0_listener() { const item_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onViewArtifact(item_r5)); })("edited", function CollectionViewComponent_For_15_Template_mj_collection_artifact_card_edited_0_listener() { const item_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onEditArtifact(item_r5)); })("removed", function CollectionViewComponent_For_15_Template_mj_collection_artifact_card_removed_0_listener() { const item_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onRemoveArtifact(item_r5)); });
|
|
42
43
|
i0.ɵɵelementEnd();
|
|
43
44
|
} if (rf & 2) {
|
|
44
|
-
const
|
|
45
|
-
i0.ɵɵproperty("artifact",
|
|
45
|
+
const item_r5 = ctx.$implicit;
|
|
46
|
+
i0.ɵɵproperty("artifact", item_r5.artifact)("version", item_r5.version);
|
|
46
47
|
} }
|
|
47
|
-
function
|
|
48
|
+
function CollectionViewComponent_div_16_Template(rf, ctx) { if (rf & 1) {
|
|
48
49
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
49
50
|
i0.ɵɵelementStart(0, "div", 21);
|
|
50
|
-
i0.ɵɵlistener("click", function
|
|
51
|
+
i0.ɵɵlistener("click", function CollectionViewComponent_div_16_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCloseArtifactViewer()); });
|
|
51
52
|
i0.ɵɵelementStart(1, "div", 22);
|
|
52
|
-
i0.ɵɵlistener("click", function
|
|
53
|
+
i0.ɵɵlistener("click", function CollectionViewComponent_div_16_Template_div_click_1_listener($event) { i0.ɵɵrestoreView(_r6); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
53
54
|
i0.ɵɵelementStart(2, "mj-artifact-viewer-panel", 23);
|
|
54
|
-
i0.ɵɵlistener("closed", function
|
|
55
|
+
i0.ɵɵlistener("closed", function CollectionViewComponent_div_16_Template_mj_artifact_viewer_panel_closed_2_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCloseArtifactViewer()); });
|
|
55
56
|
i0.ɵɵelementEnd()()();
|
|
56
57
|
} if (rf & 2) {
|
|
57
58
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
58
59
|
i0.ɵɵadvance(2);
|
|
59
|
-
i0.ɵɵproperty("artifactId", ctx_r1.selectedArtifactId)("currentUser", ctx_r1.currentUser)("environmentId", ctx_r1.environmentId);
|
|
60
|
+
i0.ɵɵproperty("artifactId", ctx_r1.selectedArtifactId)("versionNumber", ctx_r1.selectedVersionNumber)("currentUser", ctx_r1.currentUser)("environmentId", ctx_r1.environmentId)("viewContext", "collection")("contextCollectionId", ctx_r1.collection.ID);
|
|
60
61
|
} }
|
|
61
62
|
export class CollectionViewComponent {
|
|
63
|
+
cdr;
|
|
62
64
|
collection;
|
|
63
65
|
currentUser;
|
|
64
66
|
environmentId;
|
|
65
67
|
canEdit = true;
|
|
66
|
-
|
|
68
|
+
// Store versions with parent artifact info for display
|
|
69
|
+
artifactVersions = [];
|
|
67
70
|
viewMode = 'grid';
|
|
68
71
|
sortBy = 'date';
|
|
69
72
|
selectedArtifactId = null;
|
|
73
|
+
selectedVersionNumber = undefined;
|
|
70
74
|
showArtifactViewer = false;
|
|
71
75
|
sortOptions = [
|
|
72
76
|
{ label: 'Name', value: 'name' },
|
|
73
77
|
{ label: 'Date Modified', value: 'date' },
|
|
74
|
-
{ label: 'Type', value: 'type' }
|
|
78
|
+
{ label: 'Type', value: 'type' }
|
|
75
79
|
];
|
|
80
|
+
constructor(cdr) {
|
|
81
|
+
this.cdr = cdr;
|
|
82
|
+
}
|
|
76
83
|
ngOnInit() {
|
|
77
84
|
this.loadArtifacts();
|
|
78
85
|
}
|
|
@@ -81,33 +88,69 @@ export class CollectionViewComponent {
|
|
|
81
88
|
this.loadArtifacts();
|
|
82
89
|
}
|
|
83
90
|
}
|
|
91
|
+
ngOnDestroy() {
|
|
92
|
+
// Close artifact viewer when navigating away from collection
|
|
93
|
+
if (this.showArtifactViewer) {
|
|
94
|
+
this.onCloseArtifactViewer();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
84
97
|
async loadArtifacts() {
|
|
85
98
|
if (!this.collection)
|
|
86
99
|
return;
|
|
87
100
|
try {
|
|
88
101
|
const rv = new RunView();
|
|
89
|
-
|
|
90
|
-
//
|
|
91
|
-
const
|
|
92
|
-
EntityName: 'MJ:
|
|
93
|
-
ExtraFilter: `ID IN (
|
|
94
|
-
|
|
95
|
-
|
|
102
|
+
const md = new Metadata();
|
|
103
|
+
// Load ALL VERSIONS in this collection (no DISTINCT - each version is separate)
|
|
104
|
+
const versionResult = await rv.RunView({
|
|
105
|
+
EntityName: 'MJ: Artifact Versions',
|
|
106
|
+
ExtraFilter: `ID IN (
|
|
107
|
+
SELECT ca.ArtifactVersionID
|
|
108
|
+
FROM [__mj].[vwCollectionArtifacts] ca
|
|
109
|
+
WHERE ca.CollectionID='${this.collection.ID}'
|
|
110
|
+
)`,
|
|
111
|
+
OrderBy: this.getVersionOrderBy(),
|
|
112
|
+
ResultType: 'entity_object'
|
|
96
113
|
}, this.currentUser);
|
|
97
|
-
if (
|
|
98
|
-
|
|
114
|
+
if (versionResult.Success && versionResult.Results) {
|
|
115
|
+
// Get unique artifact IDs
|
|
116
|
+
const artifactIds = [...new Set(versionResult.Results.map(v => v.ArtifactID))];
|
|
117
|
+
// Load parent artifact info (just for display metadata - no visibility filtering)
|
|
118
|
+
const artifactMap = new Map();
|
|
119
|
+
if (artifactIds.length > 0) {
|
|
120
|
+
const artifactFilter = artifactIds.map(id => `ID='${id}'`).join(' OR ');
|
|
121
|
+
const artifactResult = await rv.RunView({
|
|
122
|
+
EntityName: 'MJ: Artifacts',
|
|
123
|
+
ExtraFilter: artifactFilter,
|
|
124
|
+
ResultType: 'entity_object'
|
|
125
|
+
}, this.currentUser);
|
|
126
|
+
if (artifactResult.Success && artifactResult.Results) {
|
|
127
|
+
artifactResult.Results.forEach(a => artifactMap.set(a.ID, a));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Combine version + artifact info
|
|
131
|
+
this.artifactVersions = versionResult.Results
|
|
132
|
+
.map(version => ({
|
|
133
|
+
version,
|
|
134
|
+
artifact: artifactMap.get(version.ArtifactID)
|
|
135
|
+
}))
|
|
136
|
+
.filter(item => item.artifact != null); // Filter out any without parent artifact
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
this.artifactVersions = [];
|
|
99
140
|
}
|
|
100
141
|
}
|
|
101
142
|
catch (error) {
|
|
102
143
|
console.error('Failed to load collection artifacts:', error);
|
|
144
|
+
this.artifactVersions = [];
|
|
103
145
|
}
|
|
104
146
|
}
|
|
105
|
-
|
|
147
|
+
getVersionOrderBy() {
|
|
106
148
|
switch (this.sortBy) {
|
|
107
149
|
case 'name':
|
|
108
|
-
return 'Name ASC';
|
|
150
|
+
return 'Name ASC, VersionNumber DESC';
|
|
109
151
|
case 'type':
|
|
110
|
-
|
|
152
|
+
// Will sort by parent artifact type (handled in template)
|
|
153
|
+
return 'ArtifactID ASC, VersionNumber DESC';
|
|
111
154
|
case 'date':
|
|
112
155
|
default:
|
|
113
156
|
return '__mj_UpdatedAt DESC';
|
|
@@ -116,44 +159,48 @@ export class CollectionViewComponent {
|
|
|
116
159
|
onSortChange() {
|
|
117
160
|
this.loadArtifacts();
|
|
118
161
|
}
|
|
119
|
-
onArtifactSelected(
|
|
120
|
-
console.log('Artifact selected:', artifact.ID);
|
|
162
|
+
onArtifactSelected(item) {
|
|
121
163
|
// TODO: Emit event or navigate to artifact detail view
|
|
122
164
|
}
|
|
123
|
-
onViewArtifact(
|
|
124
|
-
|
|
125
|
-
this.
|
|
165
|
+
onViewArtifact(item) {
|
|
166
|
+
this.selectedArtifactId = item.artifact.ID;
|
|
167
|
+
this.selectedVersionNumber = item.version.VersionNumber;
|
|
168
|
+
// Force change detection to ensure Input bindings propagate before component creation
|
|
169
|
+
this.cdr.detectChanges();
|
|
126
170
|
this.showArtifactViewer = true;
|
|
127
171
|
}
|
|
128
172
|
onCloseArtifactViewer() {
|
|
129
173
|
this.showArtifactViewer = false;
|
|
130
174
|
this.selectedArtifactId = null;
|
|
175
|
+
this.selectedVersionNumber = undefined;
|
|
131
176
|
}
|
|
132
|
-
onEditArtifact(
|
|
133
|
-
console.log('Edit artifact:', artifact.ID);
|
|
177
|
+
onEditArtifact(item) {
|
|
134
178
|
// TODO: Open artifact editor
|
|
135
179
|
}
|
|
136
|
-
async onRemoveArtifact(
|
|
137
|
-
|
|
180
|
+
async onRemoveArtifact(item) {
|
|
181
|
+
const versionLabel = `"${item.artifact.Name}" v${item.version.VersionNumber}`;
|
|
182
|
+
if (!confirm(`Remove ${versionLabel} from this collection?`))
|
|
138
183
|
return;
|
|
139
184
|
try {
|
|
140
|
-
//
|
|
185
|
+
// Delete THIS SPECIFIC VERSION from the collection
|
|
141
186
|
const rv = new RunView();
|
|
142
187
|
const result = await rv.RunView({
|
|
143
188
|
EntityName: 'MJ: Collection Artifacts',
|
|
144
|
-
ExtraFilter: `CollectionID='${this.collection.ID}' AND
|
|
145
|
-
ResultType: 'entity_object'
|
|
189
|
+
ExtraFilter: `CollectionID='${this.collection.ID}' AND ArtifactVersionID='${item.version.ID}'`,
|
|
190
|
+
ResultType: 'entity_object'
|
|
146
191
|
}, this.currentUser);
|
|
147
192
|
if (result.Success && result.Results && result.Results.length > 0) {
|
|
148
|
-
|
|
149
|
-
|
|
193
|
+
// Delete this version association
|
|
194
|
+
for (const joinRecord of result.Results) {
|
|
195
|
+
await joinRecord.Delete();
|
|
196
|
+
}
|
|
150
197
|
await this.loadArtifacts();
|
|
151
|
-
MJNotificationService.Instance.CreateSimpleNotification(`Removed
|
|
198
|
+
MJNotificationService.Instance.CreateSimpleNotification(`Removed ${versionLabel} from collection`, 'success', 3000);
|
|
152
199
|
}
|
|
153
200
|
}
|
|
154
201
|
catch (error) {
|
|
155
|
-
console.error('Failed to remove artifact from collection:', error);
|
|
156
|
-
MJNotificationService.Instance.CreateSimpleNotification('Failed to remove artifact from collection', 'error');
|
|
202
|
+
console.error('Failed to remove artifact version from collection:', error);
|
|
203
|
+
MJNotificationService.Instance.CreateSimpleNotification('Failed to remove artifact version from collection', 'error');
|
|
157
204
|
}
|
|
158
205
|
}
|
|
159
206
|
async onAddArtifact() {
|
|
@@ -171,10 +218,23 @@ export class CollectionViewComponent {
|
|
|
171
218
|
// For now, skip setting type - it has a default
|
|
172
219
|
const saved = await artifact.Save();
|
|
173
220
|
if (saved) {
|
|
174
|
-
//
|
|
221
|
+
// Get the latest version of this artifact to add to collection
|
|
222
|
+
const rv = new RunView();
|
|
223
|
+
const versionResult = await rv.RunView({
|
|
224
|
+
EntityName: 'MJ: Artifact Versions',
|
|
225
|
+
ExtraFilter: `ArtifactID='${artifact.ID}'`,
|
|
226
|
+
OrderBy: 'VersionNumber DESC',
|
|
227
|
+
MaxRows: 1,
|
|
228
|
+
ResultType: 'entity_object'
|
|
229
|
+
}, this.currentUser);
|
|
230
|
+
if (!versionResult.Success || !versionResult.Results || versionResult.Results.length === 0) {
|
|
231
|
+
alert('Failed to get artifact version');
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
// Add to collection via join table using version ID
|
|
175
235
|
const joinRecord = await md.GetEntityObject('MJ: Collection Artifacts', this.currentUser);
|
|
176
236
|
joinRecord.CollectionID = this.collection.ID;
|
|
177
|
-
joinRecord.
|
|
237
|
+
joinRecord.ArtifactVersionID = versionResult.Results[0].ID;
|
|
178
238
|
await joinRecord.Save();
|
|
179
239
|
await this.loadArtifacts();
|
|
180
240
|
}
|
|
@@ -184,8 +244,8 @@ export class CollectionViewComponent {
|
|
|
184
244
|
alert('Failed to add artifact');
|
|
185
245
|
}
|
|
186
246
|
}
|
|
187
|
-
static ɵfac = function CollectionViewComponent_Factory(t) { return new (t || CollectionViewComponent)(); };
|
|
188
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollectionViewComponent, selectors: [["mj-collection-view"]], inputs: { collection: "collection", currentUser: "currentUser", environmentId: "environmentId", canEdit: "canEdit" }, features: [i0.ɵɵNgOnChangesFeature], decls:
|
|
247
|
+
static ɵfac = function CollectionViewComponent_Factory(t) { return new (t || CollectionViewComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
248
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollectionViewComponent, selectors: [["mj-collection-view"]], inputs: { collection: "collection", currentUser: "currentUser", environmentId: "environmentId", canEdit: "canEdit" }, features: [i0.ɵɵNgOnChangesFeature], decls: 17, vars: 18, consts: [[1, "collection-view"], [1, "view-header"], [1, "header-actions"], [1, "view-mode-toggle"], ["title", "Grid View", 1, "mode-btn", 3, "click"], [1, "fas", "fa-grid"], ["title", "List View", 1, "mode-btn", 3, "click"], [1, "fas", "fa-list"], ["placeholder", "Sort by...", 3, "valueChange", "data", "textField", "valueField", "value"], ["class", "btn-add", "title", "Add Artifact", 3, "click", 4, "ngIf"], [1, "view-content"], ["class", "empty-state", 4, "ngIf"], [3, "artifact", "version"], ["class", "artifact-viewer-overlay", 3, "click", 4, "ngIf"], ["title", "Add Artifact", 1, "btn-add", 3, "click"], [1, "fas", "fa-plus"], [1, "empty-state"], [1, "fas", "fa-folder-open"], ["class", "btn-add-primary", 3, "click", 4, "ngIf"], [1, "btn-add-primary", 3, "click"], [3, "selected", "viewed", "edited", "removed", "artifact", "version"], [1, "artifact-viewer-overlay", 3, "click"], [1, "artifact-viewer-container", 3, "click"], [3, "closed", "artifactId", "versionNumber", "currentUser", "environmentId", "viewContext", "contextCollectionId"]], template: function CollectionViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
189
249
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h2");
|
|
190
250
|
i0.ɵɵtext(3);
|
|
191
251
|
i0.ɵɵelementEnd();
|
|
@@ -204,9 +264,10 @@ export class CollectionViewComponent {
|
|
|
204
264
|
i0.ɵɵtemplate(11, CollectionViewComponent_button_11_Template, 3, 0, "button", 9);
|
|
205
265
|
i0.ɵɵelementEnd()();
|
|
206
266
|
i0.ɵɵelementStart(12, "div", 10);
|
|
207
|
-
i0.ɵɵtemplate(13, CollectionViewComponent_div_13_Template, 5, 1, "div", 11)
|
|
267
|
+
i0.ɵɵtemplate(13, CollectionViewComponent_div_13_Template, 5, 1, "div", 11);
|
|
268
|
+
i0.ɵɵrepeaterCreate(14, CollectionViewComponent_For_15_Template, 1, 2, "mj-collection-artifact-card", 12, _forTrack0);
|
|
208
269
|
i0.ɵɵelementEnd()();
|
|
209
|
-
i0.ɵɵtemplate(
|
|
270
|
+
i0.ɵɵtemplate(16, CollectionViewComponent_div_16_Template, 3, 6, "div", 13);
|
|
210
271
|
} if (rf & 2) {
|
|
211
272
|
i0.ɵɵadvance(3);
|
|
212
273
|
i0.ɵɵtextInterpolate(ctx.collection.Name || "Collection");
|
|
@@ -223,12 +284,12 @@ export class CollectionViewComponent {
|
|
|
223
284
|
i0.ɵɵadvance();
|
|
224
285
|
i0.ɵɵclassProp("grid-mode", ctx.viewMode === "grid")("list-mode", ctx.viewMode === "list");
|
|
225
286
|
i0.ɵɵadvance();
|
|
226
|
-
i0.ɵɵproperty("ngIf", ctx.
|
|
227
|
-
i0.ɵɵadvance();
|
|
228
|
-
i0.ɵɵproperty("ngForOf", ctx.artifacts);
|
|
287
|
+
i0.ɵɵproperty("ngIf", ctx.artifactVersions.length === 0);
|
|
229
288
|
i0.ɵɵadvance();
|
|
289
|
+
i0.ɵɵrepeater(ctx.artifactVersions);
|
|
290
|
+
i0.ɵɵadvance(2);
|
|
230
291
|
i0.ɵɵproperty("ngIf", ctx.showArtifactViewer && ctx.selectedArtifactId);
|
|
231
|
-
} }, dependencies: [i1.
|
|
292
|
+
} }, dependencies: [i1.NgIf, i2.DropDownListComponent, i3.ArtifactViewerPanelComponent, i4.CollectionArtifactCardComponent], styles: [".collection-view[_ngcontent-%COMP%] { display: flex; flex-direction: column; height: 100%; background: white; }\n\n .view-header[_ngcontent-%COMP%] { padding: 20px 24px; border-bottom: 1px solid #D9D9D9; display: flex; justify-content: space-between; align-items: center; }\n .view-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] { margin: 0; font-size: 20px; flex: 1; }\n\n .header-actions[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 12px; }\n\n .view-mode-toggle[_ngcontent-%COMP%] { display: flex; border: 1px solid #D9D9D9; border-radius: 4px; overflow: hidden; }\n .mode-btn[_ngcontent-%COMP%] { padding: 8px 12px; background: white; border: none; border-right: 1px solid #D9D9D9; cursor: pointer; color: #666; transition: all 150ms ease; }\n .mode-btn[_ngcontent-%COMP%]:last-child { border-right: none; }\n .mode-btn[_ngcontent-%COMP%]:hover { background: #F4F4F4; }\n .mode-btn.active[_ngcontent-%COMP%] { background: #0076B6; color: white; }\n\n .btn-add[_ngcontent-%COMP%] { padding: 8px 16px; background: #0076B6; color: white; border: none; border-radius: 4px; cursor: pointer; display: flex; align-items: center; gap: 6px; }\n .btn-add[_ngcontent-%COMP%]:hover { background: #005A8C; }\n\n .view-content[_ngcontent-%COMP%] { flex: 1; overflow-y: auto; padding: 24px; }\n .view-content.grid-mode[_ngcontent-%COMP%] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }\n .view-content.list-mode[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 12px; }\n\n .empty-state[_ngcontent-%COMP%] { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 64px 24px; color: #999; }\n .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 64px; margin-bottom: 24px; }\n .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] { margin: 0 0 24px 0; font-size: 16px; }\n .btn-add-primary[_ngcontent-%COMP%] { padding: 12px 24px; background: #0076B6; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; display: flex; align-items: center; gap: 8px; }\n .btn-add-primary[_ngcontent-%COMP%]:hover { background: #005A8C; }\n\n .artifact-viewer-overlay[_ngcontent-%COMP%] { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 10000; }\n .artifact-viewer-container[_ngcontent-%COMP%] { width: 90%; max-width: 1200px; height: 90vh; background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); }"] });
|
|
232
293
|
}
|
|
233
294
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollectionViewComponent, [{
|
|
234
295
|
type: Component,
|
|
@@ -271,7 +332,7 @@ export class CollectionViewComponent {
|
|
|
271
332
|
</div>
|
|
272
333
|
|
|
273
334
|
<div class="view-content" [class.grid-mode]="viewMode === 'grid'" [class.list-mode]="viewMode === 'list'">
|
|
274
|
-
<div *ngIf="
|
|
335
|
+
<div *ngIf="artifactVersions.length === 0" class="empty-state">
|
|
275
336
|
<i class="fas fa-folder-open"></i>
|
|
276
337
|
<p>This collection is empty</p>
|
|
277
338
|
<button class="btn-add-primary" (click)="onAddArtifact()" *ngIf="canEdit">
|
|
@@ -279,14 +340,16 @@ export class CollectionViewComponent {
|
|
|
279
340
|
</button>
|
|
280
341
|
</div>
|
|
281
342
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
343
|
+
@for (item of artifactVersions; track item.version.ID) {
|
|
344
|
+
<mj-collection-artifact-card
|
|
345
|
+
[artifact]="item.artifact"
|
|
346
|
+
[version]="item.version"
|
|
347
|
+
(selected)="onArtifactSelected(item)"
|
|
348
|
+
(viewed)="onViewArtifact(item)"
|
|
349
|
+
(edited)="onEditArtifact(item)"
|
|
350
|
+
(removed)="onRemoveArtifact(item)">
|
|
351
|
+
</mj-collection-artifact-card>
|
|
352
|
+
}
|
|
290
353
|
</div>
|
|
291
354
|
</div>
|
|
292
355
|
|
|
@@ -295,14 +358,17 @@ export class CollectionViewComponent {
|
|
|
295
358
|
<div class="artifact-viewer-container" (click)="$event.stopPropagation()">
|
|
296
359
|
<mj-artifact-viewer-panel
|
|
297
360
|
[artifactId]="selectedArtifactId"
|
|
361
|
+
[versionNumber]="selectedVersionNumber"
|
|
298
362
|
[currentUser]="currentUser"
|
|
299
363
|
[environmentId]="environmentId"
|
|
364
|
+
[viewContext]="'collection'"
|
|
365
|
+
[contextCollectionId]="collection.ID"
|
|
300
366
|
(closed)="onCloseArtifactViewer()">
|
|
301
367
|
</mj-artifact-viewer-panel>
|
|
302
368
|
</div>
|
|
303
369
|
</div>
|
|
304
370
|
`, styles: ["\n .collection-view { display: flex; flex-direction: column; height: 100%; background: white; }\n\n .view-header { padding: 20px 24px; border-bottom: 1px solid #D9D9D9; display: flex; justify-content: space-between; align-items: center; }\n .view-header h2 { margin: 0; font-size: 20px; flex: 1; }\n\n .header-actions { display: flex; align-items: center; gap: 12px; }\n\n .view-mode-toggle { display: flex; border: 1px solid #D9D9D9; border-radius: 4px; overflow: hidden; }\n .mode-btn { padding: 8px 12px; background: white; border: none; border-right: 1px solid #D9D9D9; cursor: pointer; color: #666; transition: all 150ms ease; }\n .mode-btn:last-child { border-right: none; }\n .mode-btn:hover { background: #F4F4F4; }\n .mode-btn.active { background: #0076B6; color: white; }\n\n .btn-add { padding: 8px 16px; background: #0076B6; color: white; border: none; border-radius: 4px; cursor: pointer; display: flex; align-items: center; gap: 6px; }\n .btn-add:hover { background: #005A8C; }\n\n .view-content { flex: 1; overflow-y: auto; padding: 24px; }\n .view-content.grid-mode { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }\n .view-content.list-mode { display: flex; flex-direction: column; gap: 12px; }\n\n .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 64px 24px; color: #999; }\n .empty-state i { font-size: 64px; margin-bottom: 24px; }\n .empty-state p { margin: 0 0 24px 0; font-size: 16px; }\n .btn-add-primary { padding: 12px 24px; background: #0076B6; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; display: flex; align-items: center; gap: 8px; }\n .btn-add-primary:hover { background: #005A8C; }\n\n .artifact-viewer-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 10000; }\n .artifact-viewer-container { width: 90%; max-width: 1200px; height: 90vh; background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); }\n "] }]
|
|
305
|
-
}],
|
|
371
|
+
}], () => [{ type: i0.ChangeDetectorRef }], { collection: [{
|
|
306
372
|
type: Input
|
|
307
373
|
}], currentUser: [{
|
|
308
374
|
type: Input
|
|
@@ -311,5 +377,5 @@ export class CollectionViewComponent {
|
|
|
311
377
|
}], canEdit: [{
|
|
312
378
|
type: Input
|
|
313
379
|
}] }); })();
|
|
314
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollectionViewComponent, { className: "CollectionViewComponent", filePath: "src/lib/components/collection/collection-view.component.ts", lineNumber:
|
|
380
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollectionViewComponent, { className: "CollectionViewComponent", filePath: "src/lib/components/collection/collection-view.component.ts", lineNumber: 117 }); })();
|
|
315
381
|
//# sourceMappingURL=collection-view.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-view.component.js","sourceRoot":"","sources":["../../../../src/lib/components/collection/collection-view.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"collection-view.component.js","sourceRoot":"","sources":["../../../../src/lib/components/collection/collection-view.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter, OnInit, OnDestroy } from '@angular/core';
|
|
2
|
-
import { UserInfo } from '@memberjunction/
|
|
3
|
-
import { CollectionEntity, ArtifactEntity } from '@memberjunction/core-entities';
|
|
2
|
+
import { UserInfo } from '@memberjunction/core';
|
|
3
|
+
import { CollectionEntity, ArtifactEntity, ArtifactVersionEntity } from '@memberjunction/core-entities';
|
|
4
4
|
import { DialogService } from '../../services/dialog.service';
|
|
5
5
|
import { ArtifactStateService } from '../../services/artifact-state.service';
|
|
6
6
|
import { CollectionStateService } from '../../services/collection-state.service';
|
|
@@ -19,12 +19,18 @@ export declare class CollectionsFullViewComponent implements OnInit, OnDestroy {
|
|
|
19
19
|
currentUser: UserInfo;
|
|
20
20
|
collectionNavigated: EventEmitter<{
|
|
21
21
|
collectionId: string | null;
|
|
22
|
-
|
|
22
|
+
versionId?: string | null | undefined;
|
|
23
23
|
}>;
|
|
24
24
|
collections: CollectionEntity[];
|
|
25
|
-
|
|
25
|
+
artifactVersions: Array<{
|
|
26
|
+
version: ArtifactVersionEntity;
|
|
27
|
+
artifact: ArtifactEntity;
|
|
28
|
+
}>;
|
|
26
29
|
filteredCollections: CollectionEntity[];
|
|
27
|
-
|
|
30
|
+
filteredArtifactVersions: Array<{
|
|
31
|
+
version: ArtifactVersionEntity;
|
|
32
|
+
artifact: ArtifactEntity;
|
|
33
|
+
}>;
|
|
28
34
|
isLoading: boolean;
|
|
29
35
|
breadcrumbs: Array<{
|
|
30
36
|
id: string;
|
|
@@ -73,8 +79,14 @@ export declare class CollectionsFullViewComponent implements OnInit, OnDestroy {
|
|
|
73
79
|
addArtifact(): Promise<void>;
|
|
74
80
|
onArtifactSaved(artifact: ArtifactEntity): Promise<void>;
|
|
75
81
|
onArtifactModalCancelled(): void;
|
|
76
|
-
removeArtifact(
|
|
77
|
-
|
|
82
|
+
removeArtifact(item: {
|
|
83
|
+
version: ArtifactVersionEntity;
|
|
84
|
+
artifact: ArtifactEntity;
|
|
85
|
+
}): Promise<void>;
|
|
86
|
+
viewArtifact(item: {
|
|
87
|
+
version: ArtifactVersionEntity;
|
|
88
|
+
artifact: ArtifactEntity;
|
|
89
|
+
}): void;
|
|
78
90
|
private validatePermission;
|
|
79
91
|
canEdit(collection: CollectionEntity): boolean;
|
|
80
92
|
canDelete(collection: CollectionEntity): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections-full-view.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/collection/collections-full-view.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAqB,MAAM,
|
|
1
|
+
{"version":3,"file":"collections-full-view.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/collection/collections-full-view.component.ts"],"names":[],"mappings":"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"}
|