@memberjunction/ng-conversations 5.0.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/mention-parser.test.js +2 -2
- package/dist/__tests__/mention-parser.test.js.map +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 +1 -0
- 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 +3 -2
- 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 +16 -7
- 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 +3 -2
- package/dist/lib/components/collection/artifact-create-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.js +6 -3
- package/dist/lib/components/collection/artifact-create-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts +3 -2
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-artifact-card.component.js +8 -3
- package/dist/lib/components/collection/collection-artifact-card.component.js.map +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 +2 -0
- package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.d.ts +19 -3
- package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.js +580 -233
- package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +21 -9
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.js +84 -15
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.d.ts +3 -1
- package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.js +14 -2
- package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
- package/dist/lib/components/message/message-input.component.d.ts +3 -3
- package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input.component.js +2 -2
- package/dist/lib/components/message/message-input.component.js.map +1 -1
- package/dist/lib/components/message/message-item.component.d.ts +2 -2
- package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-item.component.js.map +1 -1
- package/dist/lib/components/message/message-list.component.d.ts +2 -2
- package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-list.component.js.map +1 -1
- package/dist/lib/components/share/share-modal.component.d.ts +3 -2
- package/dist/lib/components/share/share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/share/share-modal.component.js +9 -3
- package/dist/lib/components/share/share-modal.component.js.map +1 -1
- package/dist/lib/components/shared/user-picker.component.d.ts +3 -1
- package/dist/lib/components/shared/user-picker.component.d.ts.map +1 -1
- package/dist/lib/components/shared/user-picker.component.js +7 -2
- package/dist/lib/components/shared/user-picker.component.js.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts +4 -1
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.js +10 -4
- package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
- package/dist/lib/models/conversation-state.model.d.ts +3 -3
- package/dist/lib/models/conversation-state.model.d.ts.map +1 -1
- package/dist/lib/services/conversation-agent.service.d.ts +3 -3
- package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-agent.service.js.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.d.ts +2 -2
- package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
- package/dist/lib/services/mention-parser.service.d.ts +4 -4
- package/dist/lib/services/mention-parser.service.d.ts.map +1 -1
- package/dist/lib/services/mention-parser.service.js.map +1 -1
- package/package.json +17 -17
- package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts +0 -48
- package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts.map +0 -1
- package/dist/lib/components/artifact/artifact-viewer-panel.component.js +0 -457
- package/dist/lib/components/artifact/artifact-viewer-panel.component.js.map +0 -1
- package/dist/lib/components/delete-confirm/delete-confirm-modal.component.d.ts +0 -52
- package/dist/lib/components/delete-confirm/delete-confirm-modal.component.d.ts.map +0 -1
- package/dist/lib/components/delete-confirm/delete-confirm-modal.component.js +0 -276
- package/dist/lib/components/delete-confirm/delete-confirm-modal.component.js.map +0 -1
- package/dist/lib/services/conversation-state.service.d.ts +0 -160
- package/dist/lib/services/conversation-state.service.d.ts.map +0 -1
- package/dist/lib/services/conversation-state.service.js +0 -334
- package/dist/lib/services/conversation-state.service.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
1
|
+
import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';
|
|
2
2
|
import { RunView, Metadata } from '@memberjunction/core';
|
|
3
3
|
import { Subject, takeUntil } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -9,10 +9,11 @@ import * as i4 from "../../services/collection-permission.service";
|
|
|
9
9
|
import * as i5 from "@memberjunction/ng-artifacts";
|
|
10
10
|
import * as i6 from "@angular/common";
|
|
11
11
|
import * as i7 from "@angular/forms";
|
|
12
|
-
import * as i8 from "@
|
|
13
|
-
import * as i9 from "
|
|
14
|
-
import * as i10 from "./collection-
|
|
15
|
-
import * as i11 from "./
|
|
12
|
+
import * as i8 from "@progress/kendo-angular-dialog";
|
|
13
|
+
import * as i9 from "@memberjunction/ng-shared-generic";
|
|
14
|
+
import * as i10 from "./collection-share-modal.component";
|
|
15
|
+
import * as i11 from "./collection-form-modal.component";
|
|
16
|
+
import * as i12 from "./artifact-create-modal.component";
|
|
16
17
|
function CollectionsFullViewComponent_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
17
18
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
18
19
|
i0.ɵɵelement(0, "i", 27);
|
|
@@ -87,17 +88,63 @@ function CollectionsFullViewComponent_Conditional_17_Template(rf, ctx) { if (rf
|
|
|
87
88
|
i0.ɵɵelement(1, "i", 36);
|
|
88
89
|
i0.ɵɵelementEnd();
|
|
89
90
|
} }
|
|
90
|
-
function
|
|
91
|
+
function CollectionsFullViewComponent_Conditional_18_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
92
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
93
|
+
i0.ɵɵelementStart(0, "button", 8);
|
|
94
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_18_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.shareCurrentCollection()); });
|
|
95
|
+
i0.ɵɵelement(1, "i", 41);
|
|
96
|
+
i0.ɵɵelementEnd();
|
|
97
|
+
} if (rf & 2) {
|
|
98
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
99
|
+
i0.ɵɵproperty("title", "Share: " + ctx_r2.currentCollection.Name);
|
|
100
|
+
} }
|
|
101
|
+
function CollectionsFullViewComponent_Conditional_18_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
91
102
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
92
|
-
i0.ɵɵelementStart(0, "
|
|
93
|
-
i0.ɵɵlistener("click", function
|
|
94
|
-
i0.ɵɵelement(
|
|
103
|
+
i0.ɵɵelementStart(0, "button", 8);
|
|
104
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_18_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.editCurrentCollection()); });
|
|
105
|
+
i0.ɵɵelement(1, "i", 42);
|
|
106
|
+
i0.ɵɵelementEnd();
|
|
107
|
+
} if (rf & 2) {
|
|
108
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
109
|
+
i0.ɵɵproperty("title", "Edit: " + ctx_r2.currentCollection.Name);
|
|
110
|
+
} }
|
|
111
|
+
function CollectionsFullViewComponent_Conditional_18_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
112
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
113
|
+
i0.ɵɵelementStart(0, "button", 43);
|
|
114
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_18_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.deleteCurrentCollection()); });
|
|
115
|
+
i0.ɵɵelement(1, "i", 44);
|
|
116
|
+
i0.ɵɵelementEnd();
|
|
117
|
+
} if (rf & 2) {
|
|
118
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
119
|
+
i0.ɵɵproperty("title", "Delete: " + ctx_r2.currentCollection.Name);
|
|
120
|
+
} }
|
|
121
|
+
function CollectionsFullViewComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
122
|
+
i0.ɵɵelement(0, "div", 37);
|
|
123
|
+
i0.ɵɵelementStart(1, "div", 38);
|
|
124
|
+
i0.ɵɵconditionalCreate(2, CollectionsFullViewComponent_Conditional_18_Conditional_2_Template, 2, 1, "button", 39);
|
|
125
|
+
i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_18_Conditional_3_Template, 2, 1, "button", 39);
|
|
126
|
+
i0.ɵɵconditionalCreate(4, CollectionsFullViewComponent_Conditional_18_Conditional_4_Template, 2, 1, "button", 40);
|
|
127
|
+
i0.ɵɵelementEnd();
|
|
128
|
+
} if (rf & 2) {
|
|
129
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
130
|
+
i0.ɵɵadvance(2);
|
|
131
|
+
i0.ɵɵconditional(ctx_r2.canShareCurrent() ? 2 : -1);
|
|
132
|
+
i0.ɵɵadvance();
|
|
133
|
+
i0.ɵɵconditional(ctx_r2.canEditCurrent() ? 3 : -1);
|
|
134
|
+
i0.ɵɵadvance();
|
|
135
|
+
i0.ɵɵconditional(ctx_r2.canDeleteCurrent() ? 4 : -1);
|
|
136
|
+
} }
|
|
137
|
+
function CollectionsFullViewComponent_Conditional_19_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
138
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
139
|
+
i0.ɵɵelementStart(0, "div", 48)(1, "button", 31);
|
|
140
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_19_Conditional_6_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.createCollection()); });
|
|
141
|
+
i0.ɵɵelement(2, "i", 49);
|
|
95
142
|
i0.ɵɵelementStart(3, "span");
|
|
96
143
|
i0.ɵɵtext(4, "New Collection");
|
|
97
144
|
i0.ɵɵelementEnd()();
|
|
98
|
-
i0.ɵɵelementStart(5, "button",
|
|
99
|
-
i0.ɵɵlistener("click", function
|
|
100
|
-
i0.ɵɵelement(6, "i",
|
|
145
|
+
i0.ɵɵelementStart(5, "button", 50);
|
|
146
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_19_Conditional_6_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.addArtifact()); });
|
|
147
|
+
i0.ɵɵelement(6, "i", 51);
|
|
101
148
|
i0.ɵɵelementStart(7, "span");
|
|
102
149
|
i0.ɵɵtext(8, "New Artifact");
|
|
103
150
|
i0.ɵɵelementEnd()()();
|
|
@@ -106,36 +153,36 @@ function CollectionsFullViewComponent_Conditional_18_Conditional_6_Template(rf,
|
|
|
106
153
|
i0.ɵɵadvance(5);
|
|
107
154
|
i0.ɵɵproperty("disabled", !ctx_r2.currentCollectionId);
|
|
108
155
|
} }
|
|
109
|
-
function
|
|
110
|
-
const
|
|
111
|
-
i0.ɵɵelementStart(0, "div", 11)(1, "button",
|
|
112
|
-
i0.ɵɵlistener("click", function
|
|
113
|
-
i0.ɵɵelement(2, "i",
|
|
156
|
+
function CollectionsFullViewComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
157
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
158
|
+
i0.ɵɵelementStart(0, "div", 11)(1, "button", 45);
|
|
159
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_19_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.showNewDropdown = !ctx_r2.showNewDropdown); });
|
|
160
|
+
i0.ɵɵelement(2, "i", 46);
|
|
114
161
|
i0.ɵɵelementStart(3, "span");
|
|
115
162
|
i0.ɵɵtext(4, "New");
|
|
116
163
|
i0.ɵɵelementEnd();
|
|
117
|
-
i0.ɵɵelement(5, "i",
|
|
164
|
+
i0.ɵɵelement(5, "i", 47);
|
|
118
165
|
i0.ɵɵelementEnd();
|
|
119
|
-
i0.ɵɵconditionalCreate(6,
|
|
166
|
+
i0.ɵɵconditionalCreate(6, CollectionsFullViewComponent_Conditional_19_Conditional_6_Template, 9, 1, "div", 48);
|
|
120
167
|
i0.ɵɵelementEnd();
|
|
121
168
|
} if (rf & 2) {
|
|
122
169
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
123
170
|
i0.ɵɵadvance(6);
|
|
124
171
|
i0.ɵɵconditional(ctx_r2.showNewDropdown ? 6 : -1);
|
|
125
172
|
} }
|
|
126
|
-
function
|
|
127
|
-
const
|
|
128
|
-
i0.ɵɵelementStart(0, "div", 18)(1, "div",
|
|
173
|
+
function CollectionsFullViewComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
174
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
175
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "div", 52)(2, "span", 53);
|
|
129
176
|
i0.ɵɵtext(3);
|
|
130
177
|
i0.ɵɵelementEnd()();
|
|
131
|
-
i0.ɵɵelementStart(4, "div",
|
|
132
|
-
i0.ɵɵlistener("click", function
|
|
178
|
+
i0.ɵɵelementStart(4, "div", 54)(5, "button", 55);
|
|
179
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_22_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearSelection()); });
|
|
133
180
|
i0.ɵɵelement(6, "i", 36);
|
|
134
181
|
i0.ɵɵtext(7, " Clear Selection ");
|
|
135
182
|
i0.ɵɵelementEnd();
|
|
136
|
-
i0.ɵɵelementStart(8, "button",
|
|
137
|
-
i0.ɵɵlistener("click", function
|
|
138
|
-
i0.ɵɵelement(9, "i",
|
|
183
|
+
i0.ɵɵelementStart(8, "button", 56);
|
|
184
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_22_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.deleteSelected()); });
|
|
185
|
+
i0.ɵɵelement(9, "i", 44);
|
|
139
186
|
i0.ɵɵtext(10, " Delete Selected ");
|
|
140
187
|
i0.ɵɵelementEnd()()();
|
|
141
188
|
} if (rf & 2) {
|
|
@@ -143,12 +190,12 @@ function CollectionsFullViewComponent_Conditional_21_Template(rf, ctx) { if (rf
|
|
|
143
190
|
i0.ɵɵadvance(3);
|
|
144
191
|
i0.ɵɵtextInterpolate1("", ctx_r2.selectedItems.size, " selected");
|
|
145
192
|
} }
|
|
146
|
-
function
|
|
193
|
+
function CollectionsFullViewComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
147
194
|
i0.ɵɵelementStart(0, "div", 20);
|
|
148
|
-
i0.ɵɵelement(1, "mj-loading",
|
|
195
|
+
i0.ɵɵelement(1, "mj-loading", 57);
|
|
149
196
|
i0.ɵɵelementEnd();
|
|
150
197
|
} }
|
|
151
|
-
function
|
|
198
|
+
function CollectionsFullViewComponent_Conditional_25_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
152
199
|
i0.ɵɵelementStart(0, "h3");
|
|
153
200
|
i0.ɵɵtext(1, "No items found");
|
|
154
201
|
i0.ɵɵelementEnd();
|
|
@@ -156,28 +203,28 @@ function CollectionsFullViewComponent_Conditional_24_Conditional_2_Template(rf,
|
|
|
156
203
|
i0.ɵɵtext(3, "Try adjusting your search");
|
|
157
204
|
i0.ɵɵelementEnd();
|
|
158
205
|
} }
|
|
159
|
-
function
|
|
160
|
-
const
|
|
161
|
-
i0.ɵɵelementStart(0, "button",
|
|
162
|
-
i0.ɵɵlistener("click", function
|
|
163
|
-
i0.ɵɵelement(1, "i",
|
|
206
|
+
function CollectionsFullViewComponent_Conditional_25_Conditional_3_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
207
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
208
|
+
i0.ɵɵelementStart(0, "button", 60);
|
|
209
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_25_Conditional_3_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.createCollection()); });
|
|
210
|
+
i0.ɵɵelement(1, "i", 46);
|
|
164
211
|
i0.ɵɵtext(2, " Create Collection ");
|
|
165
212
|
i0.ɵɵelementEnd();
|
|
166
213
|
} }
|
|
167
|
-
function
|
|
214
|
+
function CollectionsFullViewComponent_Conditional_25_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
168
215
|
i0.ɵɵelementStart(0, "h3");
|
|
169
216
|
i0.ɵɵtext(1, "No collections yet");
|
|
170
217
|
i0.ɵɵelementEnd();
|
|
171
218
|
i0.ɵɵelementStart(2, "p");
|
|
172
219
|
i0.ɵɵtext(3, "Create your first collection to get started");
|
|
173
220
|
i0.ɵɵelementEnd();
|
|
174
|
-
i0.ɵɵconditionalCreate(4,
|
|
221
|
+
i0.ɵɵconditionalCreate(4, CollectionsFullViewComponent_Conditional_25_Conditional_3_Conditional_4_Template, 3, 0, "button", 59);
|
|
175
222
|
} if (rf & 2) {
|
|
176
223
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
177
224
|
i0.ɵɵadvance(4);
|
|
178
225
|
i0.ɵɵconditional(ctx_r2.canEditCurrent() ? 4 : -1);
|
|
179
226
|
} }
|
|
180
|
-
function
|
|
227
|
+
function CollectionsFullViewComponent_Conditional_25_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
181
228
|
i0.ɵɵelementStart(0, "h3");
|
|
182
229
|
i0.ɵɵtext(1, "This collection is empty");
|
|
183
230
|
i0.ɵɵelementEnd();
|
|
@@ -189,12 +236,12 @@ function CollectionsFullViewComponent_Conditional_24_Conditional_4_Template(rf,
|
|
|
189
236
|
i0.ɵɵtext(6, " button above to add collections or artifacts");
|
|
190
237
|
i0.ɵɵelementEnd();
|
|
191
238
|
} }
|
|
192
|
-
function
|
|
239
|
+
function CollectionsFullViewComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
193
240
|
i0.ɵɵelementStart(0, "div", 21);
|
|
194
|
-
i0.ɵɵelement(1, "i",
|
|
195
|
-
i0.ɵɵconditionalCreate(2,
|
|
196
|
-
i0.ɵɵconditionalCreate(3,
|
|
197
|
-
i0.ɵɵconditionalCreate(4,
|
|
241
|
+
i0.ɵɵelement(1, "i", 58);
|
|
242
|
+
i0.ɵɵconditionalCreate(2, CollectionsFullViewComponent_Conditional_25_Conditional_2_Template, 4, 0);
|
|
243
|
+
i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_25_Conditional_3_Template, 5, 1);
|
|
244
|
+
i0.ɵɵconditionalCreate(4, CollectionsFullViewComponent_Conditional_25_Conditional_4_Template, 7, 0);
|
|
198
245
|
i0.ɵɵelementEnd();
|
|
199
246
|
} if (rf & 2) {
|
|
200
247
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -205,152 +252,152 @@ function CollectionsFullViewComponent_Conditional_24_Template(rf, ctx) { if (rf
|
|
|
205
252
|
i0.ɵɵadvance();
|
|
206
253
|
i0.ɵɵconditional(!ctx_r2.searchQuery && ctx_r2.currentCollectionId ? 4 : -1);
|
|
207
254
|
} }
|
|
208
|
-
function
|
|
209
|
-
const
|
|
210
|
-
i0.ɵɵelementStart(0, "div",
|
|
211
|
-
i0.ɵɵlistener("click", function
|
|
255
|
+
function CollectionsFullViewComponent_Conditional_26_For_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
256
|
+
const _r18 = i0.ɵɵgetCurrentView();
|
|
257
|
+
i0.ɵɵelementStart(0, "div", 66);
|
|
258
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_26_For_2_Conditional_1_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r18); const item_r17 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.toggleItemSelection(item_r17, $event)); });
|
|
212
259
|
i0.ɵɵelement(1, "i", 9);
|
|
213
260
|
i0.ɵɵelementEnd();
|
|
214
261
|
} if (rf & 2) {
|
|
215
|
-
const
|
|
262
|
+
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
216
263
|
i0.ɵɵadvance();
|
|
217
|
-
i0.ɵɵproperty("ngClass",
|
|
264
|
+
i0.ɵɵproperty("ngClass", item_r17.selected ? "fa-check-circle" : "fa-circle");
|
|
218
265
|
} }
|
|
219
|
-
function
|
|
220
|
-
i0.ɵɵelementStart(0, "div",
|
|
221
|
-
i0.ɵɵelement(1, "i",
|
|
266
|
+
function CollectionsFullViewComponent_Conditional_26_For_2_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
267
|
+
i0.ɵɵelementStart(0, "div", 69);
|
|
268
|
+
i0.ɵɵelement(1, "i", 75);
|
|
222
269
|
i0.ɵɵelementEnd();
|
|
223
270
|
} }
|
|
224
|
-
function
|
|
225
|
-
i0.ɵɵelementStart(0, "div",
|
|
271
|
+
function CollectionsFullViewComponent_Conditional_26_For_2_Conditional_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
272
|
+
i0.ɵɵelementStart(0, "div", 72);
|
|
226
273
|
i0.ɵɵtext(1);
|
|
227
274
|
i0.ɵɵelementEnd();
|
|
228
275
|
} if (rf & 2) {
|
|
229
|
-
const
|
|
276
|
+
const item_r17 = i0.ɵɵnextContext(2).$implicit;
|
|
230
277
|
i0.ɵɵadvance();
|
|
231
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
278
|
+
i0.ɵɵtextInterpolate1(" ", item_r17.description, " ");
|
|
232
279
|
} }
|
|
233
|
-
function
|
|
234
|
-
i0.ɵɵelementStart(0, "div",
|
|
280
|
+
function CollectionsFullViewComponent_Conditional_26_For_2_Conditional_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
281
|
+
i0.ɵɵelementStart(0, "div", 73);
|
|
235
282
|
i0.ɵɵtext(1);
|
|
236
283
|
i0.ɵɵelementEnd();
|
|
237
284
|
} if (rf & 2) {
|
|
238
|
-
const
|
|
285
|
+
const item_r17 = i0.ɵɵnextContext(2).$implicit;
|
|
239
286
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
240
287
|
i0.ɵɵadvance();
|
|
241
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r2.getItemCountText(
|
|
288
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.getItemCountText(item_r17.itemCount), " ");
|
|
242
289
|
} }
|
|
243
|
-
function
|
|
244
|
-
i0.ɵɵelementStart(0, "div",
|
|
245
|
-
i0.ɵɵelement(1, "i",
|
|
290
|
+
function CollectionsFullViewComponent_Conditional_26_For_2_Conditional_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
291
|
+
i0.ɵɵelementStart(0, "div", 74);
|
|
292
|
+
i0.ɵɵelement(1, "i", 76);
|
|
246
293
|
i0.ɵɵtext(2);
|
|
247
294
|
i0.ɵɵelementEnd();
|
|
248
295
|
} if (rf & 2) {
|
|
249
|
-
const
|
|
296
|
+
const item_r17 = i0.ɵɵnextContext(2).$implicit;
|
|
250
297
|
i0.ɵɵadvance(2);
|
|
251
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
298
|
+
i0.ɵɵtextInterpolate1(" ", item_r17.owner, " ");
|
|
252
299
|
} }
|
|
253
|
-
function
|
|
254
|
-
i0.ɵɵelementStart(0, "div",
|
|
255
|
-
i0.ɵɵelement(2, "i",
|
|
256
|
-
i0.ɵɵconditionalCreate(3,
|
|
300
|
+
function CollectionsFullViewComponent_Conditional_26_For_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
301
|
+
i0.ɵɵelementStart(0, "div", 65)(1, "div", 67);
|
|
302
|
+
i0.ɵɵelement(2, "i", 68);
|
|
303
|
+
i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_26_For_2_Conditional_2_Conditional_3_Template, 2, 0, "div", 69);
|
|
257
304
|
i0.ɵɵelementEnd();
|
|
258
|
-
i0.ɵɵelementStart(4, "div",
|
|
305
|
+
i0.ɵɵelementStart(4, "div", 70)(5, "div", 71);
|
|
259
306
|
i0.ɵɵtext(6);
|
|
260
307
|
i0.ɵɵelementEnd();
|
|
261
|
-
i0.ɵɵconditionalCreate(7,
|
|
262
|
-
i0.ɵɵconditionalCreate(8,
|
|
263
|
-
i0.ɵɵconditionalCreate(9,
|
|
308
|
+
i0.ɵɵconditionalCreate(7, CollectionsFullViewComponent_Conditional_26_For_2_Conditional_2_Conditional_7_Template, 2, 1, "div", 72);
|
|
309
|
+
i0.ɵɵconditionalCreate(8, CollectionsFullViewComponent_Conditional_26_For_2_Conditional_2_Conditional_8_Template, 2, 1, "div", 73);
|
|
310
|
+
i0.ɵɵconditionalCreate(9, CollectionsFullViewComponent_Conditional_26_For_2_Conditional_2_Conditional_9_Template, 3, 1, "div", 74);
|
|
264
311
|
i0.ɵɵelementEnd()();
|
|
265
312
|
} if (rf & 2) {
|
|
266
|
-
const
|
|
267
|
-
i0.ɵɵproperty("title",
|
|
313
|
+
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
314
|
+
i0.ɵɵproperty("title", item_r17.description || item_r17.name);
|
|
268
315
|
i0.ɵɵadvance(3);
|
|
269
|
-
i0.ɵɵconditional(
|
|
316
|
+
i0.ɵɵconditional(item_r17.isShared ? 3 : -1);
|
|
270
317
|
i0.ɵɵadvance(3);
|
|
271
|
-
i0.ɵɵtextInterpolate(
|
|
318
|
+
i0.ɵɵtextInterpolate(item_r17.name);
|
|
272
319
|
i0.ɵɵadvance();
|
|
273
|
-
i0.ɵɵconditional(
|
|
320
|
+
i0.ɵɵconditional(item_r17.description ? 7 : -1);
|
|
274
321
|
i0.ɵɵadvance();
|
|
275
|
-
i0.ɵɵconditional(
|
|
322
|
+
i0.ɵɵconditional(item_r17.itemCount !== undefined ? 8 : -1);
|
|
276
323
|
i0.ɵɵadvance();
|
|
277
|
-
i0.ɵɵconditional(
|
|
324
|
+
i0.ɵɵconditional(item_r17.isShared && item_r17.owner ? 9 : -1);
|
|
278
325
|
} }
|
|
279
|
-
function
|
|
280
|
-
i0.ɵɵelementStart(0, "div",
|
|
326
|
+
function CollectionsFullViewComponent_Conditional_26_For_2_Conditional_3_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
327
|
+
i0.ɵɵelementStart(0, "div", 72);
|
|
281
328
|
i0.ɵɵtext(1);
|
|
282
329
|
i0.ɵɵelementEnd();
|
|
283
330
|
} if (rf & 2) {
|
|
284
|
-
const
|
|
331
|
+
const item_r17 = i0.ɵɵnextContext(2).$implicit;
|
|
285
332
|
i0.ɵɵadvance();
|
|
286
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
333
|
+
i0.ɵɵtextInterpolate1(" ", item_r17.description, " ");
|
|
287
334
|
} }
|
|
288
|
-
function
|
|
289
|
-
i0.ɵɵelementStart(0, "span",
|
|
335
|
+
function CollectionsFullViewComponent_Conditional_26_For_2_Conditional_3_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
336
|
+
i0.ɵɵelementStart(0, "span", 78);
|
|
290
337
|
i0.ɵɵtext(1);
|
|
291
338
|
i0.ɵɵelementEnd();
|
|
292
339
|
} if (rf & 2) {
|
|
293
|
-
const
|
|
340
|
+
const item_r17 = i0.ɵɵnextContext(2).$implicit;
|
|
294
341
|
i0.ɵɵadvance();
|
|
295
|
-
i0.ɵɵtextInterpolate1(" v",
|
|
342
|
+
i0.ɵɵtextInterpolate1(" v", item_r17.versionNumber, " ");
|
|
296
343
|
} }
|
|
297
|
-
function
|
|
298
|
-
i0.ɵɵelementStart(0, "span",
|
|
344
|
+
function CollectionsFullViewComponent_Conditional_26_For_2_Conditional_3_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
345
|
+
i0.ɵɵelementStart(0, "span", 79);
|
|
299
346
|
i0.ɵɵtext(1);
|
|
300
347
|
i0.ɵɵelementEnd();
|
|
301
348
|
} if (rf & 2) {
|
|
302
|
-
const
|
|
349
|
+
const item_r17 = i0.ɵɵnextContext(2).$implicit;
|
|
303
350
|
i0.ɵɵadvance();
|
|
304
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
351
|
+
i0.ɵɵtextInterpolate1(" ", item_r17.artifactType, " ");
|
|
305
352
|
} }
|
|
306
|
-
function
|
|
307
|
-
i0.ɵɵelementStart(0, "div",
|
|
353
|
+
function CollectionsFullViewComponent_Conditional_26_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
354
|
+
i0.ɵɵelementStart(0, "div", 65)(1, "div", 77);
|
|
308
355
|
i0.ɵɵelement(2, "i", 9);
|
|
309
356
|
i0.ɵɵelementEnd();
|
|
310
|
-
i0.ɵɵelementStart(3, "div",
|
|
357
|
+
i0.ɵɵelementStart(3, "div", 70)(4, "div", 71);
|
|
311
358
|
i0.ɵɵtext(5);
|
|
312
359
|
i0.ɵɵelementEnd();
|
|
313
|
-
i0.ɵɵconditionalCreate(6,
|
|
314
|
-
i0.ɵɵelementStart(7, "div",
|
|
315
|
-
i0.ɵɵconditionalCreate(8,
|
|
316
|
-
i0.ɵɵconditionalCreate(9,
|
|
360
|
+
i0.ɵɵconditionalCreate(6, CollectionsFullViewComponent_Conditional_26_For_2_Conditional_3_Conditional_6_Template, 2, 1, "div", 72);
|
|
361
|
+
i0.ɵɵelementStart(7, "div", 73);
|
|
362
|
+
i0.ɵɵconditionalCreate(8, CollectionsFullViewComponent_Conditional_26_For_2_Conditional_3_Conditional_8_Template, 2, 1, "span", 78);
|
|
363
|
+
i0.ɵɵconditionalCreate(9, CollectionsFullViewComponent_Conditional_26_For_2_Conditional_3_Conditional_9_Template, 2, 1, "span", 79);
|
|
317
364
|
i0.ɵɵelementEnd()()();
|
|
318
365
|
} if (rf & 2) {
|
|
319
|
-
const
|
|
320
|
-
i0.ɵɵproperty("title",
|
|
366
|
+
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
367
|
+
i0.ɵɵproperty("title", item_r17.description || item_r17.name);
|
|
321
368
|
i0.ɵɵadvance(2);
|
|
322
|
-
i0.ɵɵproperty("ngClass",
|
|
369
|
+
i0.ɵɵproperty("ngClass", item_r17.icon);
|
|
323
370
|
i0.ɵɵadvance(3);
|
|
324
|
-
i0.ɵɵtextInterpolate(
|
|
371
|
+
i0.ɵɵtextInterpolate(item_r17.name);
|
|
325
372
|
i0.ɵɵadvance();
|
|
326
|
-
i0.ɵɵconditional(
|
|
373
|
+
i0.ɵɵconditional(item_r17.description ? 6 : -1);
|
|
327
374
|
i0.ɵɵadvance(2);
|
|
328
|
-
i0.ɵɵconditional(
|
|
375
|
+
i0.ɵɵconditional(item_r17.versionNumber ? 8 : -1);
|
|
329
376
|
i0.ɵɵadvance();
|
|
330
|
-
i0.ɵɵconditional(
|
|
377
|
+
i0.ɵɵconditional(item_r17.artifactType ? 9 : -1);
|
|
331
378
|
} }
|
|
332
|
-
function
|
|
333
|
-
const
|
|
334
|
-
i0.ɵɵelementStart(0, "div",
|
|
335
|
-
i0.ɵɵlistener("click", function
|
|
336
|
-
i0.ɵɵconditionalCreate(1,
|
|
337
|
-
i0.ɵɵconditionalCreate(2,
|
|
338
|
-
i0.ɵɵconditionalCreate(3,
|
|
379
|
+
function CollectionsFullViewComponent_Conditional_26_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
380
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
381
|
+
i0.ɵɵelementStart(0, "div", 63);
|
|
382
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_26_For_2_Template_div_click_0_listener($event) { const item_r17 = i0.ɵɵrestoreView(_r16).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemClick(item_r17, $event)); })("dblclick", function CollectionsFullViewComponent_Conditional_26_For_2_Template_div_dblclick_0_listener($event) { const item_r17 = i0.ɵɵrestoreView(_r16).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemDoubleClick(item_r17, $event)); })("contextmenu", function CollectionsFullViewComponent_Conditional_26_For_2_Template_div_contextmenu_0_listener($event) { const item_r17 = i0.ɵɵrestoreView(_r16).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemContextMenu(item_r17, $event)); });
|
|
383
|
+
i0.ɵɵconditionalCreate(1, CollectionsFullViewComponent_Conditional_26_For_2_Conditional_1_Template, 2, 1, "div", 64);
|
|
384
|
+
i0.ɵɵconditionalCreate(2, CollectionsFullViewComponent_Conditional_26_For_2_Conditional_2_Template, 10, 6, "div", 65);
|
|
385
|
+
i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_26_For_2_Conditional_3_Template, 10, 6, "div", 65);
|
|
339
386
|
i0.ɵɵelementEnd();
|
|
340
387
|
} if (rf & 2) {
|
|
341
|
-
const
|
|
388
|
+
const item_r17 = ctx.$implicit;
|
|
342
389
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
343
|
-
i0.ɵɵclassProp("selected",
|
|
390
|
+
i0.ɵɵclassProp("selected", item_r17.selected)("active", item_r17.type === "artifact" && (item_r17.artifact == null ? null : item_r17.artifact.ID) === ctx_r2.activeArtifactId);
|
|
344
391
|
i0.ɵɵadvance();
|
|
345
392
|
i0.ɵɵconditional(ctx_r2.isSelectMode ? 1 : -1);
|
|
346
393
|
i0.ɵɵadvance();
|
|
347
|
-
i0.ɵɵconditional(
|
|
394
|
+
i0.ɵɵconditional(item_r17.type === "folder" ? 2 : -1);
|
|
348
395
|
i0.ɵɵadvance();
|
|
349
|
-
i0.ɵɵconditional(
|
|
396
|
+
i0.ɵɵconditional(item_r17.type === "artifact" ? 3 : -1);
|
|
350
397
|
} }
|
|
351
|
-
function
|
|
352
|
-
i0.ɵɵelementStart(0, "div",
|
|
353
|
-
i0.ɵɵrepeaterCreate(1,
|
|
398
|
+
function CollectionsFullViewComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
399
|
+
i0.ɵɵelementStart(0, "div", 61);
|
|
400
|
+
i0.ɵɵrepeaterCreate(1, CollectionsFullViewComponent_Conditional_26_For_2_Template, 4, 7, "div", 62, i0.ɵɵrepeaterTrackByIdentity);
|
|
354
401
|
i0.ɵɵelementEnd();
|
|
355
402
|
} if (rf & 2) {
|
|
356
403
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -358,165 +405,165 @@ function CollectionsFullViewComponent_Conditional_25_Template(rf, ctx) { if (rf
|
|
|
358
405
|
i0.ɵɵadvance();
|
|
359
406
|
i0.ɵɵrepeater(ctx_r2.unifiedItems);
|
|
360
407
|
} }
|
|
361
|
-
function
|
|
362
|
-
const
|
|
363
|
-
i0.ɵɵelementStart(0, "th",
|
|
364
|
-
i0.ɵɵlistener("click", function
|
|
408
|
+
function CollectionsFullViewComponent_Conditional_27_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
409
|
+
const _r20 = i0.ɵɵgetCurrentView();
|
|
410
|
+
i0.ɵɵelementStart(0, "th", 82)(1, "i", 88);
|
|
411
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_27_Conditional_4_Template_i_click_1_listener() { i0.ɵɵrestoreView(_r20); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.selectedItems.size === ctx_r2.unifiedItems.length ? ctx_r2.clearSelection() : ctx_r2.selectAll()); });
|
|
365
412
|
i0.ɵɵelementEnd()();
|
|
366
413
|
} if (rf & 2) {
|
|
367
414
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
368
415
|
i0.ɵɵadvance();
|
|
369
416
|
i0.ɵɵproperty("ngClass", ctx_r2.selectedItems.size === ctx_r2.unifiedItems.length ? "fa-check-square" : "fa-square");
|
|
370
417
|
} }
|
|
371
|
-
function
|
|
418
|
+
function CollectionsFullViewComponent_Conditional_27_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
372
419
|
i0.ɵɵelement(0, "i", 29);
|
|
373
420
|
} }
|
|
374
|
-
function
|
|
421
|
+
function CollectionsFullViewComponent_Conditional_27_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
375
422
|
i0.ɵɵelement(0, "i", 9);
|
|
376
423
|
} if (rf & 2) {
|
|
377
424
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
378
425
|
i0.ɵɵproperty("ngClass", ctx_r2.sortOrder === "asc" ? "fa-sort-up" : "fa-sort-down");
|
|
379
426
|
} }
|
|
380
|
-
function
|
|
427
|
+
function CollectionsFullViewComponent_Conditional_27_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
381
428
|
i0.ɵɵelement(0, "i", 29);
|
|
382
429
|
} }
|
|
383
|
-
function
|
|
430
|
+
function CollectionsFullViewComponent_Conditional_27_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
384
431
|
i0.ɵɵelement(0, "i", 9);
|
|
385
432
|
} if (rf & 2) {
|
|
386
433
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
387
434
|
i0.ɵɵproperty("ngClass", ctx_r2.sortOrder === "asc" ? "fa-sort-up" : "fa-sort-down");
|
|
388
435
|
} }
|
|
389
|
-
function
|
|
436
|
+
function CollectionsFullViewComponent_Conditional_27_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
390
437
|
i0.ɵɵelement(0, "i", 29);
|
|
391
438
|
} }
|
|
392
|
-
function
|
|
439
|
+
function CollectionsFullViewComponent_Conditional_27_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
393
440
|
i0.ɵɵelement(0, "i", 9);
|
|
394
441
|
} if (rf & 2) {
|
|
395
442
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
396
443
|
i0.ɵɵproperty("ngClass", ctx_r2.sortOrder === "asc" ? "fa-sort-up" : "fa-sort-down");
|
|
397
444
|
} }
|
|
398
|
-
function
|
|
399
|
-
const
|
|
400
|
-
i0.ɵɵelementStart(0, "td",
|
|
401
|
-
i0.ɵɵlistener("click", function
|
|
445
|
+
function CollectionsFullViewComponent_Conditional_27_For_24_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
446
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
447
|
+
i0.ɵɵelementStart(0, "td", 82)(1, "i", 88);
|
|
448
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_27_For_24_Conditional_1_Template_i_click_1_listener($event) { i0.ɵɵrestoreView(_r23); const item_r22 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.toggleItemSelection(item_r22, $event)); });
|
|
402
449
|
i0.ɵɵelementEnd()();
|
|
403
450
|
} if (rf & 2) {
|
|
404
|
-
const
|
|
451
|
+
const item_r22 = i0.ɵɵnextContext().$implicit;
|
|
405
452
|
i0.ɵɵadvance();
|
|
406
|
-
i0.ɵɵproperty("ngClass",
|
|
453
|
+
i0.ɵɵproperty("ngClass", item_r22.selected ? "fa-check-circle" : "fa-circle");
|
|
407
454
|
} }
|
|
408
|
-
function
|
|
409
|
-
i0.ɵɵelement(0, "i",
|
|
455
|
+
function CollectionsFullViewComponent_Conditional_27_For_24_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
456
|
+
i0.ɵɵelement(0, "i", 92);
|
|
410
457
|
} }
|
|
411
|
-
function
|
|
458
|
+
function CollectionsFullViewComponent_Conditional_27_For_24_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
412
459
|
i0.ɵɵelementStart(0, "span");
|
|
413
460
|
i0.ɵɵtext(1, "Folder");
|
|
414
461
|
i0.ɵɵelementEnd();
|
|
415
462
|
} }
|
|
416
|
-
function
|
|
417
|
-
i0.ɵɵelementStart(0, "span",
|
|
463
|
+
function CollectionsFullViewComponent_Conditional_27_For_24_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
464
|
+
i0.ɵɵelementStart(0, "span", 79);
|
|
418
465
|
i0.ɵɵtext(1);
|
|
419
466
|
i0.ɵɵelementEnd();
|
|
420
467
|
} if (rf & 2) {
|
|
421
|
-
const
|
|
468
|
+
const item_r22 = i0.ɵɵnextContext().$implicit;
|
|
422
469
|
i0.ɵɵadvance();
|
|
423
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
470
|
+
i0.ɵɵtextInterpolate1(" ", item_r22.artifactType, " ");
|
|
424
471
|
} }
|
|
425
|
-
function
|
|
472
|
+
function CollectionsFullViewComponent_Conditional_27_For_24_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
426
473
|
i0.ɵɵelementStart(0, "span");
|
|
427
474
|
i0.ɵɵtext(1);
|
|
428
475
|
i0.ɵɵpipe(2, "date");
|
|
429
476
|
i0.ɵɵelementEnd();
|
|
430
477
|
} if (rf & 2) {
|
|
431
|
-
const
|
|
478
|
+
const item_r22 = i0.ɵɵnextContext().$implicit;
|
|
432
479
|
i0.ɵɵadvance();
|
|
433
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1,
|
|
480
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, item_r22.lastModified, "short"), " ");
|
|
434
481
|
} }
|
|
435
|
-
function
|
|
482
|
+
function CollectionsFullViewComponent_Conditional_27_For_24_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
436
483
|
i0.ɵɵelementStart(0, "span");
|
|
437
484
|
i0.ɵɵtext(1);
|
|
438
485
|
i0.ɵɵelementEnd();
|
|
439
486
|
} if (rf & 2) {
|
|
440
|
-
const
|
|
487
|
+
const item_r22 = i0.ɵɵnextContext().$implicit;
|
|
441
488
|
i0.ɵɵadvance();
|
|
442
|
-
i0.ɵɵtextInterpolate(
|
|
489
|
+
i0.ɵɵtextInterpolate(item_r22.owner);
|
|
443
490
|
} }
|
|
444
|
-
function
|
|
445
|
-
const
|
|
446
|
-
i0.ɵɵelementStart(0, "tr",
|
|
447
|
-
i0.ɵɵlistener("click", function
|
|
448
|
-
i0.ɵɵconditionalCreate(1,
|
|
449
|
-
i0.ɵɵelementStart(2, "td",
|
|
491
|
+
function CollectionsFullViewComponent_Conditional_27_For_24_Template(rf, ctx) { if (rf & 1) {
|
|
492
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
493
|
+
i0.ɵɵelementStart(0, "tr", 89);
|
|
494
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_27_For_24_Template_tr_click_0_listener($event) { const item_r22 = i0.ɵɵrestoreView(_r21).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemClick(item_r22, $event)); })("dblclick", function CollectionsFullViewComponent_Conditional_27_For_24_Template_tr_dblclick_0_listener($event) { const item_r22 = i0.ɵɵrestoreView(_r21).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemDoubleClick(item_r22, $event)); })("contextmenu", function CollectionsFullViewComponent_Conditional_27_For_24_Template_tr_contextmenu_0_listener($event) { const item_r22 = i0.ɵɵrestoreView(_r21).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemContextMenu(item_r22, $event)); });
|
|
495
|
+
i0.ɵɵconditionalCreate(1, CollectionsFullViewComponent_Conditional_27_For_24_Conditional_1_Template, 2, 1, "td", 82);
|
|
496
|
+
i0.ɵɵelementStart(2, "td", 90)(3, "div", 91);
|
|
450
497
|
i0.ɵɵelement(4, "i", 9);
|
|
451
498
|
i0.ɵɵelementStart(5, "span");
|
|
452
499
|
i0.ɵɵtext(6);
|
|
453
500
|
i0.ɵɵelementEnd();
|
|
454
|
-
i0.ɵɵconditionalCreate(7,
|
|
501
|
+
i0.ɵɵconditionalCreate(7, CollectionsFullViewComponent_Conditional_27_For_24_Conditional_7_Template, 1, 0, "i", 92);
|
|
455
502
|
i0.ɵɵelementEnd()();
|
|
456
|
-
i0.ɵɵelementStart(8, "td",
|
|
457
|
-
i0.ɵɵconditionalCreate(9,
|
|
458
|
-
i0.ɵɵconditionalCreate(10,
|
|
503
|
+
i0.ɵɵelementStart(8, "td", 93);
|
|
504
|
+
i0.ɵɵconditionalCreate(9, CollectionsFullViewComponent_Conditional_27_For_24_Conditional_9_Template, 2, 0, "span");
|
|
505
|
+
i0.ɵɵconditionalCreate(10, CollectionsFullViewComponent_Conditional_27_For_24_Conditional_10_Template, 2, 1, "span", 79);
|
|
459
506
|
i0.ɵɵelementEnd();
|
|
460
|
-
i0.ɵɵelementStart(11, "td",
|
|
461
|
-
i0.ɵɵconditionalCreate(12,
|
|
507
|
+
i0.ɵɵelementStart(11, "td", 94);
|
|
508
|
+
i0.ɵɵconditionalCreate(12, CollectionsFullViewComponent_Conditional_27_For_24_Conditional_12_Template, 3, 4, "span");
|
|
462
509
|
i0.ɵɵelementEnd();
|
|
463
|
-
i0.ɵɵelementStart(13, "td",
|
|
464
|
-
i0.ɵɵconditionalCreate(14,
|
|
510
|
+
i0.ɵɵelementStart(13, "td", 86);
|
|
511
|
+
i0.ɵɵconditionalCreate(14, CollectionsFullViewComponent_Conditional_27_For_24_Conditional_14_Template, 2, 1, "span");
|
|
465
512
|
i0.ɵɵelementEnd()();
|
|
466
513
|
} if (rf & 2) {
|
|
467
|
-
const
|
|
514
|
+
const item_r22 = ctx.$implicit;
|
|
468
515
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
469
|
-
i0.ɵɵclassProp("selected",
|
|
516
|
+
i0.ɵɵclassProp("selected", item_r22.selected)("active", item_r22.type === "artifact" && (item_r22.artifact == null ? null : item_r22.artifact.ID) === ctx_r2.activeArtifactId);
|
|
470
517
|
i0.ɵɵadvance();
|
|
471
518
|
i0.ɵɵconditional(ctx_r2.isSelectMode ? 1 : -1);
|
|
472
519
|
i0.ɵɵadvance(3);
|
|
473
|
-
i0.ɵɵproperty("ngClass",
|
|
520
|
+
i0.ɵɵproperty("ngClass", item_r22.type === "folder" ? "fa-folder" : item_r22.icon);
|
|
474
521
|
i0.ɵɵadvance(2);
|
|
475
|
-
i0.ɵɵtextInterpolate(
|
|
522
|
+
i0.ɵɵtextInterpolate(item_r22.name);
|
|
476
523
|
i0.ɵɵadvance();
|
|
477
|
-
i0.ɵɵconditional(
|
|
524
|
+
i0.ɵɵconditional(item_r22.isShared ? 7 : -1);
|
|
478
525
|
i0.ɵɵadvance(2);
|
|
479
|
-
i0.ɵɵconditional(
|
|
526
|
+
i0.ɵɵconditional(item_r22.type === "folder" ? 9 : -1);
|
|
480
527
|
i0.ɵɵadvance();
|
|
481
|
-
i0.ɵɵconditional(
|
|
528
|
+
i0.ɵɵconditional(item_r22.type === "artifact" ? 10 : -1);
|
|
482
529
|
i0.ɵɵadvance(2);
|
|
483
|
-
i0.ɵɵconditional(
|
|
530
|
+
i0.ɵɵconditional(item_r22.lastModified ? 12 : -1);
|
|
484
531
|
i0.ɵɵadvance(2);
|
|
485
|
-
i0.ɵɵconditional(
|
|
532
|
+
i0.ɵɵconditional(item_r22.owner ? 14 : -1);
|
|
486
533
|
} }
|
|
487
|
-
function
|
|
488
|
-
const
|
|
489
|
-
i0.ɵɵelementStart(0, "div",
|
|
490
|
-
i0.ɵɵconditionalCreate(4,
|
|
491
|
-
i0.ɵɵelementStart(5, "th",
|
|
492
|
-
i0.ɵɵlistener("click", function
|
|
534
|
+
function CollectionsFullViewComponent_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
535
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
536
|
+
i0.ɵɵelementStart(0, "div", 80)(1, "table", 81)(2, "thead")(3, "tr");
|
|
537
|
+
i0.ɵɵconditionalCreate(4, CollectionsFullViewComponent_Conditional_27_Conditional_4_Template, 2, 1, "th", 82);
|
|
538
|
+
i0.ɵɵelementStart(5, "th", 83);
|
|
539
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_27_Template_th_click_5_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setSortBy("name")); });
|
|
493
540
|
i0.ɵɵelementStart(6, "span");
|
|
494
541
|
i0.ɵɵtext(7, "Name");
|
|
495
542
|
i0.ɵɵelementEnd();
|
|
496
|
-
i0.ɵɵconditionalCreate(8,
|
|
497
|
-
i0.ɵɵconditionalCreate(9,
|
|
543
|
+
i0.ɵɵconditionalCreate(8, CollectionsFullViewComponent_Conditional_27_Conditional_8_Template, 1, 0, "i", 29);
|
|
544
|
+
i0.ɵɵconditionalCreate(9, CollectionsFullViewComponent_Conditional_27_Conditional_9_Template, 1, 1, "i", 9);
|
|
498
545
|
i0.ɵɵelementEnd();
|
|
499
|
-
i0.ɵɵelementStart(10, "th",
|
|
500
|
-
i0.ɵɵlistener("click", function
|
|
546
|
+
i0.ɵɵelementStart(10, "th", 84);
|
|
547
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_27_Template_th_click_10_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setSortBy("type")); });
|
|
501
548
|
i0.ɵɵelementStart(11, "span");
|
|
502
549
|
i0.ɵɵtext(12, "Type");
|
|
503
550
|
i0.ɵɵelementEnd();
|
|
504
|
-
i0.ɵɵconditionalCreate(13,
|
|
505
|
-
i0.ɵɵconditionalCreate(14,
|
|
551
|
+
i0.ɵɵconditionalCreate(13, CollectionsFullViewComponent_Conditional_27_Conditional_13_Template, 1, 0, "i", 29);
|
|
552
|
+
i0.ɵɵconditionalCreate(14, CollectionsFullViewComponent_Conditional_27_Conditional_14_Template, 1, 1, "i", 9);
|
|
506
553
|
i0.ɵɵelementEnd();
|
|
507
|
-
i0.ɵɵelementStart(15, "th",
|
|
508
|
-
i0.ɵɵlistener("click", function
|
|
554
|
+
i0.ɵɵelementStart(15, "th", 85);
|
|
555
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_27_Template_th_click_15_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setSortBy("date")); });
|
|
509
556
|
i0.ɵɵelementStart(16, "span");
|
|
510
557
|
i0.ɵɵtext(17, "Modified");
|
|
511
558
|
i0.ɵɵelementEnd();
|
|
512
|
-
i0.ɵɵconditionalCreate(18,
|
|
513
|
-
i0.ɵɵconditionalCreate(19,
|
|
559
|
+
i0.ɵɵconditionalCreate(18, CollectionsFullViewComponent_Conditional_27_Conditional_18_Template, 1, 0, "i", 29);
|
|
560
|
+
i0.ɵɵconditionalCreate(19, CollectionsFullViewComponent_Conditional_27_Conditional_19_Template, 1, 1, "i", 9);
|
|
514
561
|
i0.ɵɵelementEnd();
|
|
515
|
-
i0.ɵɵelementStart(20, "th",
|
|
562
|
+
i0.ɵɵelementStart(20, "th", 86);
|
|
516
563
|
i0.ɵɵtext(21, "Owner");
|
|
517
564
|
i0.ɵɵelementEnd()()();
|
|
518
565
|
i0.ɵɵelementStart(22, "tbody");
|
|
519
|
-
i0.ɵɵrepeaterCreate(23,
|
|
566
|
+
i0.ɵɵrepeaterCreate(23, CollectionsFullViewComponent_Conditional_27_For_24_Template, 15, 12, "tr", 87, i0.ɵɵrepeaterTrackByIdentity);
|
|
520
567
|
i0.ɵɵelementEnd()()();
|
|
521
568
|
} if (rf & 2) {
|
|
522
569
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -538,6 +585,97 @@ function CollectionsFullViewComponent_Conditional_26_Template(rf, ctx) { if (rf
|
|
|
538
585
|
i0.ɵɵadvance(4);
|
|
539
586
|
i0.ɵɵrepeater(ctx_r2.unifiedItems);
|
|
540
587
|
} }
|
|
588
|
+
function CollectionsFullViewComponent_Conditional_28_Conditional_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
589
|
+
const _r26 = i0.ɵɵgetCurrentView();
|
|
590
|
+
i0.ɵɵelementStart(0, "button", 97);
|
|
591
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_28_Conditional_2_Conditional_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onContextMenuAction("share")); });
|
|
592
|
+
i0.ɵɵelement(1, "i", 41);
|
|
593
|
+
i0.ɵɵelementStart(2, "span");
|
|
594
|
+
i0.ɵɵtext(3, "Share");
|
|
595
|
+
i0.ɵɵelementEnd()();
|
|
596
|
+
} }
|
|
597
|
+
function CollectionsFullViewComponent_Conditional_28_Conditional_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
598
|
+
const _r27 = i0.ɵɵgetCurrentView();
|
|
599
|
+
i0.ɵɵelementStart(0, "button", 97);
|
|
600
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_28_Conditional_2_Conditional_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onContextMenuAction("edit")); });
|
|
601
|
+
i0.ɵɵelement(1, "i", 42);
|
|
602
|
+
i0.ɵɵelementStart(2, "span");
|
|
603
|
+
i0.ɵɵtext(3, "Edit");
|
|
604
|
+
i0.ɵɵelementEnd()();
|
|
605
|
+
} }
|
|
606
|
+
function CollectionsFullViewComponent_Conditional_28_Conditional_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
607
|
+
const _r28 = i0.ɵɵgetCurrentView();
|
|
608
|
+
i0.ɵɵelement(0, "div", 98);
|
|
609
|
+
i0.ɵɵelementStart(1, "button", 100);
|
|
610
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_28_Conditional_2_Conditional_7_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r28); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onContextMenuAction("delete")); });
|
|
611
|
+
i0.ɵɵelement(2, "i", 44);
|
|
612
|
+
i0.ɵɵelementStart(3, "span");
|
|
613
|
+
i0.ɵɵtext(4, "Delete");
|
|
614
|
+
i0.ɵɵelementEnd()();
|
|
615
|
+
} }
|
|
616
|
+
function CollectionsFullViewComponent_Conditional_28_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
617
|
+
const _r25 = i0.ɵɵgetCurrentView();
|
|
618
|
+
i0.ɵɵelementStart(0, "button", 97);
|
|
619
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_28_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onContextMenuAction("open")); });
|
|
620
|
+
i0.ɵɵelement(1, "i", 58);
|
|
621
|
+
i0.ɵɵelementStart(2, "span");
|
|
622
|
+
i0.ɵɵtext(3, "Open");
|
|
623
|
+
i0.ɵɵelementEnd()();
|
|
624
|
+
i0.ɵɵelement(4, "div", 98);
|
|
625
|
+
i0.ɵɵconditionalCreate(5, CollectionsFullViewComponent_Conditional_28_Conditional_2_Conditional_5_Template, 4, 0, "button", 99);
|
|
626
|
+
i0.ɵɵconditionalCreate(6, CollectionsFullViewComponent_Conditional_28_Conditional_2_Conditional_6_Template, 4, 0, "button", 99);
|
|
627
|
+
i0.ɵɵconditionalCreate(7, CollectionsFullViewComponent_Conditional_28_Conditional_2_Conditional_7_Template, 5, 0);
|
|
628
|
+
} if (rf & 2) {
|
|
629
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
630
|
+
i0.ɵɵadvance(5);
|
|
631
|
+
i0.ɵɵconditional(ctx_r2.canShare(ctx_r2.contextMenuItem.collection) ? 5 : -1);
|
|
632
|
+
i0.ɵɵadvance();
|
|
633
|
+
i0.ɵɵconditional(ctx_r2.canEdit(ctx_r2.contextMenuItem.collection) ? 6 : -1);
|
|
634
|
+
i0.ɵɵadvance();
|
|
635
|
+
i0.ɵɵconditional(ctx_r2.canDelete(ctx_r2.contextMenuItem.collection) ? 7 : -1);
|
|
636
|
+
} }
|
|
637
|
+
function CollectionsFullViewComponent_Conditional_28_Conditional_3_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
638
|
+
const _r30 = i0.ɵɵgetCurrentView();
|
|
639
|
+
i0.ɵɵelement(0, "div", 98);
|
|
640
|
+
i0.ɵɵelementStart(1, "button", 100);
|
|
641
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_28_Conditional_3_Conditional_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r30); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onContextMenuAction("remove")); });
|
|
642
|
+
i0.ɵɵelement(2, "i", 102);
|
|
643
|
+
i0.ɵɵelementStart(3, "span");
|
|
644
|
+
i0.ɵɵtext(4, "Remove from Collection");
|
|
645
|
+
i0.ɵɵelementEnd()();
|
|
646
|
+
} }
|
|
647
|
+
function CollectionsFullViewComponent_Conditional_28_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
648
|
+
const _r29 = i0.ɵɵgetCurrentView();
|
|
649
|
+
i0.ɵɵelementStart(0, "button", 97);
|
|
650
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_28_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r29); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onContextMenuAction("view")); });
|
|
651
|
+
i0.ɵɵelement(1, "i", 101);
|
|
652
|
+
i0.ɵɵelementStart(2, "span");
|
|
653
|
+
i0.ɵɵtext(3, "View");
|
|
654
|
+
i0.ɵɵelementEnd()();
|
|
655
|
+
i0.ɵɵconditionalCreate(4, CollectionsFullViewComponent_Conditional_28_Conditional_3_Conditional_4_Template, 5, 0);
|
|
656
|
+
} if (rf & 2) {
|
|
657
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
658
|
+
i0.ɵɵadvance(4);
|
|
659
|
+
i0.ɵɵconditional(ctx_r2.canEditCurrent() ? 4 : -1);
|
|
660
|
+
} }
|
|
661
|
+
function CollectionsFullViewComponent_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
662
|
+
const _r24 = i0.ɵɵgetCurrentView();
|
|
663
|
+
i0.ɵɵelementStart(0, "div", 95);
|
|
664
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Conditional_28_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeContextMenu()); });
|
|
665
|
+
i0.ɵɵelementEnd();
|
|
666
|
+
i0.ɵɵelementStart(1, "div", 96);
|
|
667
|
+
i0.ɵɵconditionalCreate(2, CollectionsFullViewComponent_Conditional_28_Conditional_2_Template, 8, 3);
|
|
668
|
+
i0.ɵɵconditionalCreate(3, CollectionsFullViewComponent_Conditional_28_Conditional_3_Template, 5, 1);
|
|
669
|
+
i0.ɵɵelementEnd();
|
|
670
|
+
} if (rf & 2) {
|
|
671
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
672
|
+
i0.ɵɵadvance();
|
|
673
|
+
i0.ɵɵstyleProp("left", ctx_r2.contextMenuPosition.x, "px")("top", ctx_r2.contextMenuPosition.y, "px");
|
|
674
|
+
i0.ɵɵadvance();
|
|
675
|
+
i0.ɵɵconditional(ctx_r2.contextMenuItem.type === "folder" && ctx_r2.contextMenuItem.collection ? 2 : -1);
|
|
676
|
+
i0.ɵɵadvance();
|
|
677
|
+
i0.ɵɵconditional(ctx_r2.contextMenuItem.type === "artifact" ? 3 : -1);
|
|
678
|
+
} }
|
|
541
679
|
/**
|
|
542
680
|
* Full-panel Collections view component
|
|
543
681
|
* Comprehensive collection management with artifacts display
|
|
@@ -577,6 +715,10 @@ export class CollectionsFullViewComponent {
|
|
|
577
715
|
showSortDropdown = false;
|
|
578
716
|
activeArtifactId = null; // Track which artifact is currently being viewed
|
|
579
717
|
isSelectMode = false; // Toggle for selection mode
|
|
718
|
+
// Context menu state
|
|
719
|
+
showContextMenu = false;
|
|
720
|
+
contextMenuPosition = { x: 0, y: 0 };
|
|
721
|
+
contextMenuItem = null;
|
|
580
722
|
destroy$ = new Subject();
|
|
581
723
|
isNavigatingProgrammatically = false;
|
|
582
724
|
constructor(dialogService, artifactState, collectionState, permissionService, artifactIconService, cdr) {
|
|
@@ -961,6 +1103,7 @@ export class CollectionsFullViewComponent {
|
|
|
961
1103
|
await this.loadCurrentCollectionPermission();
|
|
962
1104
|
// Rebuild unified list to show new collection
|
|
963
1105
|
this.buildUnifiedItemList();
|
|
1106
|
+
this.cdr.detectChanges();
|
|
964
1107
|
}
|
|
965
1108
|
onFormCancelled() {
|
|
966
1109
|
this.isFormModalOpen = false;
|
|
@@ -979,6 +1122,7 @@ export class CollectionsFullViewComponent {
|
|
|
979
1122
|
async onArtifactSaved(artifact) {
|
|
980
1123
|
this.isArtifactModalOpen = false;
|
|
981
1124
|
await this.loadArtifacts();
|
|
1125
|
+
this.cdr.detectChanges();
|
|
982
1126
|
}
|
|
983
1127
|
onArtifactModalCancelled() {
|
|
984
1128
|
this.isArtifactModalOpen = false;
|
|
@@ -1088,6 +1232,13 @@ export class CollectionsFullViewComponent {
|
|
|
1088
1232
|
}
|
|
1089
1233
|
return this.canDelete(this.currentCollection);
|
|
1090
1234
|
}
|
|
1235
|
+
canShareCurrent() {
|
|
1236
|
+
// At root level, no share needed
|
|
1237
|
+
if (!this.currentCollectionId || !this.currentCollection) {
|
|
1238
|
+
return false;
|
|
1239
|
+
}
|
|
1240
|
+
return this.canShare(this.currentCollection);
|
|
1241
|
+
}
|
|
1091
1242
|
isShared(collection) {
|
|
1092
1243
|
// Collection is shared if user is not the owner and OwnerID is set
|
|
1093
1244
|
return collection.OwnerID != null && collection.OwnerID !== this.currentUser.ID;
|
|
@@ -1104,11 +1255,28 @@ export class CollectionsFullViewComponent {
|
|
|
1104
1255
|
async onPermissionsChanged() {
|
|
1105
1256
|
// Reload collections and permissions after sharing changes
|
|
1106
1257
|
await this.loadCollections();
|
|
1258
|
+
this.cdr.detectChanges();
|
|
1107
1259
|
}
|
|
1108
1260
|
onShareModalCancelled() {
|
|
1109
1261
|
this.isShareModalOpen = false;
|
|
1110
1262
|
this.sharingCollection = null;
|
|
1111
1263
|
}
|
|
1264
|
+
// Header toolbar action methods
|
|
1265
|
+
shareCurrentCollection() {
|
|
1266
|
+
if (this.currentCollection) {
|
|
1267
|
+
this.shareCollection(this.currentCollection);
|
|
1268
|
+
}
|
|
1269
|
+
}
|
|
1270
|
+
editCurrentCollection() {
|
|
1271
|
+
if (this.currentCollection) {
|
|
1272
|
+
this.editCollection(this.currentCollection);
|
|
1273
|
+
}
|
|
1274
|
+
}
|
|
1275
|
+
deleteCurrentCollection() {
|
|
1276
|
+
if (this.currentCollection) {
|
|
1277
|
+
this.deleteCollection(this.currentCollection);
|
|
1278
|
+
}
|
|
1279
|
+
}
|
|
1112
1280
|
/**
|
|
1113
1281
|
* Get the icon for an artifact using the centralized icon service.
|
|
1114
1282
|
* Fallback priority: Plugin icon > Metadata icon > Hardcoded mapping > Generic icon
|
|
@@ -1155,6 +1323,7 @@ export class CollectionsFullViewComponent {
|
|
|
1155
1323
|
}
|
|
1156
1324
|
// Apply sorting
|
|
1157
1325
|
this.unifiedItems = this.sortItems(items);
|
|
1326
|
+
this.cdr.detectChanges();
|
|
1158
1327
|
}
|
|
1159
1328
|
/**
|
|
1160
1329
|
* Sort items by selected criteria (Phase 2)
|
|
@@ -1207,9 +1376,12 @@ export class CollectionsFullViewComponent {
|
|
|
1207
1376
|
toggleSelectMode() {
|
|
1208
1377
|
this.isSelectMode = !this.isSelectMode;
|
|
1209
1378
|
if (!this.isSelectMode) {
|
|
1210
|
-
// Clear selection when exiting select mode
|
|
1379
|
+
// Clear selection when exiting select mode (clearSelection calls buildUnifiedItemList which calls cdr)
|
|
1211
1380
|
this.clearSelection();
|
|
1212
1381
|
}
|
|
1382
|
+
else {
|
|
1383
|
+
this.cdr.detectChanges();
|
|
1384
|
+
}
|
|
1213
1385
|
}
|
|
1214
1386
|
/**
|
|
1215
1387
|
* Exit selection mode (called when navigating to a new folder)
|
|
@@ -1297,7 +1469,7 @@ export class CollectionsFullViewComponent {
|
|
|
1297
1469
|
this.buildUnifiedItemList();
|
|
1298
1470
|
}
|
|
1299
1471
|
/**
|
|
1300
|
-
* Multi-select: Delete selected items
|
|
1472
|
+
* Multi-select: Delete selected items
|
|
1301
1473
|
*/
|
|
1302
1474
|
async deleteSelected() {
|
|
1303
1475
|
if (this.selectedItems.size === 0)
|
|
@@ -1309,8 +1481,39 @@ export class CollectionsFullViewComponent {
|
|
|
1309
1481
|
});
|
|
1310
1482
|
if (!confirmed)
|
|
1311
1483
|
return;
|
|
1312
|
-
|
|
1313
|
-
|
|
1484
|
+
const selectedViewItems = this.unifiedItems.filter(item => this.selectedItems.has(item.id));
|
|
1485
|
+
const folderItems = selectedViewItems.filter(item => item.type === 'folder' && item.collection);
|
|
1486
|
+
const artifactItems = selectedViewItems.filter(item => item.type === 'artifact' && item.version);
|
|
1487
|
+
try {
|
|
1488
|
+
for (const item of folderItems) {
|
|
1489
|
+
await this.deleteCollectionRecursive(item.collection.ID);
|
|
1490
|
+
}
|
|
1491
|
+
if (artifactItems.length > 0 && this.currentCollectionId) {
|
|
1492
|
+
const rv = new RunView();
|
|
1493
|
+
for (const item of artifactItems) {
|
|
1494
|
+
const result = await rv.RunView({
|
|
1495
|
+
EntityName: 'MJ: Collection Artifacts',
|
|
1496
|
+
ExtraFilter: `CollectionID='${this.currentCollectionId}' AND ArtifactVersionID='${item.version.ID}'`,
|
|
1497
|
+
ResultType: 'entity_object'
|
|
1498
|
+
}, this.currentUser);
|
|
1499
|
+
if (result.Success && result.Results) {
|
|
1500
|
+
for (const joinRecord of result.Results) {
|
|
1501
|
+
await joinRecord.Delete();
|
|
1502
|
+
}
|
|
1503
|
+
}
|
|
1504
|
+
}
|
|
1505
|
+
}
|
|
1506
|
+
this.clearSelection();
|
|
1507
|
+
await this.loadCollections();
|
|
1508
|
+
if (artifactItems.length > 0) {
|
|
1509
|
+
await this.loadArtifacts();
|
|
1510
|
+
}
|
|
1511
|
+
this.buildUnifiedItemList();
|
|
1512
|
+
}
|
|
1513
|
+
catch (error) {
|
|
1514
|
+
console.error('Error deleting selected items:', error);
|
|
1515
|
+
await this.dialogService.alert('Error', `An error occurred while deleting: ${error}`);
|
|
1516
|
+
}
|
|
1314
1517
|
}
|
|
1315
1518
|
/**
|
|
1316
1519
|
* Get count of items in folder (Phase 1)
|
|
@@ -1429,21 +1632,80 @@ export class CollectionsFullViewComponent {
|
|
|
1429
1632
|
}
|
|
1430
1633
|
}
|
|
1431
1634
|
/**
|
|
1432
|
-
* Handle right-click context menu
|
|
1433
|
-
* Opens browser context menu for now - can be extended with custom menu
|
|
1635
|
+
* Handle right-click context menu - shows custom context menu with permission-gated actions
|
|
1434
1636
|
*/
|
|
1435
1637
|
onItemContextMenu(item, event) {
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1638
|
+
event.preventDefault();
|
|
1639
|
+
event.stopPropagation();
|
|
1640
|
+
// Close any open dropdowns
|
|
1641
|
+
this.showNewDropdown = false;
|
|
1642
|
+
this.showSortDropdown = false;
|
|
1643
|
+
this.contextMenuItem = item;
|
|
1644
|
+
this.contextMenuPosition = this.clampContextMenuPosition(event.clientX, event.clientY);
|
|
1645
|
+
this.showContextMenu = true;
|
|
1646
|
+
this.cdr.detectChanges();
|
|
1647
|
+
}
|
|
1648
|
+
/** Clamp menu position to keep it within the viewport */
|
|
1649
|
+
clampContextMenuPosition(x, y) {
|
|
1650
|
+
const menuWidth = 200;
|
|
1651
|
+
const menuHeight = 200;
|
|
1652
|
+
const viewportWidth = window.innerWidth;
|
|
1653
|
+
const viewportHeight = window.innerHeight;
|
|
1654
|
+
return {
|
|
1655
|
+
x: Math.min(x, viewportWidth - menuWidth),
|
|
1656
|
+
y: Math.min(y, viewportHeight - menuHeight)
|
|
1657
|
+
};
|
|
1658
|
+
}
|
|
1659
|
+
closeContextMenu() {
|
|
1660
|
+
this.showContextMenu = false;
|
|
1661
|
+
this.contextMenuItem = null;
|
|
1662
|
+
this.cdr.detectChanges();
|
|
1663
|
+
}
|
|
1664
|
+
/** Handle context menu action dispatch */
|
|
1665
|
+
onContextMenuAction(action) {
|
|
1666
|
+
const item = this.contextMenuItem;
|
|
1667
|
+
this.closeContextMenu();
|
|
1668
|
+
if (!item)
|
|
1669
|
+
return;
|
|
1670
|
+
switch (action) {
|
|
1671
|
+
case 'open':
|
|
1672
|
+
this.openItem(item);
|
|
1673
|
+
break;
|
|
1674
|
+
case 'view':
|
|
1675
|
+
this.openItem(item);
|
|
1676
|
+
break;
|
|
1677
|
+
case 'share':
|
|
1678
|
+
if (item.collection) {
|
|
1679
|
+
this.shareCollection(item.collection);
|
|
1680
|
+
}
|
|
1681
|
+
break;
|
|
1682
|
+
case 'edit':
|
|
1683
|
+
if (item.collection) {
|
|
1684
|
+
this.editCollection(item.collection);
|
|
1685
|
+
}
|
|
1686
|
+
break;
|
|
1687
|
+
case 'delete':
|
|
1688
|
+
if (item.collection) {
|
|
1689
|
+
this.deleteCollection(item.collection);
|
|
1690
|
+
}
|
|
1691
|
+
break;
|
|
1692
|
+
case 'remove':
|
|
1693
|
+
if (item.artifact && item.version) {
|
|
1694
|
+
this.removeArtifact({ artifact: item.artifact, version: item.version });
|
|
1695
|
+
}
|
|
1696
|
+
break;
|
|
1697
|
+
}
|
|
1698
|
+
}
|
|
1699
|
+
/** Close context menu on Escape key */
|
|
1700
|
+
onEscapeKey() {
|
|
1701
|
+
if (this.showContextMenu) {
|
|
1702
|
+
this.closeContextMenu();
|
|
1440
1703
|
}
|
|
1441
|
-
// Allow browser's default context menu for now
|
|
1442
|
-
// Future enhancement: implement custom context menu with actions
|
|
1443
|
-
// event.preventDefault();
|
|
1444
1704
|
}
|
|
1445
1705
|
static ɵfac = function CollectionsFullViewComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CollectionsFullViewComponent)(i0.ɵɵdirectiveInject(i1.DialogService), i0.ɵɵdirectiveInject(i2.ArtifactStateService), i0.ɵɵdirectiveInject(i3.CollectionStateService), i0.ɵɵdirectiveInject(i4.CollectionPermissionService), i0.ɵɵdirectiveInject(i5.ArtifactIconService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
1446
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollectionsFullViewComponent, selectors: [["mj-collections-full-view"]],
|
|
1706
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollectionsFullViewComponent, selectors: [["mj-collections-full-view"]], hostBindings: function CollectionsFullViewComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
1707
|
+
i0.ɵɵlistener("keydown.escape", function CollectionsFullViewComponent_keydown_escape_HostBindingHandler() { return ctx.onEscapeKey(); }, i0.ɵɵresolveDocument);
|
|
1708
|
+
} }, inputs: { environmentId: "environmentId", currentUser: "currentUser" }, outputs: { collectionNavigated: "collectionNavigated" }, standalone: false, decls: 32, vars: 30, consts: [["kendoDialogContainer", "", 1, "collections-view", 3, "keydown"], [1, "collections-header"], [1, "collections-breadcrumb"], [1, "breadcrumb-item"], [1, "fas", "fa-home"], [1, "breadcrumb-link", 3, "click"], [1, "breadcrumb-path"], [1, "collections-actions"], [1, "btn-icon", 3, "click", "title"], [1, "fas", 3, "ngClass"], [1, "fas", "fa-check-square"], [1, "dropdown-container"], [1, "search-container"], [1, "fas", "fa-search"], ["type", "text", "placeholder", "Search...", 1, "search-input", 3, "ngModelChange", "ngModel"], ["title", "Clear search", 1, "search-clear"], ["title", "Refresh", 1, "btn-icon", 3, "click"], [1, "fas", "fa-sync"], [1, "selection-toolbar"], [1, "collections-content"], [1, "loading-state"], [1, "empty-state"], [1, "unified-grid", 3, "select-mode"], [1, "unified-list", 3, "select-mode"], [3, "saved", "cancelled", "isOpen", "collection", "parentCollection", "environmentId", "currentUser"], [3, "saved", "cancelled", "isOpen", "collectionId", "environmentId", "currentUser"], [3, "saved", "cancelled", "isOpen", "collection", "currentUser", "currentUserPermissions"], [1, "fas", "fa-chevron-right", "breadcrumb-separator"], ["title", "Sort options", 1, "btn-icon", 3, "click"], [1, "fas", "fa-sort"], [1, "dropdown-menu"], [1, "dropdown-item", 3, "click"], [1, "fas", "fa-sort-alpha-down"], [1, "fas", "fa-calendar"], [1, "fas", "fa-tag"], ["title", "Clear search", 1, "search-clear", 3, "click"], [1, "fas", "fa-times"], [1, "toolbar-separator"], [1, "toolbar-actions-group"], [1, "btn-icon", 3, "title"], [1, "btn-icon", "btn-icon-danger", 3, "title"], [1, "fas", "fa-share-nodes"], [1, "fas", "fa-pen-to-square"], [1, "btn-icon", "btn-icon-danger", 3, "click", "title"], [1, "fas", "fa-trash"], [1, "btn-primary", 3, "click"], [1, "fas", "fa-plus"], [1, "fas", "fa-chevron-down"], [1, "dropdown-menu", "dropdown-menu-right"], [1, "fas", "fa-folder-plus"], [1, "dropdown-item", 3, "click", "disabled"], [1, "fas", "fa-file-plus"], [1, "selection-info"], [1, "selection-count"], [1, "selection-actions"], [1, "btn-toolbar", 3, "click"], [1, "btn-toolbar", "btn-danger", 3, "click"], ["text", "Loading collections...", "size", "large"], [1, "fas", "fa-folder-open"], [1, "btn-primary", "empty-state-cta"], [1, "btn-primary", "empty-state-cta", 3, "click"], [1, "unified-grid"], [1, "grid-item", 3, "selected", "active"], [1, "grid-item", 3, "click", "dblclick", "contextmenu"], [1, "item-checkbox"], [1, "grid-item-content", 3, "title"], [1, "item-checkbox", 3, "click"], [1, "grid-icon", "folder-icon"], [1, "fas", "fa-folder"], ["title", "Shared", 1, "shared-badge"], [1, "grid-info"], [1, "grid-name"], [1, "grid-description"], [1, "grid-meta"], [1, "grid-owner"], [1, "fas", "fa-users"], [1, "fas", "fa-user"], [1, "grid-icon", "artifact-icon"], [1, "version-badge"], [1, "artifact-type-badge"], [1, "unified-list"], [1, "list-table"], [1, "col-checkbox"], [1, "col-name", "sortable", 3, "click"], [1, "col-type", "sortable", 3, "click"], [1, "col-modified", "sortable", 3, "click"], [1, "col-owner"], [1, "list-item", 3, "selected", "active"], [1, "fas", 3, "click", "ngClass"], [1, "list-item", 3, "click", "dblclick", "contextmenu"], [1, "col-name"], [1, "list-name-cell"], ["title", "Shared", 1, "fas", "fa-users", "shared-indicator"], [1, "col-type"], [1, "col-modified"], [1, "context-menu-backdrop", 3, "click"], [1, "context-menu"], [1, "context-menu-item", 3, "click"], [1, "context-menu-divider"], [1, "context-menu-item"], [1, "context-menu-item", "context-menu-danger", 3, "click"], [1, "fas", "fa-eye"], [1, "fas", "fa-times-circle"]], template: function CollectionsFullViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1447
1709
|
i0.ɵɵelementStart(0, "div", 0);
|
|
1448
1710
|
i0.ɵɵlistener("keydown", function CollectionsFullViewComponent_Template_div_keydown_0_listener($event) { return ctx.handleKeyboardShortcut($event); });
|
|
1449
1711
|
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
@@ -1471,26 +1733,28 @@ export class CollectionsFullViewComponent {
|
|
|
1471
1733
|
i0.ɵɵelementEnd();
|
|
1472
1734
|
i0.ɵɵconditionalCreate(17, CollectionsFullViewComponent_Conditional_17_Template, 2, 0, "button", 15);
|
|
1473
1735
|
i0.ɵɵelementEnd();
|
|
1474
|
-
i0.ɵɵconditionalCreate(18, CollectionsFullViewComponent_Conditional_18_Template,
|
|
1475
|
-
i0.ɵɵ
|
|
1476
|
-
i0.ɵɵ
|
|
1477
|
-
i0.ɵɵ
|
|
1736
|
+
i0.ɵɵconditionalCreate(18, CollectionsFullViewComponent_Conditional_18_Template, 5, 3);
|
|
1737
|
+
i0.ɵɵconditionalCreate(19, CollectionsFullViewComponent_Conditional_19_Template, 7, 1, "div", 11);
|
|
1738
|
+
i0.ɵɵelementStart(20, "button", 16);
|
|
1739
|
+
i0.ɵɵlistener("click", function CollectionsFullViewComponent_Template_button_click_20_listener() { return ctx.refresh(); });
|
|
1740
|
+
i0.ɵɵelement(21, "i", 17);
|
|
1478
1741
|
i0.ɵɵelementEnd()()();
|
|
1479
|
-
i0.ɵɵconditionalCreate(
|
|
1480
|
-
i0.ɵɵelementStart(
|
|
1481
|
-
i0.ɵɵconditionalCreate(
|
|
1482
|
-
i0.ɵɵconditionalCreate(
|
|
1483
|
-
i0.ɵɵconditionalCreate(
|
|
1484
|
-
i0.ɵɵconditionalCreate(
|
|
1742
|
+
i0.ɵɵconditionalCreate(22, CollectionsFullViewComponent_Conditional_22_Template, 11, 1, "div", 18);
|
|
1743
|
+
i0.ɵɵelementStart(23, "div", 19);
|
|
1744
|
+
i0.ɵɵconditionalCreate(24, CollectionsFullViewComponent_Conditional_24_Template, 2, 0, "div", 20);
|
|
1745
|
+
i0.ɵɵconditionalCreate(25, CollectionsFullViewComponent_Conditional_25_Template, 5, 3, "div", 21);
|
|
1746
|
+
i0.ɵɵconditionalCreate(26, CollectionsFullViewComponent_Conditional_26_Template, 3, 2, "div", 22);
|
|
1747
|
+
i0.ɵɵconditionalCreate(27, CollectionsFullViewComponent_Conditional_27_Template, 25, 9, "div", 23);
|
|
1485
1748
|
i0.ɵɵelementEnd()();
|
|
1486
|
-
i0.ɵɵ
|
|
1487
|
-
i0.ɵɵ
|
|
1749
|
+
i0.ɵɵconditionalCreate(28, CollectionsFullViewComponent_Conditional_28_Template, 4, 6);
|
|
1750
|
+
i0.ɵɵelementStart(29, "mj-collection-form-modal", 24);
|
|
1751
|
+
i0.ɵɵlistener("saved", function CollectionsFullViewComponent_Template_mj_collection_form_modal_saved_29_listener($event) { return ctx.onCollectionSaved($event); })("cancelled", function CollectionsFullViewComponent_Template_mj_collection_form_modal_cancelled_29_listener() { return ctx.onFormCancelled(); });
|
|
1488
1752
|
i0.ɵɵelementEnd();
|
|
1489
|
-
i0.ɵɵelementStart(
|
|
1490
|
-
i0.ɵɵlistener("saved", function
|
|
1753
|
+
i0.ɵɵelementStart(30, "mj-artifact-create-modal", 25);
|
|
1754
|
+
i0.ɵɵlistener("saved", function CollectionsFullViewComponent_Template_mj_artifact_create_modal_saved_30_listener($event) { return ctx.onArtifactSaved($event); })("cancelled", function CollectionsFullViewComponent_Template_mj_artifact_create_modal_cancelled_30_listener() { return ctx.onArtifactModalCancelled(); });
|
|
1491
1755
|
i0.ɵɵelementEnd();
|
|
1492
|
-
i0.ɵɵelementStart(
|
|
1493
|
-
i0.ɵɵlistener("saved", function
|
|
1756
|
+
i0.ɵɵelementStart(31, "mj-collection-share-modal", 26);
|
|
1757
|
+
i0.ɵɵlistener("saved", function CollectionsFullViewComponent_Template_mj_collection_share_modal_saved_31_listener() { return ctx.onPermissionsChanged(); })("cancelled", function CollectionsFullViewComponent_Template_mj_collection_share_modal_cancelled_31_listener() { return ctx.onShareModalCancelled(); });
|
|
1494
1758
|
i0.ɵɵelementEnd();
|
|
1495
1759
|
} if (rf & 2) {
|
|
1496
1760
|
i0.ɵɵadvance(7);
|
|
@@ -1509,29 +1773,33 @@ export class CollectionsFullViewComponent {
|
|
|
1509
1773
|
i0.ɵɵadvance();
|
|
1510
1774
|
i0.ɵɵconditional(ctx.searchQuery ? 17 : -1);
|
|
1511
1775
|
i0.ɵɵadvance();
|
|
1512
|
-
i0.ɵɵconditional(ctx.
|
|
1776
|
+
i0.ɵɵconditional(ctx.currentCollectionId && ctx.currentCollection ? 18 : -1);
|
|
1777
|
+
i0.ɵɵadvance();
|
|
1778
|
+
i0.ɵɵconditional(ctx.canEditCurrent() ? 19 : -1);
|
|
1513
1779
|
i0.ɵɵadvance(3);
|
|
1514
|
-
i0.ɵɵconditional(ctx.selectedItems.size > 0 ?
|
|
1780
|
+
i0.ɵɵconditional(ctx.selectedItems.size > 0 ? 22 : -1);
|
|
1515
1781
|
i0.ɵɵadvance(2);
|
|
1516
|
-
i0.ɵɵconditional(ctx.isLoading ?
|
|
1782
|
+
i0.ɵɵconditional(ctx.isLoading ? 24 : -1);
|
|
1517
1783
|
i0.ɵɵadvance();
|
|
1518
|
-
i0.ɵɵconditional(!ctx.isLoading && ctx.unifiedItems.length === 0 ?
|
|
1784
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.unifiedItems.length === 0 ? 25 : -1);
|
|
1519
1785
|
i0.ɵɵadvance();
|
|
1520
|
-
i0.ɵɵconditional(!ctx.isLoading && ctx.unifiedItems.length > 0 && ctx.viewMode === "grid" ?
|
|
1786
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.unifiedItems.length > 0 && ctx.viewMode === "grid" ? 26 : -1);
|
|
1521
1787
|
i0.ɵɵadvance();
|
|
1522
|
-
i0.ɵɵconditional(!ctx.isLoading && ctx.unifiedItems.length > 0 && ctx.viewMode === "list" ?
|
|
1788
|
+
i0.ɵɵconditional(!ctx.isLoading && ctx.unifiedItems.length > 0 && ctx.viewMode === "list" ? 27 : -1);
|
|
1789
|
+
i0.ɵɵadvance();
|
|
1790
|
+
i0.ɵɵconditional(ctx.showContextMenu && ctx.contextMenuItem ? 28 : -1);
|
|
1523
1791
|
i0.ɵɵadvance();
|
|
1524
1792
|
i0.ɵɵproperty("isOpen", ctx.isFormModalOpen)("collection", ctx.editingCollection)("parentCollection", ctx.currentCollection || undefined)("environmentId", ctx.environmentId)("currentUser", ctx.currentUser);
|
|
1525
1793
|
i0.ɵɵadvance();
|
|
1526
1794
|
i0.ɵɵproperty("isOpen", ctx.isArtifactModalOpen)("collectionId", ctx.currentCollectionId || "")("environmentId", ctx.environmentId)("currentUser", ctx.currentUser);
|
|
1527
1795
|
i0.ɵɵadvance();
|
|
1528
1796
|
i0.ɵɵproperty("isOpen", ctx.isShareModalOpen)("collection", ctx.sharingCollection)("currentUser", ctx.currentUser)("currentUserPermissions", ctx.sharingCollection ? ctx.userPermissions.get(ctx.sharingCollection.ID) || null : null);
|
|
1529
|
-
} }, dependencies: [i6.NgClass, i7.DefaultValueAccessor, i7.NgControlStatus, i7.NgModel, i8.LoadingComponent, i9.CollectionShareModalComponent, i10.CollectionFormModalComponent, i11.ArtifactCreateModalComponent, i6.DatePipe], styles: ["\n\n .collections-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #FAFAFA;\n position: relative;\n }\n\n \n\n .collections-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 12px 20px;\n border-bottom: 1px solid #E5E7EB;\n gap: 16px;\n background: white;\n }\n\n .collections-breadcrumb[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\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 font-size: 14px;\n }\n\n .breadcrumb-link[_ngcontent-%COMP%]:hover {\n color: #0076D6;\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: 6px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator[_ngcontent-%COMP%] {\n color: #D1D5DB;\n font-size: 10px;\n }\n\n .collections-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n \n\n .btn-primary[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #007AFF;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background 150ms ease;\n }\n\n .btn-primary[_ngcontent-%COMP%]:hover {\n background: #0051D5;\n }\n\n .btn-primary[_ngcontent-%COMP%] i.fa-chevron-down[_ngcontent-%COMP%] {\n font-size: 10px;\n margin-left: 2px;\n }\n\n .btn-icon[_ngcontent-%COMP%] {\n padding: 6px 10px;\n background: transparent;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n cursor: pointer;\n color: #6B7280;\n transition: all 150ms ease;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .btn-icon[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n color: #111827;\n border-color: #9CA3AF;\n }\n\n .btn-icon.active[_ngcontent-%COMP%] {\n background: #EFF6FF;\n color: #007AFF;\n border-color: #007AFF;\n }\n\n .btn-icon.active[_ngcontent-%COMP%]:hover {\n background: #DBEAFE;\n }\n\n \n\n .dropdown-container[_ngcontent-%COMP%] {\n position: relative;\n }\n\n .dropdown-menu[_ngcontent-%COMP%] {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n min-width: 200px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 4px;\n z-index: 1000;\n }\n\n .dropdown-menu-right[_ngcontent-%COMP%] {\n left: auto;\n right: 0;\n }\n\n .dropdown-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: #111827;\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .dropdown-item[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: #F3F4F6;\n }\n\n .dropdown-item[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .dropdown-item.active[_ngcontent-%COMP%] {\n background: #EFF6FF;\n color: #007AFF;\n }\n\n .dropdown-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: #6B7280;\n }\n\n .dropdown-item.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #007AFF;\n }\n\n .dropdown-divider[_ngcontent-%COMP%] {\n height: 1px;\n background: #E5E7EB;\n margin: 4px 0;\n }\n\n \n\n .search-container[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n align-items: center;\n min-width: 200px;\n }\n\n .search-container[_ngcontent-%COMP%] i.fa-search[_ngcontent-%COMP%] {\n position: absolute;\n left: 10px;\n color: #9CA3AF;\n font-size: 13px;\n pointer-events: none;\n }\n\n .search-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 6px 32px 6px 32px;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n font-size: 13px;\n outline: none;\n transition: all 150ms ease;\n }\n\n .search-input[_ngcontent-%COMP%]:focus {\n border-color: #007AFF;\n box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1);\n }\n\n .search-clear[_ngcontent-%COMP%] {\n position: absolute;\n right: 6px;\n padding: 4px;\n background: transparent;\n border: none;\n color: #9CA3AF;\n cursor: pointer;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .search-clear[_ngcontent-%COMP%]:hover {\n background: #F3F4F6;\n color: #6B7280;\n }\n\n \n\n .selection-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 20px;\n background: #EFF6FF;\n border-bottom: 1px solid #BFDBFE;\n }\n\n .selection-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .selection-count[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: #1E40AF;\n }\n\n .selection-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n }\n\n .btn-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: white;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n color: #374151;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .btn-toolbar[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n border-color: #9CA3AF;\n }\n\n .btn-toolbar.btn-danger[_ngcontent-%COMP%] {\n color: #DC2626;\n border-color: #FCA5A5;\n }\n\n .btn-toolbar.btn-danger[_ngcontent-%COMP%]:hover {\n background: #FEE2E2;\n border-color: #DC2626;\n }\n\n \n\n .collections-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n }\n\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 flex: 1;\n min-height: 0;\n color: #9CA3AF;\n text-align: center;\n padding: 24px;\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: 18px;\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 }\n\n .empty-state[_ngcontent-%COMP%] .empty-state-cta[_ngcontent-%COMP%] {\n padding: 10px 20px;\n font-size: 14px;\n border-radius: 8px;\n }\n\n .empty-state-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n \n\n .unified-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 16px;\n padding: 4px;\n }\n\n .grid-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n padding: 12px;\n background: white;\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n position: relative;\n user-select: none;\n }\n\n .grid-item[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n border-color: #D1D5DB;\n }\n\n .grid-item.selected[_ngcontent-%COMP%] {\n background: #EFF6FF;\n border-color: #007AFF;\n }\n\n .grid-item.active[_ngcontent-%COMP%] {\n background: #FEF3C7;\n border-color: #F59E0B;\n box-shadow: 0 0 0 1px #F59E0B;\n }\n\n .grid-item.active[_ngcontent-%COMP%]:hover {\n background: #FDE68A;\n }\n\n \n\n .unified-grid.select-mode[_ngcontent-%COMP%] .grid-item[_ngcontent-%COMP%] {\n cursor: pointer;\n }\n\n .unified-grid.select-mode[_ngcontent-%COMP%] .grid-item[_ngcontent-%COMP%]:hover {\n background: #EFF6FF;\n border-color: #93C5FD;\n }\n\n .item-checkbox[_ngcontent-%COMP%] {\n position: absolute;\n top: 8px;\n right: 8px;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 10;\n }\n\n .item-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: #9CA3AF;\n transition: color 150ms ease;\n }\n\n .grid-item.selected[_ngcontent-%COMP%] .item-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n .item-checkbox[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n color: #007AFF;\n }\n\n .grid-item-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n }\n\n .grid-icon[_ngcontent-%COMP%] {\n width: 64px;\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n position: relative;\n }\n\n .grid-icon.folder-icon[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #60A5FA 0%, #3B82F6 100%);\n }\n\n .grid-icon.folder-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 36px;\n color: white;\n }\n\n .grid-icon.artifact-icon[_ngcontent-%COMP%] {\n background: #F3F4F6;\n }\n\n .grid-icon.artifact-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n color: #6B7280;\n }\n\n .shared-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: -4px;\n right: -4px;\n width: 20px;\n height: 20px;\n background: #10B981;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 2px solid white;\n }\n\n .shared-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n color: white;\n }\n\n .grid-info[_ngcontent-%COMP%] {\n width: 100%;\n text-align: center;\n }\n\n .grid-name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: #111827;\n line-height: 1.3;\n margin-bottom: 4px;\n \n\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-description[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6B7280;\n line-height: 1.3;\n margin-bottom: 4px;\n \n\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-meta[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6B7280;\n margin-top: 4px;\n }\n\n .grid-owner[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6B7280;\n margin-top: 2px;\n }\n\n .grid-owner[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n margin-right: 3px;\n }\n\n .version-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n background: #FEF3C7;\n color: #92400E;\n border-radius: 3px;\n font-size: 10px;\n font-weight: 600;\n font-family: monospace;\n margin-right: 4px;\n }\n\n .artifact-type-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n background: #DBEAFE;\n color: #1E40AF;\n border-radius: 3px;\n font-size: 10px;\n font-weight: 500;\n text-transform: uppercase;\n }\n\n \n\n .unified-list[_ngcontent-%COMP%] {\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .list-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n }\n\n .list-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] {\n background: #F9FAFB;\n border-bottom: 1px solid #E5E7EB;\n }\n\n .list-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 10px 16px;\n text-align: left;\n font-size: 12px;\n font-weight: 600;\n color: #6B7280;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] {\n cursor: pointer;\n user-select: none;\n transition: color 150ms ease;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%]:hover {\n color: #007AFF;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: inline-block;\n margin-right: 6px;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.5;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n opacity: 1;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n border-bottom: 1px solid #F3F4F6;\n transition: background 150ms ease;\n cursor: pointer;\n user-select: none;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.selected[_ngcontent-%COMP%] {\n background: #EFF6FF;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.active[_ngcontent-%COMP%] {\n background: #FEF3C7;\n border-left: 3px solid #F59E0B;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.active[_ngcontent-%COMP%]:hover {\n background: #FDE68A;\n }\n\n .list-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 12px 16px;\n font-size: 13px;\n color: #374151;\n }\n\n .col-checkbox[_ngcontent-%COMP%] {\n width: 40px;\n text-align: center;\n }\n\n .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: #9CA3AF;\n cursor: pointer;\n transition: color 150ms ease;\n }\n\n .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:hover, \n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.selected[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #007AFF;\n }\n\n .col-name[_ngcontent-%COMP%] {\n min-width: 300px;\n }\n\n .list-name-cell[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .list-name-cell[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: #6B7280;\n width: 20px;\n text-align: center;\n }\n\n .list-name-cell[_ngcontent-%COMP%] .fa-folder[_ngcontent-%COMP%] {\n color: #3B82F6;\n }\n\n .shared-indicator[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #10B981;\n margin-left: auto;\n }\n\n .col-type[_ngcontent-%COMP%] {\n width: 150px;\n }\n\n .col-modified[_ngcontent-%COMP%] {\n width: 180px;\n }\n\n .col-owner[_ngcontent-%COMP%] {\n width: 150px;\n }"] });
|
|
1797
|
+
} }, dependencies: [i6.NgClass, i7.DefaultValueAccessor, i7.NgControlStatus, i7.NgModel, i8.DialogContainerDirective, i9.LoadingComponent, i10.CollectionShareModalComponent, i11.CollectionFormModalComponent, i12.ArtifactCreateModalComponent, i6.DatePipe], styles: ["\n\n .collections-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #FAFAFA;\n position: relative;\n }\n\n \n\n .collections-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 12px 20px;\n border-bottom: 1px solid #E5E7EB;\n gap: 16px;\n background: white;\n }\n\n .collections-breadcrumb[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\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 font-size: 14px;\n }\n\n .breadcrumb-link[_ngcontent-%COMP%]:hover {\n color: #0076D6;\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: 6px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator[_ngcontent-%COMP%] {\n color: #D1D5DB;\n font-size: 10px;\n }\n\n .collections-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n \n\n .btn-primary[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #007AFF;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background 150ms ease;\n }\n\n .btn-primary[_ngcontent-%COMP%]:hover {\n background: #0051D5;\n }\n\n .btn-primary[_ngcontent-%COMP%] i.fa-chevron-down[_ngcontent-%COMP%] {\n font-size: 10px;\n margin-left: 2px;\n }\n\n .btn-icon[_ngcontent-%COMP%] {\n padding: 6px 10px;\n background: transparent;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n cursor: pointer;\n color: #6B7280;\n transition: all 150ms ease;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .btn-icon[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n color: #111827;\n border-color: #9CA3AF;\n }\n\n .btn-icon.active[_ngcontent-%COMP%] {\n background: #EFF6FF;\n color: #007AFF;\n border-color: #007AFF;\n }\n\n .btn-icon.active[_ngcontent-%COMP%]:hover {\n background: #DBEAFE;\n }\n\n \n\n .dropdown-container[_ngcontent-%COMP%] {\n position: relative;\n }\n\n .dropdown-menu[_ngcontent-%COMP%] {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n min-width: 200px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 4px;\n z-index: 1000;\n }\n\n .dropdown-menu-right[_ngcontent-%COMP%] {\n left: auto;\n right: 0;\n }\n\n .dropdown-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: #111827;\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .dropdown-item[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: #F3F4F6;\n }\n\n .dropdown-item[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .dropdown-item.active[_ngcontent-%COMP%] {\n background: #EFF6FF;\n color: #007AFF;\n }\n\n .dropdown-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: #6B7280;\n }\n\n .dropdown-item.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #007AFF;\n }\n\n .dropdown-divider[_ngcontent-%COMP%] {\n height: 1px;\n background: #E5E7EB;\n margin: 4px 0;\n }\n\n \n\n .search-container[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n align-items: center;\n min-width: 200px;\n }\n\n .search-container[_ngcontent-%COMP%] i.fa-search[_ngcontent-%COMP%] {\n position: absolute;\n left: 10px;\n color: #9CA3AF;\n font-size: 13px;\n pointer-events: none;\n }\n\n .search-input[_ngcontent-%COMP%] {\n width: 100%;\n padding: 6px 32px 6px 32px;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n font-size: 13px;\n outline: none;\n transition: all 150ms ease;\n }\n\n .search-input[_ngcontent-%COMP%]:focus {\n border-color: #007AFF;\n box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1);\n }\n\n .search-clear[_ngcontent-%COMP%] {\n position: absolute;\n right: 6px;\n padding: 4px;\n background: transparent;\n border: none;\n color: #9CA3AF;\n cursor: pointer;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .search-clear[_ngcontent-%COMP%]:hover {\n background: #F3F4F6;\n color: #6B7280;\n }\n\n \n\n .selection-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 20px;\n background: #EFF6FF;\n border-bottom: 1px solid #BFDBFE;\n }\n\n .selection-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .selection-count[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: #1E40AF;\n }\n\n .selection-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n }\n\n .btn-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: white;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n color: #374151;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .btn-toolbar[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n border-color: #9CA3AF;\n }\n\n .btn-toolbar.btn-danger[_ngcontent-%COMP%] {\n color: #DC2626;\n border-color: #FCA5A5;\n }\n\n .btn-toolbar.btn-danger[_ngcontent-%COMP%]:hover {\n background: #FEE2E2;\n border-color: #DC2626;\n }\n\n \n\n .collections-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n }\n\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 flex: 1;\n min-height: 0;\n color: #9CA3AF;\n text-align: center;\n padding: 24px;\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: 18px;\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 }\n\n .empty-state[_ngcontent-%COMP%] .empty-state-cta[_ngcontent-%COMP%] {\n padding: 10px 20px;\n font-size: 14px;\n border-radius: 8px;\n }\n\n .empty-state-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n \n\n .unified-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 16px;\n padding: 4px;\n }\n\n .grid-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n padding: 12px;\n background: white;\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n position: relative;\n user-select: none;\n }\n\n .grid-item[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n border-color: #D1D5DB;\n }\n\n .grid-item.selected[_ngcontent-%COMP%] {\n background: #EFF6FF;\n border-color: #007AFF;\n }\n\n .grid-item.active[_ngcontent-%COMP%] {\n background: #FEF3C7;\n border-color: #F59E0B;\n box-shadow: 0 0 0 1px #F59E0B;\n }\n\n .grid-item.active[_ngcontent-%COMP%]:hover {\n background: #FDE68A;\n }\n\n \n\n .unified-grid.select-mode[_ngcontent-%COMP%] .grid-item[_ngcontent-%COMP%] {\n cursor: pointer;\n }\n\n .unified-grid.select-mode[_ngcontent-%COMP%] .grid-item[_ngcontent-%COMP%]:hover {\n background: #EFF6FF;\n border-color: #93C5FD;\n }\n\n .item-checkbox[_ngcontent-%COMP%] {\n position: absolute;\n top: 8px;\n right: 8px;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 10;\n }\n\n .item-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: #9CA3AF;\n transition: color 150ms ease;\n }\n\n .grid-item.selected[_ngcontent-%COMP%] .item-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n .item-checkbox[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n color: #007AFF;\n }\n\n .grid-item-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n }\n\n .grid-icon[_ngcontent-%COMP%] {\n width: 64px;\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n position: relative;\n }\n\n .grid-icon.folder-icon[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #60A5FA 0%, #3B82F6 100%);\n }\n\n .grid-icon.folder-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 36px;\n color: white;\n }\n\n .grid-icon.artifact-icon[_ngcontent-%COMP%] {\n background: #F3F4F6;\n }\n\n .grid-icon.artifact-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n color: #6B7280;\n }\n\n .shared-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: -4px;\n right: -4px;\n width: 20px;\n height: 20px;\n background: #10B981;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 2px solid white;\n }\n\n .shared-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n color: white;\n }\n\n .grid-info[_ngcontent-%COMP%] {\n width: 100%;\n text-align: center;\n }\n\n .grid-name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 500;\n color: #111827;\n line-height: 1.3;\n margin-bottom: 4px;\n \n\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-description[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6B7280;\n line-height: 1.3;\n margin-bottom: 4px;\n \n\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-meta[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6B7280;\n margin-top: 4px;\n }\n\n .grid-owner[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6B7280;\n margin-top: 2px;\n }\n\n .grid-owner[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n margin-right: 3px;\n }\n\n .version-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n background: #FEF3C7;\n color: #92400E;\n border-radius: 3px;\n font-size: 10px;\n font-weight: 600;\n font-family: monospace;\n margin-right: 4px;\n }\n\n .artifact-type-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n background: #DBEAFE;\n color: #1E40AF;\n border-radius: 3px;\n font-size: 10px;\n font-weight: 500;\n text-transform: uppercase;\n }\n\n \n\n .unified-list[_ngcontent-%COMP%] {\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .list-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n }\n\n .list-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] {\n background: #F9FAFB;\n border-bottom: 1px solid #E5E7EB;\n }\n\n .list-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 10px 16px;\n text-align: left;\n font-size: 12px;\n font-weight: 600;\n color: #6B7280;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] {\n cursor: pointer;\n user-select: none;\n transition: color 150ms ease;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%]:hover {\n color: #007AFF;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: inline-block;\n margin-right: 6px;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.5;\n }\n\n .list-table[_ngcontent-%COMP%] th.sortable[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n opacity: 1;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n border-bottom: 1px solid #F3F4F6;\n transition: background 150ms ease;\n cursor: pointer;\n user-select: none;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.selected[_ngcontent-%COMP%] {\n background: #EFF6FF;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.active[_ngcontent-%COMP%] {\n background: #FEF3C7;\n border-left: 3px solid #F59E0B;\n }\n\n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.active[_ngcontent-%COMP%]:hover {\n background: #FDE68A;\n }\n\n .list-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 12px 16px;\n font-size: 13px;\n color: #374151;\n }\n\n .col-checkbox[_ngcontent-%COMP%] {\n width: 40px;\n text-align: center;\n }\n\n .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: #9CA3AF;\n cursor: pointer;\n transition: color 150ms ease;\n }\n\n .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:hover, \n .list-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr.selected[_ngcontent-%COMP%] .col-checkbox[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #007AFF;\n }\n\n .col-name[_ngcontent-%COMP%] {\n min-width: 300px;\n }\n\n .list-name-cell[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .list-name-cell[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: #6B7280;\n width: 20px;\n text-align: center;\n }\n\n .list-name-cell[_ngcontent-%COMP%] .fa-folder[_ngcontent-%COMP%] {\n color: #3B82F6;\n }\n\n .shared-indicator[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #10B981;\n margin-left: auto;\n }\n\n .col-type[_ngcontent-%COMP%] {\n width: 150px;\n }\n\n .col-modified[_ngcontent-%COMP%] {\n width: 180px;\n }\n\n .col-owner[_ngcontent-%COMP%] {\n width: 150px;\n }\n\n \n\n .toolbar-separator[_ngcontent-%COMP%] {\n width: 1px;\n height: 24px;\n background: #D1D5DB;\n margin: 0 4px;\n }\n\n .toolbar-actions-group[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .btn-icon-danger[_ngcontent-%COMP%] {\n color: #DC2626;\n border-color: #FCA5A5;\n }\n\n .btn-icon-danger[_ngcontent-%COMP%]:hover {\n background: #FEE2E2;\n color: #DC2626;\n border-color: #DC2626;\n }\n\n \n\n .context-menu-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1999;\n }\n\n .context-menu[_ngcontent-%COMP%] {\n position: fixed;\n min-width: 180px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);\n padding: 4px;\n z-index: 2000;\n }\n\n .context-menu-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: #111827;\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .context-menu-item[_ngcontent-%COMP%]:hover {\n background: #F3F4F6;\n }\n\n .context-menu-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: #6B7280;\n }\n\n .context-menu-danger[_ngcontent-%COMP%] {\n color: #DC2626;\n }\n\n .context-menu-danger[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #DC2626;\n }\n\n .context-menu-danger[_ngcontent-%COMP%]:hover {\n background: #FEE2E2;\n }\n\n .context-menu-divider[_ngcontent-%COMP%] {\n height: 1px;\n background: #E5E7EB;\n margin: 4px 0;\n }"] });
|
|
1530
1798
|
}
|
|
1531
1799
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollectionsFullViewComponent, [{
|
|
1532
1800
|
type: Component,
|
|
1533
1801
|
args: [{ standalone: false, selector: 'mj-collections-full-view', template: `
|
|
1534
|
-
<div class="collections-view" (keydown)="handleKeyboardShortcut($event)">
|
|
1802
|
+
<div class="collections-view" (keydown)="handleKeyboardShortcut($event)" kendoDialogContainer>
|
|
1535
1803
|
<!-- Mac Finder-style Header -->
|
|
1536
1804
|
<div class="collections-header">
|
|
1537
1805
|
<!-- Breadcrumb navigation -->
|
|
@@ -1620,7 +1888,35 @@ export class CollectionsFullViewComponent {
|
|
|
1620
1888
|
</button>
|
|
1621
1889
|
}
|
|
1622
1890
|
</div>
|
|
1623
|
-
|
|
1891
|
+
|
|
1892
|
+
<!-- Current collection actions (visible when inside a collection) -->
|
|
1893
|
+
@if (currentCollectionId && currentCollection) {
|
|
1894
|
+
<div class="toolbar-separator"></div>
|
|
1895
|
+
<div class="toolbar-actions-group">
|
|
1896
|
+
@if (canShareCurrent()) {
|
|
1897
|
+
<button class="btn-icon"
|
|
1898
|
+
(click)="shareCurrentCollection()"
|
|
1899
|
+
[title]="'Share: ' + currentCollection.Name">
|
|
1900
|
+
<i class="fas fa-share-nodes"></i>
|
|
1901
|
+
</button>
|
|
1902
|
+
}
|
|
1903
|
+
@if (canEditCurrent()) {
|
|
1904
|
+
<button class="btn-icon"
|
|
1905
|
+
(click)="editCurrentCollection()"
|
|
1906
|
+
[title]="'Edit: ' + currentCollection.Name">
|
|
1907
|
+
<i class="fas fa-pen-to-square"></i>
|
|
1908
|
+
</button>
|
|
1909
|
+
}
|
|
1910
|
+
@if (canDeleteCurrent()) {
|
|
1911
|
+
<button class="btn-icon btn-icon-danger"
|
|
1912
|
+
(click)="deleteCurrentCollection()"
|
|
1913
|
+
[title]="'Delete: ' + currentCollection.Name">
|
|
1914
|
+
<i class="fas fa-trash"></i>
|
|
1915
|
+
</button>
|
|
1916
|
+
}
|
|
1917
|
+
</div>
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1624
1920
|
<!-- New dropdown -->
|
|
1625
1921
|
@if (canEditCurrent()) {
|
|
1626
1922
|
<div class="dropdown-container">
|
|
@@ -1907,8 +2203,56 @@ export class CollectionsFullViewComponent {
|
|
|
1907
2203
|
}
|
|
1908
2204
|
</div>
|
|
1909
2205
|
</div>
|
|
1910
|
-
|
|
1911
|
-
<!--
|
|
2206
|
+
|
|
2207
|
+
<!-- Context Menu -->
|
|
2208
|
+
@if (showContextMenu && contextMenuItem) {
|
|
2209
|
+
<div class="context-menu-backdrop" (click)="closeContextMenu()"></div>
|
|
2210
|
+
<div class="context-menu"
|
|
2211
|
+
[style.left.px]="contextMenuPosition.x"
|
|
2212
|
+
[style.top.px]="contextMenuPosition.y">
|
|
2213
|
+
@if (contextMenuItem.type === 'folder' && contextMenuItem.collection) {
|
|
2214
|
+
<button class="context-menu-item" (click)="onContextMenuAction('open')">
|
|
2215
|
+
<i class="fas fa-folder-open"></i>
|
|
2216
|
+
<span>Open</span>
|
|
2217
|
+
</button>
|
|
2218
|
+
<div class="context-menu-divider"></div>
|
|
2219
|
+
@if (canShare(contextMenuItem.collection)) {
|
|
2220
|
+
<button class="context-menu-item" (click)="onContextMenuAction('share')">
|
|
2221
|
+
<i class="fas fa-share-nodes"></i>
|
|
2222
|
+
<span>Share</span>
|
|
2223
|
+
</button>
|
|
2224
|
+
}
|
|
2225
|
+
@if (canEdit(contextMenuItem.collection)) {
|
|
2226
|
+
<button class="context-menu-item" (click)="onContextMenuAction('edit')">
|
|
2227
|
+
<i class="fas fa-pen-to-square"></i>
|
|
2228
|
+
<span>Edit</span>
|
|
2229
|
+
</button>
|
|
2230
|
+
}
|
|
2231
|
+
@if (canDelete(contextMenuItem.collection)) {
|
|
2232
|
+
<div class="context-menu-divider"></div>
|
|
2233
|
+
<button class="context-menu-item context-menu-danger" (click)="onContextMenuAction('delete')">
|
|
2234
|
+
<i class="fas fa-trash"></i>
|
|
2235
|
+
<span>Delete</span>
|
|
2236
|
+
</button>
|
|
2237
|
+
}
|
|
2238
|
+
}
|
|
2239
|
+
@if (contextMenuItem.type === 'artifact') {
|
|
2240
|
+
<button class="context-menu-item" (click)="onContextMenuAction('view')">
|
|
2241
|
+
<i class="fas fa-eye"></i>
|
|
2242
|
+
<span>View</span>
|
|
2243
|
+
</button>
|
|
2244
|
+
@if (canEditCurrent()) {
|
|
2245
|
+
<div class="context-menu-divider"></div>
|
|
2246
|
+
<button class="context-menu-item context-menu-danger" (click)="onContextMenuAction('remove')">
|
|
2247
|
+
<i class="fas fa-times-circle"></i>
|
|
2248
|
+
<span>Remove from Collection</span>
|
|
2249
|
+
</button>
|
|
2250
|
+
}
|
|
2251
|
+
}
|
|
2252
|
+
</div>
|
|
2253
|
+
}
|
|
2254
|
+
|
|
2255
|
+
<!-- Modals -->
|
|
1912
2256
|
<mj-collection-form-modal
|
|
1913
2257
|
[isOpen]="isFormModalOpen"
|
|
1914
2258
|
[collection]="editingCollection"
|
|
@@ -1936,13 +2280,16 @@ export class CollectionsFullViewComponent {
|
|
|
1936
2280
|
(saved)="onPermissionsChanged()"
|
|
1937
2281
|
(cancelled)="onShareModalCancelled()">
|
|
1938
2282
|
</mj-collection-share-modal>
|
|
1939
|
-
`, styles: ["\n /* Main container */\n .collections-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #FAFAFA;\n position: relative;\n }\n\n /* Header */\n .collections-header {\n display: flex;\n align-items: center;\n padding: 12px 20px;\n border-bottom: 1px solid #E5E7EB;\n gap: 16px;\n background: white;\n }\n\n .collections-breadcrumb {\n display: flex;\n align-items: center;\n gap: 6px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item {\n display: flex;\n align-items: center;\n gap: 6px;\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 font-size: 14px;\n }\n\n .breadcrumb-link:hover {\n color: #0076D6;\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: 6px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator {\n color: #D1D5DB;\n font-size: 10px;\n }\n\n .collections-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n /* Button styles */\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #007AFF;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background 150ms ease;\n }\n\n .btn-primary:hover {\n background: #0051D5;\n }\n\n .btn-primary i.fa-chevron-down {\n font-size: 10px;\n margin-left: 2px;\n }\n\n .btn-icon {\n padding: 6px 10px;\n background: transparent;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n cursor: pointer;\n color: #6B7280;\n transition: all 150ms ease;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .btn-icon:hover {\n background: #F9FAFB;\n color: #111827;\n border-color: #9CA3AF;\n }\n\n .btn-icon.active {\n background: #EFF6FF;\n color: #007AFF;\n border-color: #007AFF;\n }\n\n .btn-icon.active:hover {\n background: #DBEAFE;\n }\n\n /* Dropdown menus */\n .dropdown-container {\n position: relative;\n }\n\n .dropdown-menu {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n min-width: 200px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 4px;\n z-index: 1000;\n }\n\n .dropdown-menu-right {\n left: auto;\n right: 0;\n }\n\n .dropdown-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: #111827;\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .dropdown-item:hover:not(:disabled) {\n background: #F3F4F6;\n }\n\n .dropdown-item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .dropdown-item.active {\n background: #EFF6FF;\n color: #007AFF;\n }\n\n .dropdown-item i {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: #6B7280;\n }\n\n .dropdown-item.active i {\n color: #007AFF;\n }\n\n .dropdown-divider {\n height: 1px;\n background: #E5E7EB;\n margin: 4px 0;\n }\n\n /* Search */\n .search-container {\n position: relative;\n display: flex;\n align-items: center;\n min-width: 200px;\n }\n\n .search-container i.fa-search {\n position: absolute;\n left: 10px;\n color: #9CA3AF;\n font-size: 13px;\n pointer-events: none;\n }\n\n .search-input {\n width: 100%;\n padding: 6px 32px 6px 32px;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n font-size: 13px;\n outline: none;\n transition: all 150ms ease;\n }\n\n .search-input:focus {\n border-color: #007AFF;\n box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1);\n }\n\n .search-clear {\n position: absolute;\n right: 6px;\n padding: 4px;\n background: transparent;\n border: none;\n color: #9CA3AF;\n cursor: pointer;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .search-clear:hover {\n background: #F3F4F6;\n color: #6B7280;\n }\n\n /* Selection toolbar */\n .selection-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 20px;\n background: #EFF6FF;\n border-bottom: 1px solid #BFDBFE;\n }\n\n .selection-info {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .selection-count {\n font-size: 13px;\n font-weight: 600;\n color: #1E40AF;\n }\n\n .selection-actions {\n display: flex;\n gap: 8px;\n }\n\n .btn-toolbar {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: white;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n color: #374151;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .btn-toolbar:hover {\n background: #F9FAFB;\n border-color: #9CA3AF;\n }\n\n .btn-toolbar.btn-danger {\n color: #DC2626;\n border-color: #FCA5A5;\n }\n\n .btn-toolbar.btn-danger:hover {\n background: #FEE2E2;\n border-color: #DC2626;\n }\n\n /* Content area */\n .collections-content {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n }\n\n /* Loading and empty states */\n .loading-state, .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n min-height: 0;\n color: #9CA3AF;\n text-align: center;\n padding: 24px;\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: 18px;\n font-weight: 600;\n }\n\n .empty-state p {\n margin: 0 0 24px 0;\n font-size: 14px;\n color: #6B7280;\n }\n\n .empty-state .empty-state-cta {\n padding: 10px 20px;\n font-size: 14px;\n border-radius: 8px;\n }\n\n .empty-state-actions {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n /* Grid view */\n .unified-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 16px;\n padding: 4px;\n }\n\n .grid-item {\n display: flex;\n flex-direction: column;\n padding: 12px;\n background: white;\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n position: relative;\n user-select: none;\n }\n\n .grid-item:hover {\n background: #F9FAFB;\n border-color: #D1D5DB;\n }\n\n .grid-item.selected {\n background: #EFF6FF;\n border-color: #007AFF;\n }\n\n .grid-item.active {\n background: #FEF3C7;\n border-color: #F59E0B;\n box-shadow: 0 0 0 1px #F59E0B;\n }\n\n .grid-item.active:hover {\n background: #FDE68A;\n }\n\n /* Select mode styling for grid */\n .unified-grid.select-mode .grid-item {\n cursor: pointer;\n }\n\n .unified-grid.select-mode .grid-item:hover {\n background: #EFF6FF;\n border-color: #93C5FD;\n }\n\n .item-checkbox {\n position: absolute;\n top: 8px;\n right: 8px;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 10;\n }\n\n .item-checkbox i {\n font-size: 16px;\n color: #9CA3AF;\n transition: color 150ms ease;\n }\n\n .grid-item.selected .item-checkbox i,\n .item-checkbox:hover i {\n color: #007AFF;\n }\n\n .grid-item-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n }\n\n .grid-icon {\n width: 64px;\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n position: relative;\n }\n\n .grid-icon.folder-icon {\n background: linear-gradient(135deg, #60A5FA 0%, #3B82F6 100%);\n }\n\n .grid-icon.folder-icon i {\n font-size: 36px;\n color: white;\n }\n\n .grid-icon.artifact-icon {\n background: #F3F4F6;\n }\n\n .grid-icon.artifact-icon i {\n font-size: 32px;\n color: #6B7280;\n }\n\n .shared-badge {\n position: absolute;\n top: -4px;\n right: -4px;\n width: 20px;\n height: 20px;\n background: #10B981;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 2px solid white;\n }\n\n .shared-badge i {\n font-size: 10px;\n color: white;\n }\n\n .grid-info {\n width: 100%;\n text-align: center;\n }\n\n .grid-name {\n font-size: 13px;\n font-weight: 500;\n color: #111827;\n line-height: 1.3;\n margin-bottom: 4px;\n /* Allow wrapping to 2 lines max */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-description {\n font-size: 11px;\n color: #6B7280;\n line-height: 1.3;\n margin-bottom: 4px;\n /* Allow wrapping to 2 lines max */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-meta {\n font-size: 11px;\n color: #6B7280;\n margin-top: 4px;\n }\n\n .grid-owner {\n font-size: 11px;\n color: #6B7280;\n margin-top: 2px;\n }\n\n .grid-owner i {\n font-size: 10px;\n margin-right: 3px;\n }\n\n .version-badge {\n display: inline-block;\n padding: 2px 6px;\n background: #FEF3C7;\n color: #92400E;\n border-radius: 3px;\n font-size: 10px;\n font-weight: 600;\n font-family: monospace;\n margin-right: 4px;\n }\n\n .artifact-type-badge {\n display: inline-block;\n padding: 2px 6px;\n background: #DBEAFE;\n color: #1E40AF;\n border-radius: 3px;\n font-size: 10px;\n font-weight: 500;\n text-transform: uppercase;\n }\n\n /* List view */\n .unified-list {\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .list-table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .list-table thead {\n background: #F9FAFB;\n border-bottom: 1px solid #E5E7EB;\n }\n\n .list-table th {\n padding: 10px 16px;\n text-align: left;\n font-size: 12px;\n font-weight: 600;\n color: #6B7280;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .list-table th.sortable {\n cursor: pointer;\n user-select: none;\n transition: color 150ms ease;\n }\n\n .list-table th.sortable:hover {\n color: #007AFF;\n }\n\n .list-table th.sortable span {\n display: inline-block;\n margin-right: 6px;\n }\n\n .list-table th.sortable i {\n font-size: 10px;\n opacity: 0.5;\n }\n\n .list-table th.sortable:hover i {\n opacity: 1;\n }\n\n .list-table tbody tr {\n border-bottom: 1px solid #F3F4F6;\n transition: background 150ms ease;\n cursor: pointer;\n user-select: none;\n }\n\n .list-table tbody tr:last-child {\n border-bottom: none;\n }\n\n .list-table tbody tr:hover {\n background: #F9FAFB;\n }\n\n .list-table tbody tr.selected {\n background: #EFF6FF;\n }\n\n .list-table tbody tr.active {\n background: #FEF3C7;\n border-left: 3px solid #F59E0B;\n }\n\n .list-table tbody tr.active:hover {\n background: #FDE68A;\n }\n\n .list-table td {\n padding: 12px 16px;\n font-size: 13px;\n color: #374151;\n }\n\n .col-checkbox {\n width: 40px;\n text-align: center;\n }\n\n .col-checkbox i {\n font-size: 16px;\n color: #9CA3AF;\n cursor: pointer;\n transition: color 150ms ease;\n }\n\n .col-checkbox i:hover,\n .list-table tbody tr.selected .col-checkbox i {\n color: #007AFF;\n }\n\n .col-name {\n min-width: 300px;\n }\n\n .list-name-cell {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .list-name-cell i {\n font-size: 16px;\n color: #6B7280;\n width: 20px;\n text-align: center;\n }\n\n .list-name-cell .fa-folder {\n color: #3B82F6;\n }\n\n .shared-indicator {\n font-size: 12px;\n color: #10B981;\n margin-left: auto;\n }\n\n .col-type {\n width: 150px;\n }\n\n .col-modified {\n width: 180px;\n }\n\n .col-owner {\n width: 150px;\n }\n "] }]
|
|
2283
|
+
`, styles: ["\n /* Main container */\n .collections-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: #FAFAFA;\n position: relative;\n }\n\n /* Header */\n .collections-header {\n display: flex;\n align-items: center;\n padding: 12px 20px;\n border-bottom: 1px solid #E5E7EB;\n gap: 16px;\n background: white;\n }\n\n .collections-breadcrumb {\n display: flex;\n align-items: center;\n gap: 6px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item {\n display: flex;\n align-items: center;\n gap: 6px;\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 font-size: 14px;\n }\n\n .breadcrumb-link:hover {\n color: #0076D6;\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: 6px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator {\n color: #D1D5DB;\n font-size: 10px;\n }\n\n .collections-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n /* Button styles */\n .btn-primary {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #007AFF;\n border: none;\n border-radius: 6px;\n color: white;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: background 150ms ease;\n }\n\n .btn-primary:hover {\n background: #0051D5;\n }\n\n .btn-primary i.fa-chevron-down {\n font-size: 10px;\n margin-left: 2px;\n }\n\n .btn-icon {\n padding: 6px 10px;\n background: transparent;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n cursor: pointer;\n color: #6B7280;\n transition: all 150ms ease;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .btn-icon:hover {\n background: #F9FAFB;\n color: #111827;\n border-color: #9CA3AF;\n }\n\n .btn-icon.active {\n background: #EFF6FF;\n color: #007AFF;\n border-color: #007AFF;\n }\n\n .btn-icon.active:hover {\n background: #DBEAFE;\n }\n\n /* Dropdown menus */\n .dropdown-container {\n position: relative;\n }\n\n .dropdown-menu {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n min-width: 200px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n padding: 4px;\n z-index: 1000;\n }\n\n .dropdown-menu-right {\n left: auto;\n right: 0;\n }\n\n .dropdown-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: #111827;\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .dropdown-item:hover:not(:disabled) {\n background: #F3F4F6;\n }\n\n .dropdown-item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .dropdown-item.active {\n background: #EFF6FF;\n color: #007AFF;\n }\n\n .dropdown-item i {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: #6B7280;\n }\n\n .dropdown-item.active i {\n color: #007AFF;\n }\n\n .dropdown-divider {\n height: 1px;\n background: #E5E7EB;\n margin: 4px 0;\n }\n\n /* Search */\n .search-container {\n position: relative;\n display: flex;\n align-items: center;\n min-width: 200px;\n }\n\n .search-container i.fa-search {\n position: absolute;\n left: 10px;\n color: #9CA3AF;\n font-size: 13px;\n pointer-events: none;\n }\n\n .search-input {\n width: 100%;\n padding: 6px 32px 6px 32px;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n font-size: 13px;\n outline: none;\n transition: all 150ms ease;\n }\n\n .search-input:focus {\n border-color: #007AFF;\n box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1);\n }\n\n .search-clear {\n position: absolute;\n right: 6px;\n padding: 4px;\n background: transparent;\n border: none;\n color: #9CA3AF;\n cursor: pointer;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .search-clear:hover {\n background: #F3F4F6;\n color: #6B7280;\n }\n\n /* Selection toolbar */\n .selection-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 20px;\n background: #EFF6FF;\n border-bottom: 1px solid #BFDBFE;\n }\n\n .selection-info {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .selection-count {\n font-size: 13px;\n font-weight: 600;\n color: #1E40AF;\n }\n\n .selection-actions {\n display: flex;\n gap: 8px;\n }\n\n .btn-toolbar {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: white;\n border: 1px solid #D1D5DB;\n border-radius: 6px;\n color: #374151;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .btn-toolbar:hover {\n background: #F9FAFB;\n border-color: #9CA3AF;\n }\n\n .btn-toolbar.btn-danger {\n color: #DC2626;\n border-color: #FCA5A5;\n }\n\n .btn-toolbar.btn-danger:hover {\n background: #FEE2E2;\n border-color: #DC2626;\n }\n\n /* Content area */\n .collections-content {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n }\n\n /* Loading and empty states */\n .loading-state, .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n min-height: 0;\n color: #9CA3AF;\n text-align: center;\n padding: 24px;\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: 18px;\n font-weight: 600;\n }\n\n .empty-state p {\n margin: 0 0 24px 0;\n font-size: 14px;\n color: #6B7280;\n }\n\n .empty-state .empty-state-cta {\n padding: 10px 20px;\n font-size: 14px;\n border-radius: 8px;\n }\n\n .empty-state-actions {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n /* Grid view */\n .unified-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 16px;\n padding: 4px;\n }\n\n .grid-item {\n display: flex;\n flex-direction: column;\n padding: 12px;\n background: white;\n border: 2px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n position: relative;\n user-select: none;\n }\n\n .grid-item:hover {\n background: #F9FAFB;\n border-color: #D1D5DB;\n }\n\n .grid-item.selected {\n background: #EFF6FF;\n border-color: #007AFF;\n }\n\n .grid-item.active {\n background: #FEF3C7;\n border-color: #F59E0B;\n box-shadow: 0 0 0 1px #F59E0B;\n }\n\n .grid-item.active:hover {\n background: #FDE68A;\n }\n\n /* Select mode styling for grid */\n .unified-grid.select-mode .grid-item {\n cursor: pointer;\n }\n\n .unified-grid.select-mode .grid-item:hover {\n background: #EFF6FF;\n border-color: #93C5FD;\n }\n\n .item-checkbox {\n position: absolute;\n top: 8px;\n right: 8px;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 10;\n }\n\n .item-checkbox i {\n font-size: 16px;\n color: #9CA3AF;\n transition: color 150ms ease;\n }\n\n .grid-item.selected .item-checkbox i,\n .item-checkbox:hover i {\n color: #007AFF;\n }\n\n .grid-item-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n }\n\n .grid-icon {\n width: 64px;\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n position: relative;\n }\n\n .grid-icon.folder-icon {\n background: linear-gradient(135deg, #60A5FA 0%, #3B82F6 100%);\n }\n\n .grid-icon.folder-icon i {\n font-size: 36px;\n color: white;\n }\n\n .grid-icon.artifact-icon {\n background: #F3F4F6;\n }\n\n .grid-icon.artifact-icon i {\n font-size: 32px;\n color: #6B7280;\n }\n\n .shared-badge {\n position: absolute;\n top: -4px;\n right: -4px;\n width: 20px;\n height: 20px;\n background: #10B981;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 2px solid white;\n }\n\n .shared-badge i {\n font-size: 10px;\n color: white;\n }\n\n .grid-info {\n width: 100%;\n text-align: center;\n }\n\n .grid-name {\n font-size: 13px;\n font-weight: 500;\n color: #111827;\n line-height: 1.3;\n margin-bottom: 4px;\n /* Allow wrapping to 2 lines max */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-description {\n font-size: 11px;\n color: #6B7280;\n line-height: 1.3;\n margin-bottom: 4px;\n /* Allow wrapping to 2 lines max */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n word-break: break-word;\n }\n\n .grid-meta {\n font-size: 11px;\n color: #6B7280;\n margin-top: 4px;\n }\n\n .grid-owner {\n font-size: 11px;\n color: #6B7280;\n margin-top: 2px;\n }\n\n .grid-owner i {\n font-size: 10px;\n margin-right: 3px;\n }\n\n .version-badge {\n display: inline-block;\n padding: 2px 6px;\n background: #FEF3C7;\n color: #92400E;\n border-radius: 3px;\n font-size: 10px;\n font-weight: 600;\n font-family: monospace;\n margin-right: 4px;\n }\n\n .artifact-type-badge {\n display: inline-block;\n padding: 2px 6px;\n background: #DBEAFE;\n color: #1E40AF;\n border-radius: 3px;\n font-size: 10px;\n font-weight: 500;\n text-transform: uppercase;\n }\n\n /* List view */\n .unified-list {\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .list-table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .list-table thead {\n background: #F9FAFB;\n border-bottom: 1px solid #E5E7EB;\n }\n\n .list-table th {\n padding: 10px 16px;\n text-align: left;\n font-size: 12px;\n font-weight: 600;\n color: #6B7280;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .list-table th.sortable {\n cursor: pointer;\n user-select: none;\n transition: color 150ms ease;\n }\n\n .list-table th.sortable:hover {\n color: #007AFF;\n }\n\n .list-table th.sortable span {\n display: inline-block;\n margin-right: 6px;\n }\n\n .list-table th.sortable i {\n font-size: 10px;\n opacity: 0.5;\n }\n\n .list-table th.sortable:hover i {\n opacity: 1;\n }\n\n .list-table tbody tr {\n border-bottom: 1px solid #F3F4F6;\n transition: background 150ms ease;\n cursor: pointer;\n user-select: none;\n }\n\n .list-table tbody tr:last-child {\n border-bottom: none;\n }\n\n .list-table tbody tr:hover {\n background: #F9FAFB;\n }\n\n .list-table tbody tr.selected {\n background: #EFF6FF;\n }\n\n .list-table tbody tr.active {\n background: #FEF3C7;\n border-left: 3px solid #F59E0B;\n }\n\n .list-table tbody tr.active:hover {\n background: #FDE68A;\n }\n\n .list-table td {\n padding: 12px 16px;\n font-size: 13px;\n color: #374151;\n }\n\n .col-checkbox {\n width: 40px;\n text-align: center;\n }\n\n .col-checkbox i {\n font-size: 16px;\n color: #9CA3AF;\n cursor: pointer;\n transition: color 150ms ease;\n }\n\n .col-checkbox i:hover,\n .list-table tbody tr.selected .col-checkbox i {\n color: #007AFF;\n }\n\n .col-name {\n min-width: 300px;\n }\n\n .list-name-cell {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .list-name-cell i {\n font-size: 16px;\n color: #6B7280;\n width: 20px;\n text-align: center;\n }\n\n .list-name-cell .fa-folder {\n color: #3B82F6;\n }\n\n .shared-indicator {\n font-size: 12px;\n color: #10B981;\n margin-left: auto;\n }\n\n .col-type {\n width: 150px;\n }\n\n .col-modified {\n width: 180px;\n }\n\n .col-owner {\n width: 150px;\n }\n\n /* Toolbar separator and action group */\n .toolbar-separator {\n width: 1px;\n height: 24px;\n background: #D1D5DB;\n margin: 0 4px;\n }\n\n .toolbar-actions-group {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .btn-icon-danger {\n color: #DC2626;\n border-color: #FCA5A5;\n }\n\n .btn-icon-danger:hover {\n background: #FEE2E2;\n color: #DC2626;\n border-color: #DC2626;\n }\n\n /* Context menu */\n .context-menu-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1999;\n }\n\n .context-menu {\n position: fixed;\n min-width: 180px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);\n padding: 4px;\n z-index: 2000;\n }\n\n .context-menu-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: 4px;\n color: #111827;\n font-size: 13px;\n cursor: pointer;\n text-align: left;\n transition: background 100ms ease;\n }\n\n .context-menu-item:hover {\n background: #F3F4F6;\n }\n\n .context-menu-item i {\n font-size: 14px;\n width: 16px;\n text-align: center;\n color: #6B7280;\n }\n\n .context-menu-danger {\n color: #DC2626;\n }\n\n .context-menu-danger i {\n color: #DC2626;\n }\n\n .context-menu-danger:hover {\n background: #FEE2E2;\n }\n\n .context-menu-divider {\n height: 1px;\n background: #E5E7EB;\n margin: 4px 0;\n }\n "] }]
|
|
1940
2284
|
}], () => [{ type: i1.DialogService }, { type: i2.ArtifactStateService }, { type: i3.CollectionStateService }, { type: i4.CollectionPermissionService }, { type: i5.ArtifactIconService }, { type: i0.ChangeDetectorRef }], { environmentId: [{
|
|
1941
2285
|
type: Input
|
|
1942
2286
|
}], currentUser: [{
|
|
1943
2287
|
type: Input
|
|
1944
2288
|
}], collectionNavigated: [{
|
|
1945
2289
|
type: Output
|
|
2290
|
+
}], onEscapeKey: [{
|
|
2291
|
+
type: HostListener,
|
|
2292
|
+
args: ['document:keydown.escape']
|
|
1946
2293
|
}] }); })();
|
|
1947
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollectionsFullViewComponent, { className: "CollectionsFullViewComponent", filePath: "src/lib/components/collection/collections-full-view.component.ts", lineNumber:
|
|
2294
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollectionsFullViewComponent, { className: "CollectionsFullViewComponent", filePath: "src/lib/components/collection/collections-full-view.component.ts", lineNumber: 1299 }); })();
|
|
1948
2295
|
//# sourceMappingURL=collections-full-view.component.js.map
|