@memberjunction/ng-conversations 2.104.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +197 -0
- package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts +20 -0
- package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts.map +1 -0
- package/dist/lib/components/active-tasks/active-tasks-panel.component.js +125 -0
- package/dist/lib/components/active-tasks/active-tasks-panel.component.js.map +1 -0
- package/dist/lib/components/agent/active-agent-indicator.component.d.ts +48 -0
- package/dist/lib/components/agent/active-agent-indicator.component.d.ts.map +1 -0
- package/dist/lib/components/agent/active-agent-indicator.component.js +199 -0
- package/dist/lib/components/agent/active-agent-indicator.component.js.map +1 -0
- package/dist/lib/components/agent/agent-process-panel.component.d.ts +30 -0
- package/dist/lib/components/agent/agent-process-panel.component.d.ts.map +1 -0
- package/dist/lib/components/agent/agent-process-panel.component.js +333 -0
- package/dist/lib/components/agent/agent-process-panel.component.js.map +1 -0
- package/dist/lib/components/artifact/artifact-panel.component.d.ts +22 -0
- package/dist/lib/components/artifact/artifact-panel.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/artifact-panel.component.js +237 -0
- package/dist/lib/components/artifact/artifact-panel.component.js.map +1 -0
- package/dist/lib/components/artifact/artifact-upload-modal.component.d.ts +39 -0
- package/dist/lib/components/artifact/artifact-upload-modal.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/artifact-upload-modal.component.js +384 -0
- package/dist/lib/components/artifact/artifact-upload-modal.component.js.map +1 -0
- package/dist/lib/components/artifact/artifact-version-history.component.d.ts +28 -0
- package/dist/lib/components/artifact/artifact-version-history.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/artifact-version-history.component.js +280 -0
- package/dist/lib/components/artifact/artifact-version-history.component.js.map +1 -0
- package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts +22 -0
- package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/artifact-viewer-panel.component.js +182 -0
- package/dist/lib/components/artifact/artifact-viewer-panel.component.js.map +1 -0
- package/dist/lib/components/artifact/artifact-viewer.component.d.ts +27 -0
- package/dist/lib/components/artifact/artifact-viewer.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/artifact-viewer.component.js +266 -0
- package/dist/lib/components/artifact/artifact-viewer.component.js.map +1 -0
- package/dist/lib/components/artifact/inline-artifact.component.d.ts +46 -0
- package/dist/lib/components/artifact/inline-artifact.component.d.ts.map +1 -0
- package/dist/lib/components/artifact/inline-artifact.component.js +447 -0
- package/dist/lib/components/artifact/inline-artifact.component.js.map +1 -0
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts +18 -0
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts.map +1 -0
- package/dist/lib/components/collection/collection-artifact-card.component.js +147 -0
- package/dist/lib/components/collection/collection-artifact-card.component.js.map +1 -0
- package/dist/lib/components/collection/collection-form-modal.component.d.ts +33 -0
- package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -0
- package/dist/lib/components/collection/collection-form-modal.component.js +245 -0
- package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -0
- package/dist/lib/components/collection/collection-tree.component.d.ts +42 -0
- package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -0
- package/dist/lib/components/collection/collection-tree.component.js +482 -0
- package/dist/lib/components/collection/collection-tree.component.js.map +1 -0
- package/dist/lib/components/collection/collection-view.component.d.ts +31 -0
- package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -0
- package/dist/lib/components/collection/collection-view.component.js +254 -0
- package/dist/lib/components/collection/collection-view.component.js.map +1 -0
- package/dist/lib/components/collection/collections-full-view.component.d.ts +55 -0
- package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -0
- package/dist/lib/components/collection/collections-full-view.component.js +578 -0
- package/dist/lib/components/collection/collections-full-view.component.js.map +1 -0
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +160 -0
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -0
- package/dist/lib/components/conversation/conversation-chat-area.component.js +891 -0
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -0
- package/dist/lib/components/conversation/conversation-list.component.d.ts +29 -0
- package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -0
- package/dist/lib/components/conversation/conversation-list.component.js +255 -0
- package/dist/lib/components/conversation/conversation-list.component.js.map +1 -0
- package/dist/lib/components/dialogs/input-dialog.component.d.ts +17 -0
- package/dist/lib/components/dialogs/input-dialog.component.d.ts.map +1 -0
- package/dist/lib/components/dialogs/input-dialog.component.js +122 -0
- package/dist/lib/components/dialogs/input-dialog.component.js.map +1 -0
- package/dist/lib/components/export/export-modal.component.d.ts +37 -0
- package/dist/lib/components/export/export-modal.component.d.ts.map +1 -0
- package/dist/lib/components/export/export-modal.component.js +414 -0
- package/dist/lib/components/export/export-modal.component.js.map +1 -0
- package/dist/lib/components/library/library-full-view.component.d.ts +36 -0
- package/dist/lib/components/library/library-full-view.component.d.ts.map +1 -0
- package/dist/lib/components/library/library-full-view.component.js +270 -0
- package/dist/lib/components/library/library-full-view.component.js.map +1 -0
- package/dist/lib/components/members/members-modal.component.d.ts +42 -0
- package/dist/lib/components/members/members-modal.component.d.ts.map +1 -0
- package/dist/lib/components/members/members-modal.component.js +352 -0
- package/dist/lib/components/members/members-modal.component.js.map +1 -0
- package/dist/lib/components/mention/mention-dropdown.component.d.ts +44 -0
- package/dist/lib/components/mention/mention-dropdown.component.d.ts.map +1 -0
- package/dist/lib/components/mention/mention-dropdown.component.js +194 -0
- package/dist/lib/components/mention/mention-dropdown.component.js.map +1 -0
- package/dist/lib/components/message/message-input.component.d.ts +137 -0
- package/dist/lib/components/message/message-input.component.d.ts.map +1 -0
- package/dist/lib/components/message/message-input.component.js +1159 -0
- package/dist/lib/components/message/message-input.component.js.map +1 -0
- package/dist/lib/components/message/message-item.component.d.ts +140 -0
- package/dist/lib/components/message/message-item.component.d.ts.map +1 -0
- package/dist/lib/components/message/message-item.component.js +817 -0
- package/dist/lib/components/message/message-item.component.js.map +1 -0
- package/dist/lib/components/message/message-list.component.d.ts +77 -0
- package/dist/lib/components/message/message-list.component.d.ts.map +1 -0
- package/dist/lib/components/message/message-list.component.js +316 -0
- package/dist/lib/components/message/message-list.component.js.map +1 -0
- package/dist/lib/components/navigation/conversation-navigation.component.d.ts +13 -0
- package/dist/lib/components/navigation/conversation-navigation.component.d.ts.map +1 -0
- package/dist/lib/components/navigation/conversation-navigation.component.js +88 -0
- package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -0
- package/dist/lib/components/notification/activity-indicator.component.d.ts +11 -0
- package/dist/lib/components/notification/activity-indicator.component.d.ts.map +1 -0
- package/dist/lib/components/notification/activity-indicator.component.js +56 -0
- package/dist/lib/components/notification/activity-indicator.component.js.map +1 -0
- package/dist/lib/components/notification/notification-badge.component.d.ts +27 -0
- package/dist/lib/components/notification/notification-badge.component.d.ts.map +1 -0
- package/dist/lib/components/notification/notification-badge.component.js +160 -0
- package/dist/lib/components/notification/notification-badge.component.js.map +1 -0
- package/dist/lib/components/project/project-form-modal.component.d.ts +34 -0
- package/dist/lib/components/project/project-form-modal.component.d.ts.map +1 -0
- package/dist/lib/components/project/project-form-modal.component.js +357 -0
- package/dist/lib/components/project/project-form-modal.component.js.map +1 -0
- package/dist/lib/components/project/project-selector.component.d.ts +36 -0
- package/dist/lib/components/project/project-selector.component.d.ts.map +1 -0
- package/dist/lib/components/project/project-selector.component.js +317 -0
- package/dist/lib/components/project/project-selector.component.js.map +1 -0
- package/dist/lib/components/search/search-panel.component.d.ts +120 -0
- package/dist/lib/components/search/search-panel.component.d.ts.map +1 -0
- package/dist/lib/components/search/search-panel.component.js +714 -0
- package/dist/lib/components/search/search-panel.component.js.map +1 -0
- package/dist/lib/components/share/share-modal.component.d.ts +46 -0
- package/dist/lib/components/share/share-modal.component.d.ts.map +1 -0
- package/dist/lib/components/share/share-modal.component.js +431 -0
- package/dist/lib/components/share/share-modal.component.js.map +1 -0
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts +18 -0
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts.map +1 -0
- package/dist/lib/components/sidebar/conversation-sidebar.component.js +81 -0
- package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -0
- package/dist/lib/components/task/task-form-modal.component.d.ts +42 -0
- package/dist/lib/components/task/task-form-modal.component.d.ts.map +1 -0
- package/dist/lib/components/task/task-form-modal.component.js +329 -0
- package/dist/lib/components/task/task-form-modal.component.js.map +1 -0
- package/dist/lib/components/task/task-item.component.d.ts +22 -0
- package/dist/lib/components/task/task-item.component.d.ts.map +1 -0
- package/dist/lib/components/task/task-item.component.js +234 -0
- package/dist/lib/components/task/task-item.component.js.map +1 -0
- package/dist/lib/components/task/task-list.component.d.ts +32 -0
- package/dist/lib/components/task/task-list.component.d.ts.map +1 -0
- package/dist/lib/components/task/task-list.component.js +290 -0
- package/dist/lib/components/task/task-list.component.js.map +1 -0
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +27 -0
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -0
- package/dist/lib/components/tasks/tasks-dropdown.component.js +254 -0
- package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -0
- package/dist/lib/components/thread/thread-panel.component.d.ts +65 -0
- package/dist/lib/components/thread/thread-panel.component.d.ts.map +1 -0
- package/dist/lib/components/thread/thread-panel.component.js +325 -0
- package/dist/lib/components/thread/thread-panel.component.js.map +1 -0
- package/dist/lib/components/toast/toast.component.d.ts +26 -0
- package/dist/lib/components/toast/toast.component.d.ts.map +1 -0
- package/dist/lib/components/toast/toast.component.js +108 -0
- package/dist/lib/components/toast/toast.component.js.map +1 -0
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts +75 -0
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -0
- package/dist/lib/components/workspace/conversation-workspace.component.js +299 -0
- package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -0
- package/dist/lib/conversations.module.d.ts +62 -0
- package/dist/lib/conversations.module.d.ts.map +1 -0
- package/dist/lib/conversations.module.js +248 -0
- package/dist/lib/conversations.module.js.map +1 -0
- package/dist/lib/directives/search-shortcut.directive.d.ts +17 -0
- package/dist/lib/directives/search-shortcut.directive.d.ts.map +1 -0
- package/dist/lib/directives/search-shortcut.directive.js +39 -0
- package/dist/lib/directives/search-shortcut.directive.js.map +1 -0
- package/dist/lib/models/conversation-state.model.d.ts +72 -0
- package/dist/lib/models/conversation-state.model.d.ts.map +1 -0
- package/dist/lib/models/conversation-state.model.js +2 -0
- package/dist/lib/models/conversation-state.model.js.map +1 -0
- package/dist/lib/models/notification.model.d.ts +89 -0
- package/dist/lib/models/notification.model.d.ts.map +1 -0
- package/dist/lib/models/notification.model.js +11 -0
- package/dist/lib/models/notification.model.js.map +1 -0
- package/dist/lib/services/active-tasks.service.d.ts +65 -0
- package/dist/lib/services/active-tasks.service.d.ts.map +1 -0
- package/dist/lib/services/active-tasks.service.js +95 -0
- package/dist/lib/services/active-tasks.service.js.map +1 -0
- package/dist/lib/services/agent-state.service.d.ts +78 -0
- package/dist/lib/services/agent-state.service.d.ts.map +1 -0
- package/dist/lib/services/agent-state.service.js +213 -0
- package/dist/lib/services/agent-state.service.js.map +1 -0
- package/dist/lib/services/artifact-state.service.d.ts +114 -0
- package/dist/lib/services/artifact-state.service.d.ts.map +1 -0
- package/dist/lib/services/artifact-state.service.js +288 -0
- package/dist/lib/services/artifact-state.service.js.map +1 -0
- package/dist/lib/services/conversation-agent.service.d.ts +79 -0
- package/dist/lib/services/conversation-agent.service.d.ts.map +1 -0
- package/dist/lib/services/conversation-agent.service.js +259 -0
- package/dist/lib/services/conversation-agent.service.js.map +1 -0
- package/dist/lib/services/conversation-state.service.d.ts +122 -0
- package/dist/lib/services/conversation-state.service.d.ts.map +1 -0
- package/dist/lib/services/conversation-state.service.js +255 -0
- package/dist/lib/services/conversation-state.service.js.map +1 -0
- package/dist/lib/services/dialog.service.d.ts +54 -0
- package/dist/lib/services/dialog.service.d.ts.map +1 -0
- package/dist/lib/services/dialog.service.js +157 -0
- package/dist/lib/services/dialog.service.js.map +1 -0
- package/dist/lib/services/export.service.d.ts +25 -0
- package/dist/lib/services/export.service.d.ts.map +1 -0
- package/dist/lib/services/export.service.js +237 -0
- package/dist/lib/services/export.service.js.map +1 -0
- package/dist/lib/services/mention-autocomplete.service.d.ts +59 -0
- package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -0
- package/dist/lib/services/mention-autocomplete.service.js +160 -0
- package/dist/lib/services/mention-autocomplete.service.js.map +1 -0
- package/dist/lib/services/mention-parser.service.d.ts +46 -0
- package/dist/lib/services/mention-parser.service.d.ts.map +1 -0
- package/dist/lib/services/mention-parser.service.js +156 -0
- package/dist/lib/services/mention-parser.service.js.map +1 -0
- package/dist/lib/services/notification.service.d.ts +108 -0
- package/dist/lib/services/notification.service.d.ts.map +1 -0
- package/dist/lib/services/notification.service.js +431 -0
- package/dist/lib/services/notification.service.js.map +1 -0
- package/dist/lib/services/search.service.d.ts +144 -0
- package/dist/lib/services/search.service.d.ts.map +1 -0
- package/dist/lib/services/search.service.js +370 -0
- package/dist/lib/services/search.service.js.map +1 -0
- package/dist/lib/services/toast.service.d.ts +46 -0
- package/dist/lib/services/toast.service.d.ts.map +1 -0
- package/dist/lib/services/toast.service.js +76 -0
- package/dist/lib/services/toast.service.js.map +1 -0
- package/dist/public-api.d.ts +42 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +49 -0
- package/dist/public-api.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../services/export.service";
|
|
4
|
+
import * as i2 from "../../services/dialog.service";
|
|
5
|
+
import * as i3 from "../../services/toast.service";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "@angular/forms";
|
|
8
|
+
import * as i6 from "@progress/kendo-angular-dialog";
|
|
9
|
+
import * as i7 from "@progress/kendo-angular-buttons";
|
|
10
|
+
import * as i8 from "@progress/kendo-angular-indicators";
|
|
11
|
+
const _forTrack0 = ($index, $item) => $item.value;
|
|
12
|
+
function ExportModalComponent_kendo_dialog_0_For_10_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
13
|
+
i0.ɵɵelement(0, "i", 25);
|
|
14
|
+
} }
|
|
15
|
+
function ExportModalComponent_kendo_dialog_0_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
17
|
+
i0.ɵɵelementStart(0, "div", 21);
|
|
18
|
+
i0.ɵɵlistener("click", function ExportModalComponent_kendo_dialog_0_For_10_Template_div_click_0_listener() { const format_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.selectFormat(format_r4.value)); });
|
|
19
|
+
i0.ɵɵelement(1, "i");
|
|
20
|
+
i0.ɵɵelementStart(2, "div", 22)(3, "div", 23);
|
|
21
|
+
i0.ɵɵtext(4);
|
|
22
|
+
i0.ɵɵelementEnd();
|
|
23
|
+
i0.ɵɵelementStart(5, "div", 24);
|
|
24
|
+
i0.ɵɵtext(6);
|
|
25
|
+
i0.ɵɵelementEnd()();
|
|
26
|
+
i0.ɵɵtemplate(7, ExportModalComponent_kendo_dialog_0_For_10_Conditional_7_Template, 1, 0, "i", 25);
|
|
27
|
+
i0.ɵɵelementEnd();
|
|
28
|
+
} if (rf & 2) {
|
|
29
|
+
const format_r4 = ctx.$implicit;
|
|
30
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
31
|
+
i0.ɵɵclassProp("selected", ctx_r1.selectedFormat === format_r4.value);
|
|
32
|
+
i0.ɵɵadvance();
|
|
33
|
+
i0.ɵɵclassMap(format_r4.icon);
|
|
34
|
+
i0.ɵɵadvance(3);
|
|
35
|
+
i0.ɵɵtextInterpolate(format_r4.name);
|
|
36
|
+
i0.ɵɵadvance(2);
|
|
37
|
+
i0.ɵɵtextInterpolate(format_r4.description);
|
|
38
|
+
i0.ɵɵadvance();
|
|
39
|
+
i0.ɵɵconditional(ctx_r1.selectedFormat === format_r4.value ? 7 : -1);
|
|
40
|
+
} }
|
|
41
|
+
function ExportModalComponent_kendo_dialog_0_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
43
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "h4", 26);
|
|
44
|
+
i0.ɵɵtext(2, "JSON Options");
|
|
45
|
+
i0.ɵɵelementEnd();
|
|
46
|
+
i0.ɵɵelementStart(3, "label", 12)(4, "input", 13);
|
|
47
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ExportModalComponent_kendo_dialog_0_Conditional_28_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.exportOptions.prettyPrint, $event) || (ctx_r1.exportOptions.prettyPrint = $event); return i0.ɵɵresetView($event); });
|
|
48
|
+
i0.ɵɵelementEnd();
|
|
49
|
+
i0.ɵɵelementStart(5, "span");
|
|
50
|
+
i0.ɵɵtext(6, "Pretty print");
|
|
51
|
+
i0.ɵɵelementEnd();
|
|
52
|
+
i0.ɵɵelementStart(7, "small");
|
|
53
|
+
i0.ɵɵtext(8, "Format JSON with indentation");
|
|
54
|
+
i0.ɵɵelementEnd()()();
|
|
55
|
+
} if (rf & 2) {
|
|
56
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
57
|
+
i0.ɵɵadvance(4);
|
|
58
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.exportOptions.prettyPrint);
|
|
59
|
+
i0.ɵɵproperty("disabled", ctx_r1.isExporting);
|
|
60
|
+
} }
|
|
61
|
+
function ExportModalComponent_kendo_dialog_0_Conditional_29_Template(rf, ctx) { if (rf & 1) {
|
|
62
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
63
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "h4", 26);
|
|
64
|
+
i0.ɵɵtext(2, "HTML Options");
|
|
65
|
+
i0.ɵɵelementEnd();
|
|
66
|
+
i0.ɵɵelementStart(3, "label", 12)(4, "input", 13);
|
|
67
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ExportModalComponent_kendo_dialog_0_Conditional_29_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.exportOptions.includeCSS, $event) || (ctx_r1.exportOptions.includeCSS = $event); return i0.ɵɵresetView($event); });
|
|
68
|
+
i0.ɵɵelementEnd();
|
|
69
|
+
i0.ɵɵelementStart(5, "span");
|
|
70
|
+
i0.ɵɵtext(6, "Include CSS styling");
|
|
71
|
+
i0.ɵɵelementEnd();
|
|
72
|
+
i0.ɵɵelementStart(7, "small");
|
|
73
|
+
i0.ɵɵtext(8, "Embed styles for better presentation");
|
|
74
|
+
i0.ɵɵelementEnd()()();
|
|
75
|
+
} if (rf & 2) {
|
|
76
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
77
|
+
i0.ɵɵadvance(4);
|
|
78
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.exportOptions.includeCSS);
|
|
79
|
+
i0.ɵɵproperty("disabled", ctx_r1.isExporting);
|
|
80
|
+
} }
|
|
81
|
+
function ExportModalComponent_kendo_dialog_0_Conditional_30_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
+
i0.ɵɵelementStart(0, "div", 15);
|
|
83
|
+
i0.ɵɵelement(1, "i", 27);
|
|
84
|
+
i0.ɵɵtext(2);
|
|
85
|
+
i0.ɵɵelementEnd();
|
|
86
|
+
} if (rf & 2) {
|
|
87
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
88
|
+
i0.ɵɵadvance(2);
|
|
89
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.errorMessage, " ");
|
|
90
|
+
} }
|
|
91
|
+
function ExportModalComponent_kendo_dialog_0_Conditional_31_Template(rf, ctx) { if (rf & 1) {
|
|
92
|
+
i0.ɵɵelementStart(0, "div", 16);
|
|
93
|
+
i0.ɵɵelement(1, "kendo-loader", 28);
|
|
94
|
+
i0.ɵɵelementStart(2, "span");
|
|
95
|
+
i0.ɵɵtext(3, "Exporting conversation...");
|
|
96
|
+
i0.ɵɵelementEnd()();
|
|
97
|
+
} }
|
|
98
|
+
function ExportModalComponent_kendo_dialog_0_Template(rf, ctx) { if (rf & 1) {
|
|
99
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
100
|
+
i0.ɵɵelementStart(0, "kendo-dialog", 1);
|
|
101
|
+
i0.ɵɵlistener("close", function ExportModalComponent_kendo_dialog_0_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCancel()); });
|
|
102
|
+
i0.ɵɵelementStart(1, "div", 2)(2, "section", 3)(3, "h3", 4);
|
|
103
|
+
i0.ɵɵelement(4, "i", 5);
|
|
104
|
+
i0.ɵɵtext(5, " Export Format ");
|
|
105
|
+
i0.ɵɵelementEnd();
|
|
106
|
+
i0.ɵɵelementStart(6, "p", 6);
|
|
107
|
+
i0.ɵɵtext(7, " Choose a format to export this conversation: ");
|
|
108
|
+
i0.ɵɵelementEnd();
|
|
109
|
+
i0.ɵɵelementStart(8, "div", 7);
|
|
110
|
+
i0.ɵɵrepeaterCreate(9, ExportModalComponent_kendo_dialog_0_For_10_Template, 8, 7, "div", 8, _forTrack0);
|
|
111
|
+
i0.ɵɵelementEnd()();
|
|
112
|
+
i0.ɵɵelementStart(11, "section", 9)(12, "h3", 4);
|
|
113
|
+
i0.ɵɵelement(13, "i", 10);
|
|
114
|
+
i0.ɵɵtext(14, " Export Options ");
|
|
115
|
+
i0.ɵɵelementEnd();
|
|
116
|
+
i0.ɵɵelementStart(15, "div", 11)(16, "label", 12)(17, "input", 13);
|
|
117
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ExportModalComponent_kendo_dialog_0_Template_input_ngModelChange_17_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.exportOptions.includeMessages, $event) || (ctx_r1.exportOptions.includeMessages = $event); return i0.ɵɵresetView($event); });
|
|
118
|
+
i0.ɵɵelementEnd();
|
|
119
|
+
i0.ɵɵelementStart(18, "span");
|
|
120
|
+
i0.ɵɵtext(19, "Include messages");
|
|
121
|
+
i0.ɵɵelementEnd();
|
|
122
|
+
i0.ɵɵelementStart(20, "small");
|
|
123
|
+
i0.ɵɵtext(21, "Export all conversation messages");
|
|
124
|
+
i0.ɵɵelementEnd()();
|
|
125
|
+
i0.ɵɵelementStart(22, "label", 12)(23, "input", 13);
|
|
126
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ExportModalComponent_kendo_dialog_0_Template_input_ngModelChange_23_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.exportOptions.includeMetadata, $event) || (ctx_r1.exportOptions.includeMetadata = $event); return i0.ɵɵresetView($event); });
|
|
127
|
+
i0.ɵɵelementEnd();
|
|
128
|
+
i0.ɵɵelementStart(24, "span");
|
|
129
|
+
i0.ɵɵtext(25, "Include metadata");
|
|
130
|
+
i0.ɵɵelementEnd();
|
|
131
|
+
i0.ɵɵelementStart(26, "small");
|
|
132
|
+
i0.ɵɵtext(27, "Add creation date, IDs, and other metadata");
|
|
133
|
+
i0.ɵɵelementEnd()()();
|
|
134
|
+
i0.ɵɵtemplate(28, ExportModalComponent_kendo_dialog_0_Conditional_28_Template, 9, 2, "div", 14)(29, ExportModalComponent_kendo_dialog_0_Conditional_29_Template, 9, 2, "div", 14);
|
|
135
|
+
i0.ɵɵelementEnd();
|
|
136
|
+
i0.ɵɵtemplate(30, ExportModalComponent_kendo_dialog_0_Conditional_30_Template, 3, 1, "div", 15)(31, ExportModalComponent_kendo_dialog_0_Conditional_31_Template, 4, 0, "div", 16);
|
|
137
|
+
i0.ɵɵelementEnd();
|
|
138
|
+
i0.ɵɵelementStart(32, "kendo-dialog-actions")(33, "button", 17);
|
|
139
|
+
i0.ɵɵlistener("click", function ExportModalComponent_kendo_dialog_0_Template_button_click_33_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCancel()); });
|
|
140
|
+
i0.ɵɵelement(34, "i", 18);
|
|
141
|
+
i0.ɵɵtext(35, " Cancel ");
|
|
142
|
+
i0.ɵɵelementEnd();
|
|
143
|
+
i0.ɵɵelementStart(36, "button", 19);
|
|
144
|
+
i0.ɵɵlistener("click", function ExportModalComponent_kendo_dialog_0_Template_button_click_36_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onExport()); });
|
|
145
|
+
i0.ɵɵelement(37, "i", 20);
|
|
146
|
+
i0.ɵɵtext(38, " Export ");
|
|
147
|
+
i0.ɵɵelementEnd()()();
|
|
148
|
+
} if (rf & 2) {
|
|
149
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
150
|
+
i0.ɵɵproperty("title", ctx_r1.exportTitle)("width", 600)("height", 600);
|
|
151
|
+
i0.ɵɵadvance(9);
|
|
152
|
+
i0.ɵɵrepeater(ctx_r1.formats);
|
|
153
|
+
i0.ɵɵadvance(8);
|
|
154
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.exportOptions.includeMessages);
|
|
155
|
+
i0.ɵɵproperty("disabled", ctx_r1.isExporting);
|
|
156
|
+
i0.ɵɵadvance(6);
|
|
157
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.exportOptions.includeMetadata);
|
|
158
|
+
i0.ɵɵproperty("disabled", ctx_r1.isExporting);
|
|
159
|
+
i0.ɵɵadvance(5);
|
|
160
|
+
i0.ɵɵconditional(ctx_r1.selectedFormat === "json" ? 28 : -1);
|
|
161
|
+
i0.ɵɵadvance();
|
|
162
|
+
i0.ɵɵconditional(ctx_r1.selectedFormat === "html" ? 29 : -1);
|
|
163
|
+
i0.ɵɵadvance();
|
|
164
|
+
i0.ɵɵconditional(ctx_r1.errorMessage ? 30 : -1);
|
|
165
|
+
i0.ɵɵadvance();
|
|
166
|
+
i0.ɵɵconditional(ctx_r1.isExporting ? 31 : -1);
|
|
167
|
+
i0.ɵɵadvance(2);
|
|
168
|
+
i0.ɵɵproperty("disabled", ctx_r1.isExporting);
|
|
169
|
+
i0.ɵɵadvance(3);
|
|
170
|
+
i0.ɵɵproperty("primary", true)("disabled", !ctx_r1.canExport);
|
|
171
|
+
} }
|
|
172
|
+
export class ExportModalComponent {
|
|
173
|
+
exportService;
|
|
174
|
+
dialogService;
|
|
175
|
+
toastService;
|
|
176
|
+
isVisible = false;
|
|
177
|
+
conversation;
|
|
178
|
+
currentUser;
|
|
179
|
+
cancelled = new EventEmitter();
|
|
180
|
+
exported = new EventEmitter();
|
|
181
|
+
selectedFormat = 'markdown';
|
|
182
|
+
isExporting = false;
|
|
183
|
+
errorMessage = '';
|
|
184
|
+
exportOptions = {
|
|
185
|
+
includeMessages: true,
|
|
186
|
+
includeMetadata: true,
|
|
187
|
+
prettyPrint: true,
|
|
188
|
+
includeCSS: true
|
|
189
|
+
};
|
|
190
|
+
get exportTitle() {
|
|
191
|
+
return `Export: ${this.conversation?.Name || 'Conversation'}`;
|
|
192
|
+
}
|
|
193
|
+
get canExport() {
|
|
194
|
+
return !this.isExporting &&
|
|
195
|
+
!!this.selectedFormat &&
|
|
196
|
+
(this.exportOptions.includeMessages === true);
|
|
197
|
+
}
|
|
198
|
+
formats = [
|
|
199
|
+
{
|
|
200
|
+
value: 'markdown',
|
|
201
|
+
name: 'Markdown',
|
|
202
|
+
description: 'Formatted text with markdown syntax',
|
|
203
|
+
icon: 'fa-solid fa-file-alt'
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
value: 'json',
|
|
207
|
+
name: 'JSON',
|
|
208
|
+
description: 'Structured data format',
|
|
209
|
+
icon: 'fa-solid fa-code'
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
value: 'html',
|
|
213
|
+
name: 'HTML',
|
|
214
|
+
description: 'Web page format',
|
|
215
|
+
icon: 'fa-solid fa-file-code'
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
value: 'text',
|
|
219
|
+
name: 'Plain Text',
|
|
220
|
+
description: 'Simple text file',
|
|
221
|
+
icon: 'fa-solid fa-file'
|
|
222
|
+
}
|
|
223
|
+
];
|
|
224
|
+
constructor(exportService, dialogService, toastService) {
|
|
225
|
+
this.exportService = exportService;
|
|
226
|
+
this.dialogService = dialogService;
|
|
227
|
+
this.toastService = toastService;
|
|
228
|
+
}
|
|
229
|
+
selectFormat(format) {
|
|
230
|
+
if (!this.isExporting) {
|
|
231
|
+
this.selectedFormat = format;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
async onExport() {
|
|
235
|
+
if (!this.canExport || !this.conversation) {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
if (!this.exportOptions.includeMessages) {
|
|
239
|
+
this.errorMessage = 'At least "Include messages" must be selected';
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
this.isExporting = true;
|
|
243
|
+
this.errorMessage = '';
|
|
244
|
+
try {
|
|
245
|
+
await this.exportService.exportConversation(this.conversation.ID, this.selectedFormat, this.currentUser, this.exportOptions);
|
|
246
|
+
this.toastService.success('Conversation exported successfully');
|
|
247
|
+
this.exported.emit();
|
|
248
|
+
this.resetForm();
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
console.error('Error exporting conversation:', error);
|
|
252
|
+
this.errorMessage = error instanceof Error ? error.message : 'Failed to export conversation';
|
|
253
|
+
this.toastService.error(this.errorMessage);
|
|
254
|
+
}
|
|
255
|
+
finally {
|
|
256
|
+
this.isExporting = false;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
onCancel() {
|
|
260
|
+
this.cancelled.emit();
|
|
261
|
+
this.resetForm();
|
|
262
|
+
}
|
|
263
|
+
resetForm() {
|
|
264
|
+
this.selectedFormat = 'markdown';
|
|
265
|
+
this.errorMessage = '';
|
|
266
|
+
this.exportOptions = {
|
|
267
|
+
includeMessages: true,
|
|
268
|
+
includeMetadata: true,
|
|
269
|
+
prettyPrint: true,
|
|
270
|
+
includeCSS: true
|
|
271
|
+
};
|
|
272
|
+
this.isVisible = false;
|
|
273
|
+
}
|
|
274
|
+
static ɵfac = function ExportModalComponent_Factory(t) { return new (t || ExportModalComponent)(i0.ɵɵdirectiveInject(i1.ExportService), i0.ɵɵdirectiveInject(i2.DialogService), i0.ɵɵdirectiveInject(i3.ToastService)); };
|
|
275
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExportModalComponent, selectors: [["mj-export-modal"]], inputs: { isVisible: "isVisible", conversation: "conversation", currentUser: "currentUser" }, outputs: { cancelled: "cancelled", exported: "exported" }, decls: 1, vars: 1, consts: [[3, "title", "width", "height", "close", 4, "ngIf"], [3, "close", "title", "width", "height"], [1, "export-modal-content"], [1, "format-section"], [1, "section-title"], [1, "fa-solid", "fa-file-export"], [1, "section-description"], [1, "format-options"], [1, "format-option", 3, "selected"], [1, "options-section"], [1, "fa-solid", "fa-sliders"], [1, "option-checkboxes"], [1, "checkbox-label"], ["type", "checkbox", 3, "ngModelChange", "ngModel", "disabled"], [1, "format-specific-options"], [1, "error-message"], [1, "loading-indicator"], ["kendoButton", "", 3, "click", "disabled"], [1, "fa-solid", "fa-times"], ["kendoButton", "", 3, "click", "primary", "disabled"], [1, "fa-solid", "fa-download"], [1, "format-option", 3, "click"], [1, "format-details"], [1, "format-name"], [1, "format-description"], [1, "fa-solid", "fa-check-circle", "check-icon"], [1, "subsection-title"], [1, "fa-solid", "fa-exclamation-triangle"], ["type", "infinite-spinner", "size", "medium"]], template: function ExportModalComponent_Template(rf, ctx) { if (rf & 1) {
|
|
276
|
+
i0.ɵɵtemplate(0, ExportModalComponent_kendo_dialog_0_Template, 39, 14, "kendo-dialog", 0);
|
|
277
|
+
} if (rf & 2) {
|
|
278
|
+
i0.ɵɵproperty("ngIf", ctx.isVisible);
|
|
279
|
+
} }, dependencies: [i4.NgIf, i5.CheckboxControlValueAccessor, i5.NgControlStatus, i5.NgModel, i6.DialogComponent, i6.DialogActionsComponent, i7.ButtonComponent, i8.LoaderComponent], styles: [".export-modal-content[_ngcontent-%COMP%] {\n padding: 20px;\n max-height: calc(600px - 120px);\n overflow-y: auto;\n }\n\n section[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n }\n\n .section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 8px 0;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n }\n\n .section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #007bff;\n }\n\n .section-description[_ngcontent-%COMP%] {\n margin: 0 0 16px 0;\n color: #666;\n font-size: 14px;\n }\n\n .format-options[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n\n .format-option[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border: 2px solid #e0e0e0;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .format-option[_ngcontent-%COMP%]:hover {\n border-color: #007bff;\n background: #f8f9fa;\n }\n\n .format-option.selected[_ngcontent-%COMP%] {\n border-color: #007bff;\n background: #e3f2fd;\n }\n\n .format-option[_ngcontent-%COMP%] > i.fa-solid[_ngcontent-%COMP%], \n .format-option[_ngcontent-%COMP%] > i.fas[_ngcontent-%COMP%] {\n font-size: 24px;\n color: #666;\n width: 32px;\n text-align: center;\n }\n\n .format-option.selected[_ngcontent-%COMP%] > i.fa-solid[_ngcontent-%COMP%], \n .format-option.selected[_ngcontent-%COMP%] > i.fas[_ngcontent-%COMP%] {\n color: #007bff;\n }\n\n .format-details[_ngcontent-%COMP%] {\n flex: 1;\n }\n\n .format-name[_ngcontent-%COMP%] {\n font-weight: 500;\n font-size: 14px;\n margin-bottom: 2px;\n }\n\n .format-description[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #666;\n }\n\n .check-icon[_ngcontent-%COMP%] {\n font-size: 20px;\n color: #28a745;\n }\n\n .option-checkboxes[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n\n .checkbox-label[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n cursor: pointer;\n padding: 8px;\n border-radius: 4px;\n transition: background 0.2s;\n }\n\n .checkbox-label[_ngcontent-%COMP%]:hover {\n background: #f8f9fa;\n }\n\n .checkbox-label[_ngcontent-%COMP%] input[type=\"checkbox\"][_ngcontent-%COMP%] {\n margin-right: 8px;\n cursor: pointer;\n }\n\n .checkbox-label[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n font-size: 14px;\n font-weight: 500;\n }\n\n .checkbox-label[_ngcontent-%COMP%] input[type=\"checkbox\"][_ngcontent-%COMP%]:disabled {\n cursor: not-allowed;\n }\n\n .checkbox-label[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n margin-left: 28px;\n font-size: 12px;\n color: #666;\n }\n\n .format-specific-options[_ngcontent-%COMP%] {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid #e0e0e0;\n }\n\n .subsection-title[_ngcontent-%COMP%] {\n margin: 0 0 12px 0;\n font-size: 14px;\n font-weight: 600;\n color: #555;\n }\n\n .error-message[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #d32f2f;\n font-size: 13px;\n margin-top: 15px;\n padding: 10px 12px;\n background: #ffebee;\n border-left: 3px solid #d32f2f;\n border-radius: 4px;\n }\n\n .loading-indicator[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-top: 15px;\n padding: 12px;\n background: #f8f9fa;\n border-radius: 4px;\n color: #666;\n }\n\n kendo-dialog-actions[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n padding: 15px 20px;\n border-top: 1px solid #e0e0e0;\n }\n\n kendo-dialog-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 6px;\n }"] });
|
|
280
|
+
}
|
|
281
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExportModalComponent, [{
|
|
282
|
+
type: Component,
|
|
283
|
+
args: [{ selector: 'mj-export-modal', template: `
|
|
284
|
+
<kendo-dialog
|
|
285
|
+
*ngIf="isVisible"
|
|
286
|
+
[title]="exportTitle"
|
|
287
|
+
[width]="600"
|
|
288
|
+
[height]="600"
|
|
289
|
+
(close)="onCancel()">
|
|
290
|
+
|
|
291
|
+
<div class="export-modal-content">
|
|
292
|
+
<section class="format-section">
|
|
293
|
+
<h3 class="section-title">
|
|
294
|
+
<i class="fa-solid fa-file-export"></i>
|
|
295
|
+
Export Format
|
|
296
|
+
</h3>
|
|
297
|
+
<p class="section-description">
|
|
298
|
+
Choose a format to export this conversation:
|
|
299
|
+
</p>
|
|
300
|
+
|
|
301
|
+
<div class="format-options">
|
|
302
|
+
@for (format of formats; track format.value) {
|
|
303
|
+
<div
|
|
304
|
+
class="format-option"
|
|
305
|
+
[class.selected]="selectedFormat === format.value"
|
|
306
|
+
(click)="selectFormat(format.value)">
|
|
307
|
+
<i [class]="format.icon"></i>
|
|
308
|
+
<div class="format-details">
|
|
309
|
+
<div class="format-name">{{ format.name }}</div>
|
|
310
|
+
<div class="format-description">{{ format.description }}</div>
|
|
311
|
+
</div>
|
|
312
|
+
@if (selectedFormat === format.value) {
|
|
313
|
+
<i class="fa-solid fa-check-circle check-icon"></i>
|
|
314
|
+
}
|
|
315
|
+
</div>
|
|
316
|
+
}
|
|
317
|
+
</div>
|
|
318
|
+
</section>
|
|
319
|
+
|
|
320
|
+
<section class="options-section">
|
|
321
|
+
<h3 class="section-title">
|
|
322
|
+
<i class="fa-solid fa-sliders"></i>
|
|
323
|
+
Export Options
|
|
324
|
+
</h3>
|
|
325
|
+
|
|
326
|
+
<div class="option-checkboxes">
|
|
327
|
+
<label class="checkbox-label">
|
|
328
|
+
<input
|
|
329
|
+
type="checkbox"
|
|
330
|
+
[(ngModel)]="exportOptions.includeMessages"
|
|
331
|
+
[disabled]="isExporting">
|
|
332
|
+
<span>Include messages</span>
|
|
333
|
+
<small>Export all conversation messages</small>
|
|
334
|
+
</label>
|
|
335
|
+
|
|
336
|
+
<label class="checkbox-label">
|
|
337
|
+
<input
|
|
338
|
+
type="checkbox"
|
|
339
|
+
[(ngModel)]="exportOptions.includeMetadata"
|
|
340
|
+
[disabled]="isExporting">
|
|
341
|
+
<span>Include metadata</span>
|
|
342
|
+
<small>Add creation date, IDs, and other metadata</small>
|
|
343
|
+
</label>
|
|
344
|
+
</div>
|
|
345
|
+
|
|
346
|
+
@if (selectedFormat === 'json') {
|
|
347
|
+
<div class="format-specific-options">
|
|
348
|
+
<h4 class="subsection-title">JSON Options</h4>
|
|
349
|
+
<label class="checkbox-label">
|
|
350
|
+
<input
|
|
351
|
+
type="checkbox"
|
|
352
|
+
[(ngModel)]="exportOptions.prettyPrint"
|
|
353
|
+
[disabled]="isExporting">
|
|
354
|
+
<span>Pretty print</span>
|
|
355
|
+
<small>Format JSON with indentation</small>
|
|
356
|
+
</label>
|
|
357
|
+
</div>
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
@if (selectedFormat === 'html') {
|
|
361
|
+
<div class="format-specific-options">
|
|
362
|
+
<h4 class="subsection-title">HTML Options</h4>
|
|
363
|
+
<label class="checkbox-label">
|
|
364
|
+
<input
|
|
365
|
+
type="checkbox"
|
|
366
|
+
[(ngModel)]="exportOptions.includeCSS"
|
|
367
|
+
[disabled]="isExporting">
|
|
368
|
+
<span>Include CSS styling</span>
|
|
369
|
+
<small>Embed styles for better presentation</small>
|
|
370
|
+
</label>
|
|
371
|
+
</div>
|
|
372
|
+
}
|
|
373
|
+
</section>
|
|
374
|
+
|
|
375
|
+
@if (errorMessage) {
|
|
376
|
+
<div class="error-message">
|
|
377
|
+
<i class="fa-solid fa-exclamation-triangle"></i>
|
|
378
|
+
{{ errorMessage }}
|
|
379
|
+
</div>
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
@if (isExporting) {
|
|
383
|
+
<div class="loading-indicator">
|
|
384
|
+
<kendo-loader type="infinite-spinner" size="medium"></kendo-loader>
|
|
385
|
+
<span>Exporting conversation...</span>
|
|
386
|
+
</div>
|
|
387
|
+
}
|
|
388
|
+
</div>
|
|
389
|
+
|
|
390
|
+
<kendo-dialog-actions>
|
|
391
|
+
<button kendoButton [disabled]="isExporting" (click)="onCancel()">
|
|
392
|
+
<i class="fa-solid fa-times"></i>
|
|
393
|
+
Cancel
|
|
394
|
+
</button>
|
|
395
|
+
<button kendoButton [primary]="true" [disabled]="!canExport" (click)="onExport()">
|
|
396
|
+
<i class="fa-solid fa-download"></i>
|
|
397
|
+
Export
|
|
398
|
+
</button>
|
|
399
|
+
</kendo-dialog-actions>
|
|
400
|
+
</kendo-dialog>
|
|
401
|
+
`, styles: ["\n .export-modal-content {\n padding: 20px;\n max-height: calc(600px - 120px);\n overflow-y: auto;\n }\n\n section {\n margin-bottom: 24px;\n }\n\n .section-title {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0 0 8px 0;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n }\n\n .section-title i {\n color: #007bff;\n }\n\n .section-description {\n margin: 0 0 16px 0;\n color: #666;\n font-size: 14px;\n }\n\n .format-options {\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n\n .format-option {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border: 2px solid #e0e0e0;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .format-option:hover {\n border-color: #007bff;\n background: #f8f9fa;\n }\n\n .format-option.selected {\n border-color: #007bff;\n background: #e3f2fd;\n }\n\n .format-option > i.fa-solid,\n .format-option > i.fas {\n font-size: 24px;\n color: #666;\n width: 32px;\n text-align: center;\n }\n\n .format-option.selected > i.fa-solid,\n .format-option.selected > i.fas {\n color: #007bff;\n }\n\n .format-details {\n flex: 1;\n }\n\n .format-name {\n font-weight: 500;\n font-size: 14px;\n margin-bottom: 2px;\n }\n\n .format-description {\n font-size: 12px;\n color: #666;\n }\n\n .check-icon {\n font-size: 20px;\n color: #28a745;\n }\n\n .option-checkboxes {\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n\n .checkbox-label {\n display: flex;\n flex-direction: column;\n gap: 4px;\n cursor: pointer;\n padding: 8px;\n border-radius: 4px;\n transition: background 0.2s;\n }\n\n .checkbox-label:hover {\n background: #f8f9fa;\n }\n\n .checkbox-label input[type=\"checkbox\"] {\n margin-right: 8px;\n cursor: pointer;\n }\n\n .checkbox-label > span {\n display: inline-flex;\n align-items: center;\n font-size: 14px;\n font-weight: 500;\n }\n\n .checkbox-label input[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n }\n\n .checkbox-label small {\n margin-left: 28px;\n font-size: 12px;\n color: #666;\n }\n\n .format-specific-options {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid #e0e0e0;\n }\n\n .subsection-title {\n margin: 0 0 12px 0;\n font-size: 14px;\n font-weight: 600;\n color: #555;\n }\n\n .error-message {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #d32f2f;\n font-size: 13px;\n margin-top: 15px;\n padding: 10px 12px;\n background: #ffebee;\n border-left: 3px solid #d32f2f;\n border-radius: 4px;\n }\n\n .loading-indicator {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-top: 15px;\n padding: 12px;\n background: #f8f9fa;\n border-radius: 4px;\n color: #666;\n }\n\n kendo-dialog-actions {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n padding: 15px 20px;\n border-top: 1px solid #e0e0e0;\n }\n\n kendo-dialog-actions button i {\n margin-right: 6px;\n }\n "] }]
|
|
402
|
+
}], () => [{ type: i1.ExportService }, { type: i2.DialogService }, { type: i3.ToastService }], { isVisible: [{
|
|
403
|
+
type: Input
|
|
404
|
+
}], conversation: [{
|
|
405
|
+
type: Input
|
|
406
|
+
}], currentUser: [{
|
|
407
|
+
type: Input
|
|
408
|
+
}], cancelled: [{
|
|
409
|
+
type: Output
|
|
410
|
+
}], exported: [{
|
|
411
|
+
type: Output
|
|
412
|
+
}] }); })();
|
|
413
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ExportModalComponent, { className: "ExportModalComponent", filePath: "src/lib/components/export/export-modal.component.ts", lineNumber: 312 }); })();
|
|
414
|
+
//# sourceMappingURL=export-modal.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-modal.component.js","sourceRoot":"","sources":["../../../../src/lib/components/export/export-modal.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { UserInfo } from '@memberjunction/core';
|
|
3
|
+
import { CollectionEntity } from '@memberjunction/core-entities';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Full-panel Collections view component
|
|
7
|
+
* Replaces the main content area when Collections tab is selected
|
|
8
|
+
*/
|
|
9
|
+
export declare class LibraryFullViewComponent implements OnInit {
|
|
10
|
+
environmentId: string;
|
|
11
|
+
currentUser: UserInfo;
|
|
12
|
+
collections: CollectionEntity[];
|
|
13
|
+
filteredCollections: CollectionEntity[];
|
|
14
|
+
searchQuery: string;
|
|
15
|
+
isLoading: boolean;
|
|
16
|
+
breadcrumbs: Array<{
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
}>;
|
|
20
|
+
currentCollectionId: string | null;
|
|
21
|
+
constructor();
|
|
22
|
+
ngOnInit(): void;
|
|
23
|
+
loadCollections(): Promise<void>;
|
|
24
|
+
onSearchChange(query: string): void;
|
|
25
|
+
private applySearch;
|
|
26
|
+
openCollection(collection: CollectionEntity): void;
|
|
27
|
+
navigateTo(crumb: {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
}): void;
|
|
31
|
+
navigateToRoot(): void;
|
|
32
|
+
refresh(): void;
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibraryFullViewComponent, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LibraryFullViewComponent, "mj-library-full-view", never, { "environmentId": { "alias": "environmentId"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; }, {}, never, never, false, never>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=library-full-view.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library-full-view.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/library/library-full-view.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAW,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;;AAEjE;;;GAGG;AACH,qBA0Qa,wBAAyB,YAAW,MAAM;IAC5C,aAAa,EAAG,MAAM,CAAC;IACvB,WAAW,EAAG,QAAQ,CAAC;IAEzB,WAAW,EAAE,gBAAgB,EAAE,CAAM;IACrC,mBAAmB,EAAE,gBAAgB,EAAE,CAAM;IAC7C,WAAW,EAAE,MAAM,CAAM;IACzB,SAAS,EAAE,OAAO,CAAS;IAC3B,WAAW,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IACtD,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;;IAIjD,QAAQ;IAIF,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BtC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC,OAAO,CAAC,WAAW;IAYnB,cAAc,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAOlD,UAAU,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAUrD,cAAc,IAAI,IAAI;IAOtB,OAAO,IAAI,IAAI;yCAtFJ,wBAAwB;2CAAxB,wBAAwB;CAyFpC"}
|