@memberjunction/ng-core-entity-forms 5.1.0 → 5.3.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/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js +4 -4
- package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +18 -18
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +309 -309
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +9 -9
- package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +3 -3
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +8 -8
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +2 -2
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +2 -2
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +10 -10
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +3 -3
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +3 -3
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +8 -8
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +225 -225
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +7 -7
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +259 -259
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +3 -3
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.js +48 -48
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.d.ts +4 -4
- package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +164 -164
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts +3 -3
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +299 -299
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +3 -3
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.js +11 -11
- package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.d.ts +8 -8
- package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +163 -163
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.d.ts +3 -3
- package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.js +175 -184
- package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.d.ts +1 -0
- package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.js +3 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.d.ts +3 -3
- package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.js +53 -53
- package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.d.ts +3 -3
- package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.js +161 -161
- package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-rubric-form.component.d.ts +3 -3
- package/dist/lib/custom/Tests/test-rubric-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-rubric-form.component.js +12 -12
- package/dist/lib/custom/Tests/test-rubric-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +3 -3
- package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js +14 -14
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.d.ts +3 -3
- package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.js +140 -140
- package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts +3 -3
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.js +243 -243
- package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +3 -3
- package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-run-form.component.js +213 -213
- package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +6 -6
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +148 -148
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
- package/dist/lib/custom/custom-forms.module.d.ts +1 -1
- package/dist/lib/custom/custom-forms.module.js +85 -85
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js +5 -5
- package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js.map +1 -1
- package/package.json +30 -30
|
@@ -20,18 +20,18 @@ import * as i5 from "@memberjunction/ng-base-forms";
|
|
|
20
20
|
import * as i6 from "@memberjunction/ng-shared-generic";
|
|
21
21
|
import * as i7 from "@memberjunction/ng-list-management";
|
|
22
22
|
import * as i8 from "@angular/common";
|
|
23
|
-
function
|
|
23
|
+
function MJListFormComponentExtended_Conditional_7_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
24
24
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
25
25
|
i0.ɵɵelementStart(0, "button", 25);
|
|
26
|
-
i0.ɵɵlistener("click", function
|
|
26
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_7_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.startEditingName()); });
|
|
27
27
|
i0.ɵɵelement(1, "i", 26);
|
|
28
28
|
i0.ɵɵelementEnd();
|
|
29
29
|
} }
|
|
30
|
-
function
|
|
30
|
+
function MJListFormComponentExtended_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
31
31
|
i0.ɵɵelementStart(0, "h1", 23);
|
|
32
32
|
i0.ɵɵtext(1);
|
|
33
33
|
i0.ɵɵelementEnd();
|
|
34
|
-
i0.ɵɵconditionalCreate(2,
|
|
34
|
+
i0.ɵɵconditionalCreate(2, MJListFormComponentExtended_Conditional_7_Conditional_2_Template, 2, 0, "button", 24);
|
|
35
35
|
} if (rf & 2) {
|
|
36
36
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
37
37
|
i0.ɵɵadvance();
|
|
@@ -39,25 +39,25 @@ function ListFormComponentExtended_Conditional_7_Template(rf, ctx) { if (rf & 1)
|
|
|
39
39
|
i0.ɵɵadvance();
|
|
40
40
|
i0.ɵɵconditional(ctx_r1.isCurrentUserOwner() ? 2 : -1);
|
|
41
41
|
} }
|
|
42
|
-
function
|
|
42
|
+
function MJListFormComponentExtended_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
43
43
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
44
44
|
i0.ɵɵelementStart(0, "input", 27, 0);
|
|
45
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
46
|
-
i0.ɵɵlistener("keydown.enter", function
|
|
45
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MJListFormComponentExtended_Conditional_8_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.editingName, $event) || (ctx_r1.editingName = $event); return i0.ɵɵresetView($event); });
|
|
46
|
+
i0.ɵɵlistener("keydown.enter", function MJListFormComponentExtended_Conditional_8_Template_input_keydown_enter_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.saveNameEdit()); })("keydown.escape", function MJListFormComponentExtended_Conditional_8_Template_input_keydown_escape_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancelNameEdit()); });
|
|
47
47
|
i0.ɵɵelementEnd();
|
|
48
48
|
i0.ɵɵelementStart(2, "button", 28);
|
|
49
|
-
i0.ɵɵlistener("click", function
|
|
49
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_8_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.saveNameEdit()); });
|
|
50
50
|
i0.ɵɵelement(3, "i", 29);
|
|
51
51
|
i0.ɵɵelementEnd();
|
|
52
52
|
i0.ɵɵelementStart(4, "button", 30);
|
|
53
|
-
i0.ɵɵlistener("click", function
|
|
53
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_8_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.cancelNameEdit()); });
|
|
54
54
|
i0.ɵɵelement(5, "i", 31);
|
|
55
55
|
i0.ɵɵelementEnd();
|
|
56
56
|
} if (rf & 2) {
|
|
57
57
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
58
58
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.editingName);
|
|
59
59
|
} }
|
|
60
|
-
function
|
|
60
|
+
function MJListFormComponentExtended_For_31_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
61
61
|
i0.ɵɵelementStart(0, "span", 34);
|
|
62
62
|
i0.ɵɵtext(1);
|
|
63
63
|
i0.ɵɵelementEnd();
|
|
@@ -66,15 +66,15 @@ function ListFormComponentExtended_For_31_Conditional_4_Template(rf, ctx) { if (
|
|
|
66
66
|
i0.ɵɵadvance();
|
|
67
67
|
i0.ɵɵtextInterpolate(nav_r5.badge);
|
|
68
68
|
} }
|
|
69
|
-
function
|
|
69
|
+
function MJListFormComponentExtended_For_31_Template(rf, ctx) { if (rf & 1) {
|
|
70
70
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
71
71
|
i0.ɵɵelementStart(0, "button", 32);
|
|
72
|
-
i0.ɵɵlistener("click", function
|
|
72
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_For_31_Template_button_click_0_listener() { const nav_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.setActiveSection(nav_r5.id)); });
|
|
73
73
|
i0.ɵɵelement(1, "i");
|
|
74
74
|
i0.ɵɵelementStart(2, "span", 33);
|
|
75
75
|
i0.ɵɵtext(3);
|
|
76
76
|
i0.ɵɵelementEnd();
|
|
77
|
-
i0.ɵɵconditionalCreate(4,
|
|
77
|
+
i0.ɵɵconditionalCreate(4, MJListFormComponentExtended_For_31_Conditional_4_Template, 2, 1, "span", 34);
|
|
78
78
|
i0.ɵɵelementEnd();
|
|
79
79
|
} if (rf & 2) {
|
|
80
80
|
const nav_r5 = ctx.$implicit;
|
|
@@ -88,14 +88,14 @@ function ListFormComponentExtended_For_31_Template(rf, ctx) { if (rf & 1) {
|
|
|
88
88
|
i0.ɵɵadvance();
|
|
89
89
|
i0.ɵɵconditional(nav_r5.badge && nav_r5.badge > 0 ? 4 : -1);
|
|
90
90
|
} }
|
|
91
|
-
function
|
|
91
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
92
92
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
93
93
|
i0.ɵɵelementStart(0, "button", 60);
|
|
94
|
-
i0.ɵɵlistener("click", function
|
|
94
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_33_Conditional_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.startEditingDescription()); });
|
|
95
95
|
i0.ɵɵelement(1, "i", 26);
|
|
96
96
|
i0.ɵɵelementEnd();
|
|
97
97
|
} }
|
|
98
|
-
function
|
|
98
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_9_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
99
99
|
i0.ɵɵelementStart(0, "p", 61);
|
|
100
100
|
i0.ɵɵtext(1);
|
|
101
101
|
i0.ɵɵelementEnd();
|
|
@@ -104,39 +104,39 @@ function ListFormComponentExtended_Conditional_33_Conditional_9_Conditional_0_Te
|
|
|
104
104
|
i0.ɵɵadvance();
|
|
105
105
|
i0.ɵɵtextInterpolate(ctx_r1.record.Description);
|
|
106
106
|
} }
|
|
107
|
-
function
|
|
107
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_9_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
108
108
|
i0.ɵɵelementStart(0, "p", 62);
|
|
109
109
|
i0.ɵɵtext(1, "No description provided");
|
|
110
110
|
i0.ɵɵelementEnd();
|
|
111
111
|
} }
|
|
112
|
-
function
|
|
113
|
-
i0.ɵɵconditionalCreate(0,
|
|
114
|
-
i0.ɵɵconditionalCreate(1,
|
|
112
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
113
|
+
i0.ɵɵconditionalCreate(0, MJListFormComponentExtended_Conditional_33_Conditional_9_Conditional_0_Template, 2, 1, "p", 61);
|
|
114
|
+
i0.ɵɵconditionalCreate(1, MJListFormComponentExtended_Conditional_33_Conditional_9_Conditional_1_Template, 2, 0, "p", 62);
|
|
115
115
|
} if (rf & 2) {
|
|
116
116
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
117
117
|
i0.ɵɵconditional(ctx_r1.record.Description ? 0 : -1);
|
|
118
118
|
i0.ɵɵadvance();
|
|
119
119
|
i0.ɵɵconditional(!ctx_r1.record.Description ? 1 : -1);
|
|
120
120
|
} }
|
|
121
|
-
function
|
|
121
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
122
122
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
123
123
|
i0.ɵɵelementStart(0, "textarea", 63);
|
|
124
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
125
|
-
i0.ɵɵlistener("keydown.escape", function
|
|
124
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MJListFormComponentExtended_Conditional_33_Conditional_10_Template_textarea_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.editingDescription, $event) || (ctx_r1.editingDescription = $event); return i0.ɵɵresetView($event); });
|
|
125
|
+
i0.ɵɵlistener("keydown.escape", function MJListFormComponentExtended_Conditional_33_Conditional_10_Template_textarea_keydown_escape_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.cancelDescriptionEdit()); });
|
|
126
126
|
i0.ɵɵelementEnd();
|
|
127
127
|
i0.ɵɵelementStart(1, "div", 64)(2, "button", 65);
|
|
128
|
-
i0.ɵɵlistener("click", function
|
|
128
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_33_Conditional_10_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.saveDescriptionEdit()); });
|
|
129
129
|
i0.ɵɵtext(3, "Save");
|
|
130
130
|
i0.ɵɵelementEnd();
|
|
131
131
|
i0.ɵɵelementStart(4, "button", 66);
|
|
132
|
-
i0.ɵɵlistener("click", function
|
|
132
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_33_Conditional_10_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.cancelDescriptionEdit()); });
|
|
133
133
|
i0.ɵɵtext(5, "Cancel");
|
|
134
134
|
i0.ɵɵelementEnd()();
|
|
135
135
|
} if (rf & 2) {
|
|
136
136
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
137
137
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.editingDescription);
|
|
138
138
|
} }
|
|
139
|
-
function
|
|
139
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
140
140
|
i0.ɵɵelementStart(0, "span", 45);
|
|
141
141
|
i0.ɵɵelement(1, "i", 67);
|
|
142
142
|
i0.ɵɵtext(2);
|
|
@@ -146,7 +146,7 @@ function ListFormComponentExtended_Conditional_33_Conditional_26_Template(rf, ct
|
|
|
146
146
|
i0.ɵɵadvance(2);
|
|
147
147
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.categoryName, " ");
|
|
148
148
|
} }
|
|
149
|
-
function
|
|
149
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_27_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
150
150
|
i0.ɵɵelementStart(0, "option", 69);
|
|
151
151
|
i0.ɵɵtext(1);
|
|
152
152
|
i0.ɵɵelementEnd();
|
|
@@ -156,14 +156,14 @@ function ListFormComponentExtended_Conditional_33_Conditional_27_For_4_Template(
|
|
|
156
156
|
i0.ɵɵadvance();
|
|
157
157
|
i0.ɵɵtextInterpolate(cat_r10.Name);
|
|
158
158
|
} }
|
|
159
|
-
function
|
|
159
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
160
160
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
161
161
|
i0.ɵɵelementStart(0, "select", 68);
|
|
162
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
162
|
+
i0.ɵɵlistener("ngModelChange", function MJListFormComponentExtended_Conditional_33_Conditional_27_Template_select_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onCategoryChange($event)); });
|
|
163
163
|
i0.ɵɵelementStart(1, "option", 69);
|
|
164
164
|
i0.ɵɵtext(2, "Uncategorized");
|
|
165
165
|
i0.ɵɵelementEnd();
|
|
166
|
-
i0.ɵɵrepeaterCreate(3,
|
|
166
|
+
i0.ɵɵrepeaterCreate(3, MJListFormComponentExtended_Conditional_33_Conditional_27_For_4_Template, 2, 2, "option", 69, i0.ɵɵrepeaterTrackByIdentity);
|
|
167
167
|
i0.ɵɵelementEnd();
|
|
168
168
|
} if (rf & 2) {
|
|
169
169
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -173,12 +173,12 @@ function ListFormComponentExtended_Conditional_33_Conditional_27_Template(rf, ct
|
|
|
173
173
|
i0.ɵɵadvance(2);
|
|
174
174
|
i0.ɵɵrepeater(ctx_r1.categories);
|
|
175
175
|
} }
|
|
176
|
-
function
|
|
176
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_34_Template(rf, ctx) { if (rf & 1) {
|
|
177
177
|
i0.ɵɵelementStart(0, "span", 49);
|
|
178
178
|
i0.ɵɵtext(1, "You");
|
|
179
179
|
i0.ɵɵelementEnd();
|
|
180
180
|
} }
|
|
181
|
-
function
|
|
181
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_54_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
182
182
|
i0.ɵɵelementStart(0, "span", 55);
|
|
183
183
|
i0.ɵɵtext(1);
|
|
184
184
|
i0.ɵɵelementEnd();
|
|
@@ -187,41 +187,41 @@ function ListFormComponentExtended_Conditional_33_Conditional_54_Conditional_4_T
|
|
|
187
187
|
i0.ɵɵadvance();
|
|
188
188
|
i0.ɵɵtextInterpolate(ctx_r1.stats.shareCount);
|
|
189
189
|
} }
|
|
190
|
-
function
|
|
190
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_54_Template(rf, ctx) { if (rf & 1) {
|
|
191
191
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
192
192
|
i0.ɵɵelementStart(0, "button", 53);
|
|
193
|
-
i0.ɵɵlistener("click", function
|
|
193
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_33_Conditional_54_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.openShareDialog()); });
|
|
194
194
|
i0.ɵɵelement(1, "i", 70);
|
|
195
195
|
i0.ɵɵelementStart(2, "span");
|
|
196
196
|
i0.ɵɵtext(3, "Share List");
|
|
197
197
|
i0.ɵɵelementEnd();
|
|
198
|
-
i0.ɵɵconditionalCreate(4,
|
|
198
|
+
i0.ɵɵconditionalCreate(4, MJListFormComponentExtended_Conditional_33_Conditional_54_Conditional_4_Template, 2, 1, "span", 55);
|
|
199
199
|
i0.ɵɵelementEnd();
|
|
200
200
|
} if (rf & 2) {
|
|
201
201
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
202
202
|
i0.ɵɵadvance(4);
|
|
203
203
|
i0.ɵɵconditional(ctx_r1.stats.shareCount > 0 ? 4 : -1);
|
|
204
204
|
} }
|
|
205
|
-
function
|
|
205
|
+
function MJListFormComponentExtended_Conditional_33_Conditional_55_Template(rf, ctx) { if (rf & 1) {
|
|
206
206
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
207
207
|
i0.ɵɵelementStart(0, "button", 53);
|
|
208
|
-
i0.ɵɵlistener("click", function
|
|
208
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_33_Conditional_55_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setActiveSection("sharing")); });
|
|
209
209
|
i0.ɵɵelement(1, "i", 70);
|
|
210
210
|
i0.ɵɵelementStart(2, "span");
|
|
211
211
|
i0.ɵɵtext(3, "View Sharing");
|
|
212
212
|
i0.ɵɵelementEnd()();
|
|
213
213
|
} }
|
|
214
|
-
function
|
|
214
|
+
function MJListFormComponentExtended_Conditional_33_Template(rf, ctx) { if (rf & 1) {
|
|
215
215
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
216
216
|
i0.ɵɵelementStart(0, "section", 15)(1, "div", 35)(2, "div", 36)(3, "div", 37)(4, "h3");
|
|
217
217
|
i0.ɵɵelement(5, "i", 38);
|
|
218
218
|
i0.ɵɵtext(6, " Description");
|
|
219
219
|
i0.ɵɵelementEnd();
|
|
220
|
-
i0.ɵɵconditionalCreate(7,
|
|
220
|
+
i0.ɵɵconditionalCreate(7, MJListFormComponentExtended_Conditional_33_Conditional_7_Template, 2, 0, "button", 39);
|
|
221
221
|
i0.ɵɵelementEnd();
|
|
222
222
|
i0.ɵɵelementStart(8, "div", 40);
|
|
223
|
-
i0.ɵɵconditionalCreate(9,
|
|
224
|
-
i0.ɵɵconditionalCreate(10,
|
|
223
|
+
i0.ɵɵconditionalCreate(9, MJListFormComponentExtended_Conditional_33_Conditional_9_Template, 2, 2);
|
|
224
|
+
i0.ɵɵconditionalCreate(10, MJListFormComponentExtended_Conditional_33_Conditional_10_Template, 6, 1);
|
|
225
225
|
i0.ɵɵelementEnd()();
|
|
226
226
|
i0.ɵɵelementStart(11, "div", 41)(12, "div", 37)(13, "h3");
|
|
227
227
|
i0.ɵɵelement(14, "i", 42);
|
|
@@ -237,8 +237,8 @@ function ListFormComponentExtended_Conditional_33_Template(rf, ctx) { if (rf & 1
|
|
|
237
237
|
i0.ɵɵelementStart(23, "div", 43)(24, "span", 44);
|
|
238
238
|
i0.ɵɵtext(25, "Category");
|
|
239
239
|
i0.ɵɵelementEnd();
|
|
240
|
-
i0.ɵɵconditionalCreate(26,
|
|
241
|
-
i0.ɵɵconditionalCreate(27,
|
|
240
|
+
i0.ɵɵconditionalCreate(26, MJListFormComponentExtended_Conditional_33_Conditional_26_Template, 3, 1, "span", 45);
|
|
241
|
+
i0.ɵɵconditionalCreate(27, MJListFormComponentExtended_Conditional_33_Conditional_27_Template, 5, 2, "select", 47);
|
|
242
242
|
i0.ɵɵelementEnd();
|
|
243
243
|
i0.ɵɵelementStart(28, "div", 43)(29, "span", 44);
|
|
244
244
|
i0.ɵɵtext(30, "Owner");
|
|
@@ -246,7 +246,7 @@ function ListFormComponentExtended_Conditional_33_Template(rf, ctx) { if (rf & 1
|
|
|
246
246
|
i0.ɵɵelementStart(31, "span", 45);
|
|
247
247
|
i0.ɵɵelement(32, "i", 48);
|
|
248
248
|
i0.ɵɵtext(33);
|
|
249
|
-
i0.ɵɵconditionalCreate(34,
|
|
249
|
+
i0.ɵɵconditionalCreate(34, MJListFormComponentExtended_Conditional_33_Conditional_34_Template, 2, 0, "span", 49);
|
|
250
250
|
i0.ɵɵelementEnd()();
|
|
251
251
|
i0.ɵɵelementStart(35, "div", 43)(36, "span", 44);
|
|
252
252
|
i0.ɵɵtext(37, "Created");
|
|
@@ -261,7 +261,7 @@ function ListFormComponentExtended_Conditional_33_Template(rf, ctx) { if (rf & 1
|
|
|
261
261
|
i0.ɵɵtext(46, " Quick Actions");
|
|
262
262
|
i0.ɵɵelementEnd()();
|
|
263
263
|
i0.ɵɵelementStart(47, "div", 40)(48, "button", 53);
|
|
264
|
-
i0.ɵɵlistener("click", function
|
|
264
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_33_Template_button_click_48_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.setActiveSection("items")); });
|
|
265
265
|
i0.ɵɵelement(49, "i", 54);
|
|
266
266
|
i0.ɵɵelementStart(50, "span");
|
|
267
267
|
i0.ɵɵtext(51, "View Items");
|
|
@@ -269,8 +269,8 @@ function ListFormComponentExtended_Conditional_33_Template(rf, ctx) { if (rf & 1
|
|
|
269
269
|
i0.ɵɵelementStart(52, "span", 55);
|
|
270
270
|
i0.ɵɵtext(53);
|
|
271
271
|
i0.ɵɵelementEnd()();
|
|
272
|
-
i0.ɵɵconditionalCreate(54,
|
|
273
|
-
i0.ɵɵconditionalCreate(55,
|
|
272
|
+
i0.ɵɵconditionalCreate(54, MJListFormComponentExtended_Conditional_33_Conditional_54_Template, 5, 1, "button", 56);
|
|
273
|
+
i0.ɵɵconditionalCreate(55, MJListFormComponentExtended_Conditional_33_Conditional_55_Template, 4, 0, "button", 56);
|
|
274
274
|
i0.ɵɵelementStart(56, "button", 57);
|
|
275
275
|
i0.ɵɵelement(57, "i", 58);
|
|
276
276
|
i0.ɵɵelementStart(58, "span");
|
|
@@ -310,25 +310,25 @@ function ListFormComponentExtended_Conditional_33_Template(rf, ctx) { if (rf & 1
|
|
|
310
310
|
i0.ɵɵadvance();
|
|
311
311
|
i0.ɵɵproperty("disabled", true);
|
|
312
312
|
} }
|
|
313
|
-
function
|
|
313
|
+
function MJListFormComponentExtended_Conditional_34_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
314
314
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
315
315
|
i0.ɵɵelementStart(0, "div", 76)(1, "button", 82);
|
|
316
|
-
i0.ɵɵlistener("click", function
|
|
316
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_34_Conditional_8_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.openAddRecordsDialog()); });
|
|
317
317
|
i0.ɵɵelement(2, "i", 83);
|
|
318
318
|
i0.ɵɵtext(3, " Add Records ");
|
|
319
319
|
i0.ɵɵelementEnd();
|
|
320
320
|
i0.ɵɵelementStart(4, "button", 84);
|
|
321
|
-
i0.ɵɵlistener("click", function
|
|
321
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_34_Conditional_8_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.openAddFromViewDialog()); });
|
|
322
322
|
i0.ɵɵelement(5, "i", 85);
|
|
323
323
|
i0.ɵɵtext(6, " Add From View ");
|
|
324
324
|
i0.ɵɵelementEnd()();
|
|
325
325
|
} }
|
|
326
|
-
function
|
|
326
|
+
function MJListFormComponentExtended_Conditional_34_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
327
327
|
i0.ɵɵelementStart(0, "div", 79);
|
|
328
328
|
i0.ɵɵelement(1, "mj-loading", 86);
|
|
329
329
|
i0.ɵɵelementEnd();
|
|
330
330
|
} }
|
|
331
|
-
function
|
|
331
|
+
function MJListFormComponentExtended_Conditional_34_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
332
332
|
i0.ɵɵelementStart(0, "div", 80)(1, "div", 87);
|
|
333
333
|
i0.ɵɵelement(2, "i", 88);
|
|
334
334
|
i0.ɵɵelementEnd();
|
|
@@ -343,13 +343,13 @@ function ListFormComponentExtended_Conditional_34_Conditional_12_Template(rf, ct
|
|
|
343
343
|
i0.ɵɵadvance(6);
|
|
344
344
|
i0.ɵɵtextInterpolate1("This list doesn't have any items. Add records from the ", ctx_r1.entityDisplayName, " entity.");
|
|
345
345
|
} }
|
|
346
|
-
function
|
|
346
|
+
function MJListFormComponentExtended_Conditional_34_Conditional_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
347
347
|
const _r16 = i0.ɵɵgetCurrentView();
|
|
348
348
|
i0.ɵɵelementStart(0, "div", 89)(1, "span", 100);
|
|
349
349
|
i0.ɵɵtext(2);
|
|
350
350
|
i0.ɵɵelementEnd();
|
|
351
351
|
i0.ɵɵelementStart(3, "button", 101);
|
|
352
|
-
i0.ɵɵlistener("click", function
|
|
352
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_34_Conditional_13_Conditional_1_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.removeSelectedItems()); });
|
|
353
353
|
i0.ɵɵelement(4, "i", 102);
|
|
354
354
|
i0.ɵɵtext(5, " Remove from List ");
|
|
355
355
|
i0.ɵɵelementEnd()();
|
|
@@ -358,20 +358,20 @@ function ListFormComponentExtended_Conditional_34_Conditional_13_Conditional_1_T
|
|
|
358
358
|
i0.ɵɵadvance(2);
|
|
359
359
|
i0.ɵɵtextInterpolate1("", ctx_r1.selectedItems.size, " selected");
|
|
360
360
|
} }
|
|
361
|
-
function
|
|
361
|
+
function MJListFormComponentExtended_Conditional_34_Conditional_13_For_16_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
362
362
|
i0.ɵɵelement(0, "i", 105);
|
|
363
363
|
} }
|
|
364
|
-
function
|
|
364
|
+
function MJListFormComponentExtended_Conditional_34_Conditional_13_For_16_Template(rf, ctx) { if (rf & 1) {
|
|
365
365
|
const _r17 = i0.ɵɵgetCurrentView();
|
|
366
366
|
i0.ɵɵelementStart(0, "tr")(1, "td", 91)(2, "input", 92);
|
|
367
|
-
i0.ɵɵlistener("change", function
|
|
367
|
+
i0.ɵɵlistener("change", function MJListFormComponentExtended_Conditional_34_Conditional_13_For_16_Template_input_change_2_listener() { const item_r18 = i0.ɵɵrestoreView(_r17).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleItemSelection(item_r18)); });
|
|
368
368
|
i0.ɵɵelementEnd()();
|
|
369
369
|
i0.ɵɵelementStart(3, "td", 93)(4, "div", 103);
|
|
370
370
|
i0.ɵɵelement(5, "i", 104);
|
|
371
371
|
i0.ɵɵelementStart(6, "span");
|
|
372
372
|
i0.ɵɵtext(7);
|
|
373
373
|
i0.ɵɵelementEnd();
|
|
374
|
-
i0.ɵɵconditionalCreate(8,
|
|
374
|
+
i0.ɵɵconditionalCreate(8, MJListFormComponentExtended_Conditional_34_Conditional_13_For_16_Conditional_8_Template, 1, 0, "i", 105);
|
|
375
375
|
i0.ɵɵelementEnd()();
|
|
376
376
|
i0.ɵɵelementStart(9, "td", 94)(10, "code", 106);
|
|
377
377
|
i0.ɵɵtext(11);
|
|
@@ -381,7 +381,7 @@ function ListFormComponentExtended_Conditional_34_Conditional_13_For_16_Template
|
|
|
381
381
|
i0.ɵɵpipe(14, "date");
|
|
382
382
|
i0.ɵɵelementEnd();
|
|
383
383
|
i0.ɵɵelementStart(15, "td", 96)(16, "button", 107);
|
|
384
|
-
i0.ɵɵlistener("click", function
|
|
384
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_34_Conditional_13_For_16_Template_button_click_16_listener() { const item_r18 = i0.ɵɵrestoreView(_r17).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.openRecord(item_r18)); });
|
|
385
385
|
i0.ɵɵelement(17, "i", 108);
|
|
386
386
|
i0.ɵɵelementEnd()()();
|
|
387
387
|
} if (rf & 2) {
|
|
@@ -403,12 +403,12 @@ function ListFormComponentExtended_Conditional_34_Conditional_13_For_16_Template
|
|
|
403
403
|
i0.ɵɵadvance(2);
|
|
404
404
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(14, 11, item_r18.detail.__mj_CreatedAt, "shortDate"), " ");
|
|
405
405
|
} }
|
|
406
|
-
function
|
|
406
|
+
function MJListFormComponentExtended_Conditional_34_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
407
407
|
const _r15 = i0.ɵɵgetCurrentView();
|
|
408
408
|
i0.ɵɵelementStart(0, "div", 81);
|
|
409
|
-
i0.ɵɵconditionalCreate(1,
|
|
409
|
+
i0.ɵɵconditionalCreate(1, MJListFormComponentExtended_Conditional_34_Conditional_13_Conditional_1_Template, 6, 1, "div", 89);
|
|
410
410
|
i0.ɵɵelementStart(2, "table", 90)(3, "thead")(4, "tr")(5, "th", 91)(6, "input", 92);
|
|
411
|
-
i0.ɵɵlistener("change", function
|
|
411
|
+
i0.ɵɵlistener("change", function MJListFormComponentExtended_Conditional_34_Conditional_13_Template_input_change_6_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleSelectAll()); });
|
|
412
412
|
i0.ɵɵelementEnd()();
|
|
413
413
|
i0.ɵɵelementStart(7, "th", 93);
|
|
414
414
|
i0.ɵɵtext(8, "Name");
|
|
@@ -422,7 +422,7 @@ function ListFormComponentExtended_Conditional_34_Conditional_13_Template(rf, ct
|
|
|
422
422
|
i0.ɵɵelement(13, "th", 96);
|
|
423
423
|
i0.ɵɵelementEnd()();
|
|
424
424
|
i0.ɵɵelementStart(14, "tbody");
|
|
425
|
-
i0.ɵɵrepeaterCreate(15,
|
|
425
|
+
i0.ɵɵrepeaterCreate(15, MJListFormComponentExtended_Conditional_34_Conditional_13_For_16_Template, 18, 14, "tr", 97, i0.ɵɵrepeaterTrackByIdentity);
|
|
426
426
|
i0.ɵɵelementEnd()();
|
|
427
427
|
i0.ɵɵelementStart(17, "div", 98)(18, "span", 99);
|
|
428
428
|
i0.ɵɵtext(19);
|
|
@@ -438,7 +438,7 @@ function ListFormComponentExtended_Conditional_34_Conditional_13_Template(rf, ct
|
|
|
438
438
|
i0.ɵɵadvance(4);
|
|
439
439
|
i0.ɵɵtextInterpolate2(" Showing ", ctx_r1.filteredItems.length, " of ", ctx_r1.listItems.length, " items ");
|
|
440
440
|
} }
|
|
441
|
-
function
|
|
441
|
+
function MJListFormComponentExtended_Conditional_34_Template(rf, ctx) { if (rf & 1) {
|
|
442
442
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
443
443
|
i0.ɵɵelementStart(0, "section", 16)(1, "div", 71)(2, "h2");
|
|
444
444
|
i0.ɵɵtext(3, "List Items");
|
|
@@ -446,16 +446,16 @@ function ListFormComponentExtended_Conditional_34_Template(rf, ctx) { if (rf & 1
|
|
|
446
446
|
i0.ɵɵelementStart(4, "div", 72)(5, "div", 73);
|
|
447
447
|
i0.ɵɵelement(6, "i", 74);
|
|
448
448
|
i0.ɵɵelementStart(7, "input", 75);
|
|
449
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
449
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MJListFormComponentExtended_Conditional_34_Template_input_ngModelChange_7_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.itemSearchTerm, $event) || (ctx_r1.itemSearchTerm = $event); return i0.ɵɵresetView($event); });
|
|
450
450
|
i0.ɵɵelementEnd()();
|
|
451
|
-
i0.ɵɵconditionalCreate(8,
|
|
451
|
+
i0.ɵɵconditionalCreate(8, MJListFormComponentExtended_Conditional_34_Conditional_8_Template, 7, 0, "div", 76);
|
|
452
452
|
i0.ɵɵelementStart(9, "button", 77);
|
|
453
|
-
i0.ɵɵlistener("click", function
|
|
453
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_34_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.refreshItems()); });
|
|
454
454
|
i0.ɵɵelement(10, "i", 78);
|
|
455
455
|
i0.ɵɵelementEnd()()();
|
|
456
|
-
i0.ɵɵconditionalCreate(11,
|
|
457
|
-
i0.ɵɵconditionalCreate(12,
|
|
458
|
-
i0.ɵɵconditionalCreate(13,
|
|
456
|
+
i0.ɵɵconditionalCreate(11, MJListFormComponentExtended_Conditional_34_Conditional_11_Template, 2, 0, "div", 79);
|
|
457
|
+
i0.ɵɵconditionalCreate(12, MJListFormComponentExtended_Conditional_34_Conditional_12_Template, 7, 1, "div", 80);
|
|
458
|
+
i0.ɵɵconditionalCreate(13, MJListFormComponentExtended_Conditional_34_Conditional_13_Template, 20, 4, "div", 81);
|
|
459
459
|
i0.ɵɵelementEnd();
|
|
460
460
|
} if (rf & 2) {
|
|
461
461
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -470,15 +470,15 @@ function ListFormComponentExtended_Conditional_34_Template(rf, ctx) { if (rf & 1
|
|
|
470
470
|
i0.ɵɵadvance();
|
|
471
471
|
i0.ɵɵconditional(!ctx_r1.isLoadingItems && ctx_r1.listItems.length > 0 ? 13 : -1);
|
|
472
472
|
} }
|
|
473
|
-
function
|
|
473
|
+
function MJListFormComponentExtended_Conditional_35_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
474
474
|
const _r19 = i0.ɵɵgetCurrentView();
|
|
475
475
|
i0.ɵɵelementStart(0, "div", 72)(1, "button", 65);
|
|
476
|
-
i0.ɵɵlistener("click", function
|
|
476
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_35_Conditional_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.openShareDialog()); });
|
|
477
477
|
i0.ɵɵelement(2, "i", 111);
|
|
478
478
|
i0.ɵɵtext(3, " Manage Sharing ");
|
|
479
479
|
i0.ɵɵelementEnd()();
|
|
480
480
|
} }
|
|
481
|
-
function
|
|
481
|
+
function MJListFormComponentExtended_Conditional_35_Conditional_5_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
482
482
|
i0.ɵɵelementStart(0, "div", 112)(1, "div", 118);
|
|
483
483
|
i0.ɵɵelement(2, "i", 119);
|
|
484
484
|
i0.ɵɵelementEnd();
|
|
@@ -495,7 +495,7 @@ function ListFormComponentExtended_Conditional_35_Conditional_5_Conditional_9_Te
|
|
|
495
495
|
i0.ɵɵadvance(2);
|
|
496
496
|
i0.ɵɵtextInterpolate1("Pending Invitation", ctx_r1.stats.invitationCount !== 1 ? "s" : "");
|
|
497
497
|
} }
|
|
498
|
-
function
|
|
498
|
+
function MJListFormComponentExtended_Conditional_35_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
499
499
|
i0.ɵɵelementStart(0, "div", 109)(1, "div", 112)(2, "div", 113);
|
|
500
500
|
i0.ɵɵelement(3, "i", 114);
|
|
501
501
|
i0.ɵɵelementEnd();
|
|
@@ -505,7 +505,7 @@ function ListFormComponentExtended_Conditional_35_Conditional_5_Template(rf, ctx
|
|
|
505
505
|
i0.ɵɵelementStart(7, "span", 117);
|
|
506
506
|
i0.ɵɵtext(8);
|
|
507
507
|
i0.ɵɵelementEnd()()();
|
|
508
|
-
i0.ɵɵconditionalCreate(9,
|
|
508
|
+
i0.ɵɵconditionalCreate(9, MJListFormComponentExtended_Conditional_35_Conditional_5_Conditional_9_Template, 8, 2, "div", 112);
|
|
509
509
|
i0.ɵɵelementEnd();
|
|
510
510
|
} if (rf & 2) {
|
|
511
511
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -516,34 +516,34 @@ function ListFormComponentExtended_Conditional_35_Conditional_5_Template(rf, ctx
|
|
|
516
516
|
i0.ɵɵadvance();
|
|
517
517
|
i0.ɵɵconditional(ctx_r1.stats.invitationCount > 0 ? 9 : -1);
|
|
518
518
|
} }
|
|
519
|
-
function
|
|
519
|
+
function MJListFormComponentExtended_Conditional_35_Conditional_6_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
520
520
|
i0.ɵɵelementStart(0, "p");
|
|
521
521
|
i0.ɵɵtext(1, "This list is private. Click \"Manage Sharing\" to share it with other users or roles.");
|
|
522
522
|
i0.ɵɵelementEnd();
|
|
523
523
|
} }
|
|
524
|
-
function
|
|
524
|
+
function MJListFormComponentExtended_Conditional_35_Conditional_6_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
525
525
|
i0.ɵɵelementStart(0, "p");
|
|
526
526
|
i0.ɵɵtext(1, "This list hasn't been shared with anyone else.");
|
|
527
527
|
i0.ɵɵelementEnd();
|
|
528
528
|
} }
|
|
529
|
-
function
|
|
529
|
+
function MJListFormComponentExtended_Conditional_35_Conditional_6_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
530
530
|
const _r20 = i0.ɵɵgetCurrentView();
|
|
531
531
|
i0.ɵɵelementStart(0, "button", 65);
|
|
532
|
-
i0.ɵɵlistener("click", function
|
|
532
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_35_Conditional_6_Conditional_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.openShareDialog()); });
|
|
533
533
|
i0.ɵɵelement(1, "i", 111);
|
|
534
534
|
i0.ɵɵtext(2, " Share This List ");
|
|
535
535
|
i0.ɵɵelementEnd();
|
|
536
536
|
} }
|
|
537
|
-
function
|
|
537
|
+
function MJListFormComponentExtended_Conditional_35_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
538
538
|
i0.ɵɵelementStart(0, "div", 80)(1, "div", 87);
|
|
539
539
|
i0.ɵɵelement(2, "i", 70);
|
|
540
540
|
i0.ɵɵelementEnd();
|
|
541
541
|
i0.ɵɵelementStart(3, "h3");
|
|
542
542
|
i0.ɵɵtext(4, "Not Shared Yet");
|
|
543
543
|
i0.ɵɵelementEnd();
|
|
544
|
-
i0.ɵɵconditionalCreate(5,
|
|
545
|
-
i0.ɵɵconditionalCreate(6,
|
|
546
|
-
i0.ɵɵconditionalCreate(7,
|
|
544
|
+
i0.ɵɵconditionalCreate(5, MJListFormComponentExtended_Conditional_35_Conditional_6_Conditional_5_Template, 2, 0, "p");
|
|
545
|
+
i0.ɵɵconditionalCreate(6, MJListFormComponentExtended_Conditional_35_Conditional_6_Conditional_6_Template, 2, 0, "p");
|
|
546
|
+
i0.ɵɵconditionalCreate(7, MJListFormComponentExtended_Conditional_35_Conditional_6_Conditional_7_Template, 3, 0, "button", 120);
|
|
547
547
|
i0.ɵɵelementEnd();
|
|
548
548
|
} if (rf & 2) {
|
|
549
549
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -554,22 +554,22 @@ function ListFormComponentExtended_Conditional_35_Conditional_6_Template(rf, ctx
|
|
|
554
554
|
i0.ɵɵadvance();
|
|
555
555
|
i0.ɵɵconditional(ctx_r1.isCurrentUserOwner() ? 7 : -1);
|
|
556
556
|
} }
|
|
557
|
-
function
|
|
557
|
+
function MJListFormComponentExtended_Conditional_35_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
558
558
|
i0.ɵɵelementStart(0, "div", 110);
|
|
559
559
|
i0.ɵɵelement(1, "i", 42);
|
|
560
560
|
i0.ɵɵelementStart(2, "span");
|
|
561
561
|
i0.ɵɵtext(3, "Only the list owner can manage sharing settings.");
|
|
562
562
|
i0.ɵɵelementEnd()();
|
|
563
563
|
} }
|
|
564
|
-
function
|
|
564
|
+
function MJListFormComponentExtended_Conditional_35_Template(rf, ctx) { if (rf & 1) {
|
|
565
565
|
i0.ɵɵelementStart(0, "section", 17)(1, "div", 71)(2, "h2");
|
|
566
566
|
i0.ɵɵtext(3, "Sharing");
|
|
567
567
|
i0.ɵɵelementEnd();
|
|
568
|
-
i0.ɵɵconditionalCreate(4,
|
|
568
|
+
i0.ɵɵconditionalCreate(4, MJListFormComponentExtended_Conditional_35_Conditional_4_Template, 4, 0, "div", 72);
|
|
569
569
|
i0.ɵɵelementEnd();
|
|
570
|
-
i0.ɵɵconditionalCreate(5,
|
|
571
|
-
i0.ɵɵconditionalCreate(6,
|
|
572
|
-
i0.ɵɵconditionalCreate(7,
|
|
570
|
+
i0.ɵɵconditionalCreate(5, MJListFormComponentExtended_Conditional_35_Conditional_5_Template, 10, 3, "div", 109);
|
|
571
|
+
i0.ɵɵconditionalCreate(6, MJListFormComponentExtended_Conditional_35_Conditional_6_Template, 8, 3, "div", 80);
|
|
572
|
+
i0.ɵɵconditionalCreate(7, MJListFormComponentExtended_Conditional_35_Conditional_7_Template, 4, 0, "div", 110);
|
|
573
573
|
i0.ɵɵelementEnd();
|
|
574
574
|
} if (rf & 2) {
|
|
575
575
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -582,7 +582,7 @@ function ListFormComponentExtended_Conditional_35_Template(rf, ctx) { if (rf & 1
|
|
|
582
582
|
i0.ɵɵadvance();
|
|
583
583
|
i0.ɵɵconditional(!ctx_r1.isCurrentUserOwner() && (ctx_r1.stats.shareCount > 0 || ctx_r1.stats.invitationCount > 0) ? 7 : -1);
|
|
584
584
|
} }
|
|
585
|
-
function
|
|
585
|
+
function MJListFormComponentExtended_Conditional_36_Template(rf, ctx) { if (rf & 1) {
|
|
586
586
|
i0.ɵɵelementStart(0, "section", 18)(1, "div", 71)(2, "h2");
|
|
587
587
|
i0.ɵɵtext(3, "Activity");
|
|
588
588
|
i0.ɵɵelementEnd()();
|
|
@@ -616,7 +616,7 @@ function ListFormComponentExtended_Conditional_36_Template(rf, ctx) { if (rf & 1
|
|
|
616
616
|
i0.ɵɵadvance(9);
|
|
617
617
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(22, 5, ctx_r1.record.__mj_CreatedAt, "medium"));
|
|
618
618
|
} }
|
|
619
|
-
function
|
|
619
|
+
function MJListFormComponentExtended_Conditional_37_Template(rf, ctx) { if (rf & 1) {
|
|
620
620
|
i0.ɵɵelementStart(0, "section", 19)(1, "div", 71)(2, "h2");
|
|
621
621
|
i0.ɵɵtext(3, "Settings");
|
|
622
622
|
i0.ɵɵelementEnd()();
|
|
@@ -647,7 +647,7 @@ function ListFormComponentExtended_Conditional_37_Template(rf, ctx) { if (rf & 1
|
|
|
647
647
|
i0.ɵɵadvance();
|
|
648
648
|
i0.ɵɵproperty("Record", ctx_r1.record)("ShowLabel", true)("EditMode", false)("FormContext", ctx_r1.formContext);
|
|
649
649
|
} }
|
|
650
|
-
function
|
|
650
|
+
function MJListFormComponentExtended_Conditional_38_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
651
651
|
i0.ɵɵelementStart(0, "div", 143);
|
|
652
652
|
i0.ɵɵelement(1, "mj-loading", 146);
|
|
653
653
|
i0.ɵɵelementEnd();
|
|
@@ -656,10 +656,10 @@ function ListFormComponentExtended_Conditional_38_Conditional_2_Template(rf, ctx
|
|
|
656
656
|
i0.ɵɵadvance();
|
|
657
657
|
i0.ɵɵproperty("text", "Adding " + ctx_r1.addTotal + " records to list...");
|
|
658
658
|
} }
|
|
659
|
-
function
|
|
659
|
+
function MJListFormComponentExtended_Conditional_38_Conditional_3_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
660
660
|
i0.ɵɵelement(0, "span", 154);
|
|
661
661
|
} }
|
|
662
|
-
function
|
|
662
|
+
function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
663
663
|
i0.ɵɵelementStart(0, "div", 152);
|
|
664
664
|
i0.ɵɵelement(1, "mj-loading", 155);
|
|
665
665
|
i0.ɵɵelementEnd();
|
|
@@ -667,7 +667,7 @@ function ListFormComponentExtended_Conditional_38_Conditional_3_Conditional_6_Te
|
|
|
667
667
|
i0.ɵɵadvance();
|
|
668
668
|
i0.ɵɵproperty("showText", false);
|
|
669
669
|
} }
|
|
670
|
-
function
|
|
670
|
+
function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
671
671
|
i0.ɵɵelementStart(0, "div", 153);
|
|
672
672
|
i0.ɵɵelement(1, "span", 156);
|
|
673
673
|
i0.ɵɵelementStart(2, "p");
|
|
@@ -678,42 +678,42 @@ function ListFormComponentExtended_Conditional_38_Conditional_3_Conditional_7_Te
|
|
|
678
678
|
i0.ɵɵadvance(3);
|
|
679
679
|
i0.ɵɵtextInterpolate1("No records found matching \"", ctx_r1.addRecordsSearchFilter, "\"");
|
|
680
680
|
} }
|
|
681
|
-
function
|
|
681
|
+
function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
682
682
|
i0.ɵɵelementStart(0, "div", 153);
|
|
683
683
|
i0.ɵɵelement(1, "span", 157);
|
|
684
684
|
i0.ɵɵelementStart(2, "p");
|
|
685
685
|
i0.ɵɵtext(3, "Search for records to add to this list");
|
|
686
686
|
i0.ɵɵelementEnd()();
|
|
687
687
|
} }
|
|
688
|
-
function
|
|
688
|
+
function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_For_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
689
689
|
i0.ɵɵelement(0, "span", 165);
|
|
690
690
|
} }
|
|
691
|
-
function
|
|
691
|
+
function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_For_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
692
692
|
const _r26 = i0.ɵɵgetCurrentView();
|
|
693
693
|
i0.ɵɵelementStart(0, "input", 169);
|
|
694
|
-
i0.ɵɵlistener("click", function
|
|
694
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_For_9_Conditional_3_Template_input_click_0_listener($event) { i0.ɵɵrestoreView(_r26); return i0.ɵɵresetView($event.stopPropagation()); })("change", function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_For_9_Conditional_3_Template_input_change_0_listener() { i0.ɵɵrestoreView(_r26); const record_r25 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.toggleRecordSelection(record_r25)); });
|
|
695
695
|
i0.ɵɵelementEnd();
|
|
696
696
|
} if (rf & 2) {
|
|
697
697
|
const record_r25 = i0.ɵɵnextContext().$implicit;
|
|
698
698
|
i0.ɵɵproperty("checked", record_r25.isSelected);
|
|
699
699
|
} }
|
|
700
|
-
function
|
|
700
|
+
function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_For_9_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
701
701
|
i0.ɵɵelementStart(0, "span", 168);
|
|
702
702
|
i0.ɵɵtext(1, "In List");
|
|
703
703
|
i0.ɵɵelementEnd();
|
|
704
704
|
} }
|
|
705
|
-
function
|
|
705
|
+
function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
706
706
|
const _r24 = i0.ɵɵgetCurrentView();
|
|
707
707
|
i0.ɵɵelementStart(0, "div", 163);
|
|
708
|
-
i0.ɵɵlistener("click", function
|
|
708
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_For_9_Template_div_click_0_listener() { const record_r25 = i0.ɵɵrestoreView(_r24).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.toggleRecordSelection(record_r25)); });
|
|
709
709
|
i0.ɵɵelementStart(1, "div", 164);
|
|
710
|
-
i0.ɵɵconditionalCreate(2,
|
|
711
|
-
i0.ɵɵconditionalCreate(3,
|
|
710
|
+
i0.ɵɵconditionalCreate(2, MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_For_9_Conditional_2_Template, 1, 0, "span", 165);
|
|
711
|
+
i0.ɵɵconditionalCreate(3, MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_For_9_Conditional_3_Template, 1, 1, "input", 166);
|
|
712
712
|
i0.ɵɵelementEnd();
|
|
713
713
|
i0.ɵɵelementStart(4, "div", 167);
|
|
714
714
|
i0.ɵɵtext(5);
|
|
715
715
|
i0.ɵɵelementEnd();
|
|
716
|
-
i0.ɵɵconditionalCreate(6,
|
|
716
|
+
i0.ɵɵconditionalCreate(6, MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_For_9_Conditional_6_Template, 2, 0, "span", 168);
|
|
717
717
|
i0.ɵɵelementEnd();
|
|
718
718
|
} if (rf & 2) {
|
|
719
719
|
const record_r25 = ctx.$implicit;
|
|
@@ -727,21 +727,21 @@ function ListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_Fo
|
|
|
727
727
|
i0.ɵɵadvance();
|
|
728
728
|
i0.ɵɵconditional(record_r25.isInList ? 6 : -1);
|
|
729
729
|
} }
|
|
730
|
-
function
|
|
730
|
+
function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
731
731
|
const _r23 = i0.ɵɵgetCurrentView();
|
|
732
732
|
i0.ɵɵelementStart(0, "div", 158)(1, "button", 159);
|
|
733
|
-
i0.ɵɵlistener("click", function
|
|
733
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r23); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.selectAllAddable()); });
|
|
734
734
|
i0.ɵɵtext(2, "Select All");
|
|
735
735
|
i0.ɵɵelementEnd();
|
|
736
736
|
i0.ɵɵelementStart(3, "button", 159);
|
|
737
|
-
i0.ɵɵlistener("click", function
|
|
737
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r23); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.deselectAllAddable()); });
|
|
738
738
|
i0.ɵɵtext(4, "Deselect All");
|
|
739
739
|
i0.ɵɵelementEnd();
|
|
740
740
|
i0.ɵɵelementStart(5, "span", 160);
|
|
741
741
|
i0.ɵɵtext(6);
|
|
742
742
|
i0.ɵɵelementEnd()();
|
|
743
743
|
i0.ɵɵelementStart(7, "div", 161);
|
|
744
|
-
i0.ɵɵrepeaterCreate(8,
|
|
744
|
+
i0.ɵɵrepeaterCreate(8, MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_For_9_Template, 7, 8, "div", 162, i0.ɵɵrepeaterTrackByIdentity);
|
|
745
745
|
i0.ɵɵelementEnd();
|
|
746
746
|
} if (rf & 2) {
|
|
747
747
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
@@ -750,20 +750,20 @@ function ListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_Te
|
|
|
750
750
|
i0.ɵɵadvance(2);
|
|
751
751
|
i0.ɵɵrepeater(ctx_r1.addableRecords);
|
|
752
752
|
} }
|
|
753
|
-
function
|
|
753
|
+
function MJListFormComponentExtended_Conditional_38_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
754
754
|
const _r22 = i0.ɵɵgetCurrentView();
|
|
755
755
|
i0.ɵɵelementStart(0, "div", 147)(1, "kendo-textbox", 148);
|
|
756
|
-
i0.ɵɵlistener("valueChange", function
|
|
757
|
-
i0.ɵɵtemplate(2,
|
|
756
|
+
i0.ɵɵlistener("valueChange", function MJListFormComponentExtended_Conditional_38_Conditional_3_Template_kendo_textbox_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onAddRecordsSearchChange($event)); });
|
|
757
|
+
i0.ɵɵtemplate(2, MJListFormComponentExtended_Conditional_38_Conditional_3_ng_template_2_Template, 1, 0, "ng-template", 149);
|
|
758
758
|
i0.ɵɵelementEnd();
|
|
759
759
|
i0.ɵɵelementStart(3, "span", 150);
|
|
760
760
|
i0.ɵɵtext(4, "Type at least 2 characters to search");
|
|
761
761
|
i0.ɵɵelementEnd()();
|
|
762
762
|
i0.ɵɵelementStart(5, "div", 151);
|
|
763
|
-
i0.ɵɵconditionalCreate(6,
|
|
764
|
-
i0.ɵɵconditionalCreate(7,
|
|
765
|
-
i0.ɵɵconditionalCreate(8,
|
|
766
|
-
i0.ɵɵconditionalCreate(9,
|
|
763
|
+
i0.ɵɵconditionalCreate(6, MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_6_Template, 2, 1, "div", 152);
|
|
764
|
+
i0.ɵɵconditionalCreate(7, MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_7_Template, 4, 1, "div", 153);
|
|
765
|
+
i0.ɵɵconditionalCreate(8, MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_8_Template, 4, 0, "div", 153);
|
|
766
|
+
i0.ɵɵconditionalCreate(9, MJListFormComponentExtended_Conditional_38_Conditional_3_Conditional_9_Template, 10, 1);
|
|
767
767
|
i0.ɵɵelementEnd();
|
|
768
768
|
} if (rf & 2) {
|
|
769
769
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -778,20 +778,20 @@ function ListFormComponentExtended_Conditional_38_Conditional_3_Template(rf, ctx
|
|
|
778
778
|
i0.ɵɵadvance();
|
|
779
779
|
i0.ɵɵconditional(!ctx_r1.addDialogLoading && ctx_r1.addableRecords.length > 0 ? 9 : -1);
|
|
780
780
|
} }
|
|
781
|
-
function
|
|
781
|
+
function MJListFormComponentExtended_Conditional_38_Template(rf, ctx) { if (rf & 1) {
|
|
782
782
|
const _r21 = i0.ɵɵgetCurrentView();
|
|
783
783
|
i0.ɵɵelementStart(0, "kendo-dialog", 141);
|
|
784
|
-
i0.ɵɵlistener("close", function
|
|
784
|
+
i0.ɵɵlistener("close", function MJListFormComponentExtended_Conditional_38_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeAddRecordsDialog()); });
|
|
785
785
|
i0.ɵɵelementStart(1, "div", 142);
|
|
786
|
-
i0.ɵɵconditionalCreate(2,
|
|
787
|
-
i0.ɵɵconditionalCreate(3,
|
|
786
|
+
i0.ɵɵconditionalCreate(2, MJListFormComponentExtended_Conditional_38_Conditional_2_Template, 2, 1, "div", 143);
|
|
787
|
+
i0.ɵɵconditionalCreate(3, MJListFormComponentExtended_Conditional_38_Conditional_3_Template, 10, 7);
|
|
788
788
|
i0.ɵɵelementEnd();
|
|
789
789
|
i0.ɵɵelementStart(4, "kendo-dialog-actions")(5, "button", 144);
|
|
790
|
-
i0.ɵɵlistener("click", function
|
|
790
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_38_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r21); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.confirmAddRecords()); });
|
|
791
791
|
i0.ɵɵtext(6);
|
|
792
792
|
i0.ɵɵelementEnd();
|
|
793
793
|
i0.ɵɵelementStart(7, "button", 145);
|
|
794
|
-
i0.ɵɵlistener("click", function
|
|
794
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_38_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r21); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeAddRecordsDialog()); });
|
|
795
795
|
i0.ɵɵtext(8, " Cancel ");
|
|
796
796
|
i0.ɵɵelementEnd()()();
|
|
797
797
|
} if (rf & 2) {
|
|
@@ -808,12 +808,12 @@ function ListFormComponentExtended_Conditional_38_Template(rf, ctx) { if (rf & 1
|
|
|
808
808
|
i0.ɵɵadvance();
|
|
809
809
|
i0.ɵɵproperty("disabled", ctx_r1.addDialogSaving);
|
|
810
810
|
} }
|
|
811
|
-
function
|
|
811
|
+
function MJListFormComponentExtended_Conditional_39_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
812
812
|
i0.ɵɵelementStart(0, "div", 143);
|
|
813
813
|
i0.ɵɵelement(1, "mj-loading", 172);
|
|
814
814
|
i0.ɵɵelementEnd();
|
|
815
815
|
} }
|
|
816
|
-
function
|
|
816
|
+
function MJListFormComponentExtended_Conditional_39_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
817
817
|
i0.ɵɵelementStart(0, "div", 143);
|
|
818
818
|
i0.ɵɵelement(1, "mj-loading", 146);
|
|
819
819
|
i0.ɵɵelementEnd();
|
|
@@ -822,24 +822,24 @@ function ListFormComponentExtended_Conditional_39_Conditional_3_Template(rf, ctx
|
|
|
822
822
|
i0.ɵɵadvance();
|
|
823
823
|
i0.ɵɵproperty("text", "Adding " + ctx_r1.addFromViewTotal + " records to list...");
|
|
824
824
|
} }
|
|
825
|
-
function
|
|
825
|
+
function MJListFormComponentExtended_Conditional_39_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
826
826
|
i0.ɵɵelementStart(0, "div", 143);
|
|
827
827
|
i0.ɵɵelement(1, "mj-loading", 173);
|
|
828
828
|
i0.ɵɵelementEnd();
|
|
829
829
|
} }
|
|
830
|
-
function
|
|
830
|
+
function MJListFormComponentExtended_Conditional_39_Conditional_5_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
831
831
|
i0.ɵɵelementStart(0, "div", 153);
|
|
832
832
|
i0.ɵɵelement(1, "span", 176);
|
|
833
833
|
i0.ɵɵelementStart(2, "p");
|
|
834
834
|
i0.ɵɵtext(3, "No saved views found for this entity");
|
|
835
835
|
i0.ɵɵelementEnd()();
|
|
836
836
|
} }
|
|
837
|
-
function
|
|
837
|
+
function MJListFormComponentExtended_Conditional_39_Conditional_5_Conditional_4_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
838
838
|
const _r28 = i0.ɵɵgetCurrentView();
|
|
839
839
|
i0.ɵɵelementStart(0, "div", 178);
|
|
840
|
-
i0.ɵɵlistener("click", function
|
|
840
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_39_Conditional_5_Conditional_4_For_1_Template_div_click_0_listener() { const view_r29 = i0.ɵɵrestoreView(_r28).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.toggleViewSelection(view_r29)); });
|
|
841
841
|
i0.ɵɵelementStart(1, "input", 169);
|
|
842
|
-
i0.ɵɵlistener("click", function
|
|
842
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_39_Conditional_5_Conditional_4_For_1_Template_input_click_1_listener($event) { i0.ɵɵrestoreView(_r28); return i0.ɵɵresetView($event.stopPropagation()); })("change", function MJListFormComponentExtended_Conditional_39_Conditional_5_Conditional_4_For_1_Template_input_change_1_listener() { const view_r29 = i0.ɵɵrestoreView(_r28).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.toggleViewSelection(view_r29)); });
|
|
843
843
|
i0.ɵɵelementEnd();
|
|
844
844
|
i0.ɵɵelement(2, "span", 179);
|
|
845
845
|
i0.ɵɵelementStart(3, "span", 180);
|
|
@@ -854,19 +854,19 @@ function ListFormComponentExtended_Conditional_39_Conditional_5_Conditional_4_Fo
|
|
|
854
854
|
i0.ɵɵadvance(3);
|
|
855
855
|
i0.ɵɵtextInterpolate(view_r29.Name);
|
|
856
856
|
} }
|
|
857
|
-
function
|
|
858
|
-
i0.ɵɵrepeaterCreate(0,
|
|
857
|
+
function MJListFormComponentExtended_Conditional_39_Conditional_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
858
|
+
i0.ɵɵrepeaterCreate(0, MJListFormComponentExtended_Conditional_39_Conditional_5_Conditional_4_For_1_Template, 5, 4, "div", 177, i0.ɵɵrepeaterTrackByIdentity);
|
|
859
859
|
} if (rf & 2) {
|
|
860
860
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
861
861
|
i0.ɵɵrepeater(ctx_r1.userViews);
|
|
862
862
|
} }
|
|
863
|
-
function
|
|
863
|
+
function MJListFormComponentExtended_Conditional_39_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
864
864
|
i0.ɵɵelementStart(0, "p", 174);
|
|
865
865
|
i0.ɵɵtext(1, "Select views to add their records to this list:");
|
|
866
866
|
i0.ɵɵelementEnd();
|
|
867
867
|
i0.ɵɵelementStart(2, "div", 175);
|
|
868
|
-
i0.ɵɵconditionalCreate(3,
|
|
869
|
-
i0.ɵɵconditionalCreate(4,
|
|
868
|
+
i0.ɵɵconditionalCreate(3, MJListFormComponentExtended_Conditional_39_Conditional_5_Conditional_3_Template, 4, 0, "div", 153);
|
|
869
|
+
i0.ɵɵconditionalCreate(4, MJListFormComponentExtended_Conditional_39_Conditional_5_Conditional_4_Template, 2, 0);
|
|
870
870
|
i0.ɵɵelementEnd();
|
|
871
871
|
} if (rf & 2) {
|
|
872
872
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -875,22 +875,22 @@ function ListFormComponentExtended_Conditional_39_Conditional_5_Template(rf, ctx
|
|
|
875
875
|
i0.ɵɵadvance();
|
|
876
876
|
i0.ɵɵconditional(ctx_r1.userViews && ctx_r1.userViews.length > 0 ? 4 : -1);
|
|
877
877
|
} }
|
|
878
|
-
function
|
|
878
|
+
function MJListFormComponentExtended_Conditional_39_Template(rf, ctx) { if (rf & 1) {
|
|
879
879
|
const _r27 = i0.ɵɵgetCurrentView();
|
|
880
880
|
i0.ɵɵelementStart(0, "kendo-dialog", 170);
|
|
881
|
-
i0.ɵɵlistener("close", function
|
|
881
|
+
i0.ɵɵlistener("close", function MJListFormComponentExtended_Conditional_39_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeAddFromViewDialog()); });
|
|
882
882
|
i0.ɵɵelementStart(1, "div", 171);
|
|
883
|
-
i0.ɵɵconditionalCreate(2,
|
|
884
|
-
i0.ɵɵconditionalCreate(3,
|
|
885
|
-
i0.ɵɵconditionalCreate(4,
|
|
886
|
-
i0.ɵɵconditionalCreate(5,
|
|
883
|
+
i0.ɵɵconditionalCreate(2, MJListFormComponentExtended_Conditional_39_Conditional_2_Template, 2, 0, "div", 143);
|
|
884
|
+
i0.ɵɵconditionalCreate(3, MJListFormComponentExtended_Conditional_39_Conditional_3_Template, 2, 1, "div", 143);
|
|
885
|
+
i0.ɵɵconditionalCreate(4, MJListFormComponentExtended_Conditional_39_Conditional_4_Template, 2, 0, "div", 143);
|
|
886
|
+
i0.ɵɵconditionalCreate(5, MJListFormComponentExtended_Conditional_39_Conditional_5_Template, 5, 2);
|
|
887
887
|
i0.ɵɵelementEnd();
|
|
888
888
|
i0.ɵɵelementStart(6, "kendo-dialog-actions")(7, "button", 144);
|
|
889
|
-
i0.ɵɵlistener("click", function
|
|
889
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_39_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r27); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.confirmAddFromView()); });
|
|
890
890
|
i0.ɵɵtext(8);
|
|
891
891
|
i0.ɵɵelementEnd();
|
|
892
892
|
i0.ɵɵelementStart(9, "button", 145);
|
|
893
|
-
i0.ɵɵlistener("click", function
|
|
893
|
+
i0.ɵɵlistener("click", function MJListFormComponentExtended_Conditional_39_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r27); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeAddFromViewDialog()); });
|
|
894
894
|
i0.ɵɵtext(10, " Cancel ");
|
|
895
895
|
i0.ɵɵelementEnd()()();
|
|
896
896
|
} if (rf & 2) {
|
|
@@ -911,10 +911,10 @@ function ListFormComponentExtended_Conditional_39_Template(rf, ctx) { if (rf & 1
|
|
|
911
911
|
i0.ɵɵadvance();
|
|
912
912
|
i0.ɵɵproperty("disabled", ctx_r1.showAddFromViewLoader);
|
|
913
913
|
} }
|
|
914
|
-
function
|
|
914
|
+
function MJListFormComponentExtended_Conditional_40_Template(rf, ctx) { if (rf & 1) {
|
|
915
915
|
const _r30 = i0.ɵɵgetCurrentView();
|
|
916
916
|
i0.ɵɵelementStart(0, "mj-list-share-dialog", 181);
|
|
917
|
-
i0.ɵɵlistener("complete", function
|
|
917
|
+
i0.ɵɵlistener("complete", function MJListFormComponentExtended_Conditional_40_Template_mj_list_share_dialog_complete_0_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onShareDialogComplete($event)); })("cancel", function MJListFormComponentExtended_Conditional_40_Template_mj_list_share_dialog_cancel_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onShareDialogCancel()); });
|
|
918
918
|
i0.ɵɵelementEnd();
|
|
919
919
|
} if (rf & 2) {
|
|
920
920
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -931,7 +931,7 @@ function ListFormComponentExtended_Conditional_40_Template(rf, ctx) { if (rf & 1
|
|
|
931
931
|
* - Activity history
|
|
932
932
|
* - Settings and configuration
|
|
933
933
|
*/
|
|
934
|
-
let
|
|
934
|
+
let MJListFormComponentExtended = class MJListFormComponentExtended extends MJListFormComponent {
|
|
935
935
|
constructor() {
|
|
936
936
|
super(...arguments);
|
|
937
937
|
this.sharedService = inject(SharedService);
|
|
@@ -1601,14 +1601,14 @@ let ListFormComponentExtended = class ListFormComponentExtended extends MJListFo
|
|
|
1601
1601
|
this.shareDialogConfig = null;
|
|
1602
1602
|
this.cdr.markForCheck();
|
|
1603
1603
|
}
|
|
1604
|
-
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵ
|
|
1605
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
1604
|
+
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵMJListFormComponentExtended_BaseFactory; return function MJListFormComponentExtended_Factory(__ngFactoryType__) { return (ɵMJListFormComponentExtended_BaseFactory || (ɵMJListFormComponentExtended_BaseFactory = i0.ɵɵgetInheritedFactory(MJListFormComponentExtended)))(__ngFactoryType__ || MJListFormComponentExtended); }; })(); }
|
|
1605
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJListFormComponentExtended, selectors: [["mj-list-form-extended"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 41, vars: 20, consts: [["nameInput", ""], [1, "list-form-explorer"], [1, "list-header"], [1, "header-content"], [1, "header-icon"], [1, "header-info"], [1, "name-row"], [1, "entity-badge"], [1, "header-stats"], [1, "stat-item"], [1, "stat-value"], [1, "stat-label"], [1, "nav-rail"], [1, "nav-item", 3, "active", "disabled", "title"], [1, "main-content"], [1, "section", "overview-section"], [1, "section", "items-section"], [1, "section", "sharing-section"], [1, "section", "activity-section"], [1, "section", "settings-section"], [3, "title", "minWidth", "width", "height"], ["title", "Add Records from Views", 3, "minWidth", "width", "height"], [3, "config", "visible"], [1, "list-name"], ["title", "Edit name", 1, "edit-btn"], ["title", "Edit name", 1, "edit-btn", 3, "click"], [1, "fa-solid", "fa-pen"], ["type", "text", 1, "inline-edit-input", "name-input", 3, "ngModelChange", "keydown.enter", "keydown.escape", "ngModel"], [1, "save-btn", 3, "click"], [1, "fa-solid", "fa-check"], [1, "cancel-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "nav-item", 3, "click", "title"], [1, "nav-label"], [1, "nav-badge"], [1, "overview-grid"], [1, "overview-card", "description-card"], [1, "card-header"], [1, "fa-solid", "fa-align-left"], [1, "edit-btn"], [1, "card-body"], [1, "overview-card", "details-card"], [1, "fa-solid", "fa-info-circle"], [1, "detail-row"], [1, "detail-label"], [1, "detail-value"], [1, "detail-icon"], [1, "category-select", 3, "ngModel"], [1, "fa-solid", "fa-user", "detail-icon"], [1, "owner-badge"], [1, "fa-solid", "fa-calendar", "detail-icon"], [1, "overview-card", "actions-card"], [1, "fa-solid", "fa-bolt"], [1, "action-btn", 3, "click"], [1, "fa-solid", "fa-list"], [1, "action-count"], [1, "action-btn"], ["title", "Coming soon", 1, "action-btn", 3, "disabled"], [1, "fa-solid", "fa-file-export"], [1, "coming-soon"], [1, "edit-btn", 3, "click"], [1, "description-text"], [1, "description-empty"], ["placeholder", "Add a description...", "rows", "3", 1, "inline-edit-input", "description-input", 3, "ngModelChange", "keydown.escape", "ngModel"], [1, "edit-actions"], [1, "btn-primary", 3, "click"], [1, "btn-secondary", 3, "click"], [1, "fa-solid", "fa-folder", "detail-icon"], [1, "category-select", 3, "ngModelChange", "ngModel"], [3, "ngValue"], [1, "fa-solid", "fa-share-nodes"], [1, "section-header"], [1, "section-actions"], [1, "search-box"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search items...", 3, "ngModelChange", "ngModel"], [1, "add-buttons"], ["title", "Refresh", 1, "btn-icon", 3, "click"], [1, "fa-solid", "fa-refresh"], [1, "loading-state"], [1, "empty-state"], [1, "items-table-container"], ["title", "Add individual records", 1, "btn-secondary", 3, "click"], [1, "fa-solid", "fa-plus"], ["title", "Add records from a saved view", 1, "btn-secondary", 3, "click"], [1, "fa-solid", "fa-table-list"], ["text", "Loading items...", "size", "medium"], [1, "empty-icon"], [1, "fa-solid", "fa-inbox"], [1, "items-toolbar"], [1, "items-table"], [1, "col-checkbox"], ["type", "checkbox", 3, "change", "checked"], [1, "col-name"], [1, "col-id"], [1, "col-added"], [1, "col-actions"], [3, "selected"], [1, "items-footer"], [1, "items-count"], [1, "selection-count"], [1, "btn-danger", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "item-name"], [1, "item-icon"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "record-id"], ["title", "Open record", 1, "btn-icon", 3, "click"], [1, "fa-solid", "fa-arrow-up-right-from-square"], [1, "sharing-summary"], [1, "readonly-notice"], [1, "fa-solid", "fa-user-plus"], [1, "summary-card"], [1, "summary-icon"], [1, "fa-solid", "fa-users"], [1, "summary-content"], [1, "summary-value"], [1, "summary-label"], [1, "summary-icon", "pending"], [1, "fa-solid", "fa-envelope"], [1, "btn-primary"], [1, "activity-timeline"], [1, "timeline-item"], [1, "timeline-icon"], [1, "fa-solid", "fa-edit"], [1, "timeline-content"], [1, "timeline-text"], [1, "timeline-date"], [1, "timeline-icon", "create"], [1, "activity-info"], [1, "settings-form"], ["SectionKey", "listSettings", "SectionName", "List Settings", "Icon", "fa fa-cog", 3, "Form", "FormContext"], [1, "form-body"], ["FieldName", "Name", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "Description", "Type", "textarea", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "CategoryID", "Type", "textbox", "LinkType", "Record", "LinkComponentType", "Search", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["SectionKey", "systemInfo", "SectionName", "System Information", "Icon", "fa fa-info-circle", 3, "Form", "FormContext"], ["FieldName", "EntityID", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "UserID", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "__mj_CreatedAt", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "__mj_UpdatedAt", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], [3, "close", "title", "minWidth", "width", "height"], [1, "dialog-content", "add-records-dialog"], [1, "dialog-loading"], ["kendoButton", "", "themeColor", "primary", 3, "click", "disabled"], ["kendoButton", "", "fillMode", "outline", 3, "click", "disabled"], ["size", "small", 3, "text"], [1, "search-section"], [1, "search-input", 3, "valueChange", "placeholder", "clearButton", "value"], ["kendoTextBoxPrefixTemplate", ""], [1, "search-hint"], [1, "records-list"], [1, "list-loading"], [1, "empty-results"], [1, "fa-solid", "fa-search", "search-icon"], ["size", "small", 3, "showText"], [1, "fa-solid", "fa-search", "empty-icon"], [1, "fa-solid", "fa-list", "empty-icon"], [1, "selection-controls"], ["kendoButton", "", "fillMode", "flat", "size", "small", 3, "click"], [1, "selection-info"], [1, "records-scroll"], [1, "record-item", 3, "in-list", "selected"], [1, "record-item", 3, "click"], [1, "record-checkbox"], ["title", "Already in list", 1, "fa-solid", "fa-check", "in-list-icon"], ["type", "checkbox", 3, "checked"], [1, "record-name"], [1, "in-list-badge"], ["type", "checkbox", 3, "click", "change", "checked"], ["title", "Add Records from Views", 3, "close", "minWidth", "width", "height"], [1, "dialog-content"], ["text", "Loading records from views...", "size", "small"], ["text", "Loading views...", "size", "small"], [1, "dialog-instruction"], [1, "views-list"], [1, "fa-solid", "fa-folder-open", "empty-icon"], [1, "view-item", 3, "selected"], [1, "view-item", 3, "click"], [1, "fa-solid", "fa-table-list", "view-icon"], [1, "view-name"], [3, "complete", "cancel", "config", "visible"]], template: function MJListFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
|
|
1606
1606
|
i0.ɵɵelementStart(0, "div", 1)(1, "header", 2)(2, "div", 3)(3, "div", 4);
|
|
1607
1607
|
i0.ɵɵelement(4, "i");
|
|
1608
1608
|
i0.ɵɵelementEnd();
|
|
1609
1609
|
i0.ɵɵelementStart(5, "div", 5)(6, "div", 6);
|
|
1610
|
-
i0.ɵɵconditionalCreate(7,
|
|
1611
|
-
i0.ɵɵconditionalCreate(8,
|
|
1610
|
+
i0.ɵɵconditionalCreate(7, MJListFormComponentExtended_Conditional_7_Template, 3, 2);
|
|
1611
|
+
i0.ɵɵconditionalCreate(8, MJListFormComponentExtended_Conditional_8_Template, 6, 1);
|
|
1612
1612
|
i0.ɵɵelementEnd();
|
|
1613
1613
|
i0.ɵɵelementStart(9, "div", 7);
|
|
1614
1614
|
i0.ɵɵelement(10, "i");
|
|
@@ -1634,18 +1634,18 @@ let ListFormComponentExtended = class ListFormComponentExtended extends MJListFo
|
|
|
1634
1634
|
i0.ɵɵtext(28, "Updated");
|
|
1635
1635
|
i0.ɵɵelementEnd()()()();
|
|
1636
1636
|
i0.ɵɵelementStart(29, "nav", 12);
|
|
1637
|
-
i0.ɵɵrepeaterCreate(30,
|
|
1637
|
+
i0.ɵɵrepeaterCreate(30, MJListFormComponentExtended_For_31_Template, 5, 9, "button", 13, i0.ɵɵrepeaterTrackByIdentity);
|
|
1638
1638
|
i0.ɵɵelementEnd();
|
|
1639
1639
|
i0.ɵɵelementStart(32, "main", 14);
|
|
1640
|
-
i0.ɵɵconditionalCreate(33,
|
|
1641
|
-
i0.ɵɵconditionalCreate(34,
|
|
1642
|
-
i0.ɵɵconditionalCreate(35,
|
|
1643
|
-
i0.ɵɵconditionalCreate(36,
|
|
1644
|
-
i0.ɵɵconditionalCreate(37,
|
|
1640
|
+
i0.ɵɵconditionalCreate(33, MJListFormComponentExtended_Conditional_33_Template, 62, 18, "section", 15);
|
|
1641
|
+
i0.ɵɵconditionalCreate(34, MJListFormComponentExtended_Conditional_34_Template, 14, 5, "section", 16);
|
|
1642
|
+
i0.ɵɵconditionalCreate(35, MJListFormComponentExtended_Conditional_35_Template, 8, 4, "section", 17);
|
|
1643
|
+
i0.ɵɵconditionalCreate(36, MJListFormComponentExtended_Conditional_36_Template, 26, 8, "section", 18);
|
|
1644
|
+
i0.ɵɵconditionalCreate(37, MJListFormComponentExtended_Conditional_37_Template, 16, 32, "section", 19);
|
|
1645
1645
|
i0.ɵɵelementEnd()();
|
|
1646
|
-
i0.ɵɵconditionalCreate(38,
|
|
1647
|
-
i0.ɵɵconditionalCreate(39,
|
|
1648
|
-
i0.ɵɵconditionalCreate(40,
|
|
1646
|
+
i0.ɵɵconditionalCreate(38, MJListFormComponentExtended_Conditional_38_Template, 9, 10, "kendo-dialog", 20);
|
|
1647
|
+
i0.ɵɵconditionalCreate(39, MJListFormComponentExtended_Conditional_39_Template, 11, 11, "kendo-dialog", 21);
|
|
1648
|
+
i0.ɵɵconditionalCreate(40, MJListFormComponentExtended_Conditional_40_Template, 1, 2, "mj-list-share-dialog", 22);
|
|
1649
1649
|
} if (rf & 2) {
|
|
1650
1650
|
i0.ɵɵadvance(3);
|
|
1651
1651
|
i0.ɵɵstyleProp("background-color", "#2196F3");
|
|
@@ -1685,13 +1685,13 @@ let ListFormComponentExtended = class ListFormComponentExtended extends MJListFo
|
|
|
1685
1685
|
i0.ɵɵconditional(ctx.showShareDialog && ctx.shareDialogConfig ? 40 : -1);
|
|
1686
1686
|
} }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel, i2.DialogComponent, i2.DialogActionsComponent, i3.TextBoxComponent, i3.TextBoxPrefixTemplateDirective, i4.ButtonComponent, i5.MjFormFieldComponent, i5.MjCollapsiblePanelComponent, i6.LoadingComponent, i7.ListShareDialogComponent, i8.DatePipe], styles: ["\n\n\n\n\n\n\n.list-form-explorer[_ngcontent-%COMP%] {\n display: grid;\n grid-template-areas:\n \"header header\"\n \"nav main\";\n grid-template-columns: 64px 1fr;\n grid-template-rows: auto 1fr;\n height: 100%;\n min-height: 100vh;\n background: #f5f7fa;\n}\n\n\n\n.list-header[_ngcontent-%COMP%] {\n grid-area: header;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 20px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n}\n\n.header-content[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.header-icon[_ngcontent-%COMP%] {\n width: 56px;\n height: 56px;\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 24px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.header-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.name-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.list-name[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: #1a1a2e;\n}\n\n.edit-btn[_ngcontent-%COMP%] {\n background: none;\n border: none;\n padding: 6px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n}\n\n.edit-btn[_ngcontent-%COMP%]:hover {\n background: #f0f0f0;\n color: #666;\n}\n\n.inline-edit-input[_ngcontent-%COMP%] {\n padding: 8px 12px;\n border: 2px solid #2196F3;\n border-radius: 6px;\n font-size: inherit;\n background: white;\n outline: none;\n}\n\n.name-input[_ngcontent-%COMP%] {\n font-size: 24px;\n font-weight: 600;\n min-width: 300px;\n}\n\n.save-btn[_ngcontent-%COMP%], .cancel-btn[_ngcontent-%COMP%] {\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n}\n\n.save-btn[_ngcontent-%COMP%] {\n color: #4CAF50;\n}\n\n.save-btn[_ngcontent-%COMP%]:hover {\n background: #e8f5e9;\n}\n\n.cancel-btn[_ngcontent-%COMP%] {\n color: #f44336;\n}\n\n.cancel-btn[_ngcontent-%COMP%]:hover {\n background: #ffebee;\n}\n\n.entity-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 12px;\n background: #e3f2fd;\n border-radius: 16px;\n font-size: 13px;\n color: #1976D2;\n font-weight: 500;\n}\n\n.entity-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.header-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 32px;\n}\n\n.stat-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 80px;\n}\n\n.stat-value[_ngcontent-%COMP%] {\n font-size: 24px;\n font-weight: 600;\n color: #333;\n}\n\n.stat-label[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #999;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n\n\n.nav-rail[_ngcontent-%COMP%] {\n grid-area: nav;\n display: flex;\n flex-direction: column;\n padding: 16px 8px;\n background: #1a1a2e;\n gap: 4px;\n}\n\n.nav-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding: 12px 8px;\n background: none;\n border: none;\n color: rgba(255, 255, 255, 0.6);\n cursor: pointer;\n border-radius: 8px;\n transition: all 0.2s;\n position: relative;\n}\n\n.nav-item[_ngcontent-%COMP%]:hover:not(.disabled) {\n background: rgba(255, 255, 255, 0.1);\n color: white;\n}\n\n.nav-item.active[_ngcontent-%COMP%] {\n background: rgba(33, 150, 243, 0.2);\n color: #64b5f6;\n}\n\n.nav-item.active[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n height: 24px;\n background: #2196F3;\n border-radius: 0 3px 3px 0;\n}\n\n.nav-item.disabled[_ngcontent-%COMP%] {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.nav-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n}\n\n.nav-label[_ngcontent-%COMP%] {\n font-size: 10px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.nav-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: 6px;\n right: 6px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n background: #2196F3;\n border-radius: 9px;\n font-size: 10px;\n font-weight: 600;\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n\n\n.main-content[_ngcontent-%COMP%] {\n grid-area: main;\n padding: 24px;\n overflow-y: auto;\n}\n\n.section[_ngcontent-%COMP%] {\n animation: _ngcontent-%COMP%_fadeIn 0.2s ease-out;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n}\n\n.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\n}\n\n.section-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n align-items: center;\n}\n\n\n\n.search-box[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.search-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n position: absolute;\n left: 12px;\n color: #999;\n}\n\n.search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding: 10px 12px 10px 36px;\n border: 1px solid #ddd;\n border-radius: 8px;\n font-size: 14px;\n width: 250px;\n transition: all 0.2s;\n}\n\n.search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n}\n\n\n\n.overview-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));\n gap: 20px;\n}\n\n.overview-card[_ngcontent-%COMP%] {\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n overflow: hidden;\n}\n\n.card-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #f0f0f0;\n}\n\n.card-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #666;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.card-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #999;\n}\n\n.card-body[_ngcontent-%COMP%] {\n padding: 20px;\n}\n\n.description-text[_ngcontent-%COMP%] {\n margin: 0;\n color: #333;\n line-height: 1.6;\n}\n\n.description-empty[_ngcontent-%COMP%] {\n margin: 0;\n color: #999;\n font-style: italic;\n}\n\n.description-input[_ngcontent-%COMP%] {\n width: 100%;\n resize: vertical;\n font-family: inherit;\n}\n\n.edit-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n margin-top: 12px;\n}\n\n.btn-primary[_ngcontent-%COMP%] {\n padding: 8px 16px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n}\n\n.btn-primary[_ngcontent-%COMP%]:hover {\n background: #1976D2;\n}\n\n.btn-secondary[_ngcontent-%COMP%] {\n padding: 8px 16px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.btn-secondary[_ngcontent-%COMP%]:hover {\n background: #f5f5f5;\n}\n\n.btn-icon[_ngcontent-%COMP%] {\n background: none;\n border: 1px solid #ddd;\n padding: 8px 12px;\n border-radius: 6px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.btn-icon[_ngcontent-%COMP%]:hover {\n background: #f5f5f5;\n border-color: #ccc;\n}\n\n.btn-danger[_ngcontent-%COMP%] {\n padding: 8px 16px;\n background: #f44336;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 8px;\n transition: background 0.2s;\n}\n\n.btn-danger[_ngcontent-%COMP%]:hover {\n background: #d32f2f;\n}\n\n\n\n.detail-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 0;\n border-bottom: 1px solid #f5f5f5;\n}\n\n.detail-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.detail-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #999;\n}\n\n.detail-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.detail-icon[_ngcontent-%COMP%] {\n color: #999;\n font-size: 12px;\n}\n\n.owner-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n background: #e8f5e9;\n color: #388E3C;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.category-select[_ngcontent-%COMP%] {\n padding: 6px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n background: white;\n cursor: pointer;\n}\n\n.category-select[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: #2196F3;\n}\n\n\n\n.action-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n padding: 14px 16px;\n background: #f9fafb;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s;\n margin-bottom: 8px;\n text-align: left;\n}\n\n.action-btn[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0;\n}\n\n.action-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: #f3f4f6;\n border-color: #d1d5db;\n}\n\n.action-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.action-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n color: #2196F3;\n width: 24px;\n text-align: center;\n}\n\n.action-btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-of-type {\n flex: 1;\n font-size: 14px;\n color: #333;\n}\n\n.action-count[_ngcontent-%COMP%] {\n padding: 2px 8px;\n background: #e3f2fd;\n color: #1976D2;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.coming-soon[_ngcontent-%COMP%] {\n padding: 2px 8px;\n background: #fff3e0;\n color: #f57c00;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 600;\n}\n\n\n\n.loading-state[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n}\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n width: 80px;\n height: 80px;\n border-radius: 50%;\n background: linear-gradient(135deg, #e3f2fd, #f3e5f5);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 20px;\n}\n\n.empty-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 36px;\n color: #7c4dff;\n}\n\n.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 12px;\n font-size: 20px;\n color: #333;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n color: #666;\n max-width: 400px;\n}\n\n.items-table-container[_ngcontent-%COMP%] {\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n overflow: hidden;\n}\n\n.items-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 12px 16px;\n background: #e3f2fd;\n border-bottom: 1px solid #bbdefb;\n}\n\n.selection-count[_ngcontent-%COMP%] {\n font-size: 14px;\n color: #1976D2;\n font-weight: 500;\n}\n\n.items-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n}\n\n.items-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n padding: 12px 16px;\n font-size: 12px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.items-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 14px 16px;\n border-bottom: 1px solid #f0f0f0;\n font-size: 14px;\n color: #333;\n}\n\n.items-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: none;\n}\n\n.items-table[_ngcontent-%COMP%] tr.selected[_ngcontent-%COMP%] {\n background: #e3f2fd;\n}\n\n.items-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover:not(.selected) {\n background: #fafafa;\n}\n\n.col-checkbox[_ngcontent-%COMP%] {\n width: 40px;\n}\n\n.col-name[_ngcontent-%COMP%] {\n width: 35%;\n}\n\n.col-id[_ngcontent-%COMP%] {\n width: 25%;\n}\n\n.col-added[_ngcontent-%COMP%] {\n width: 20%;\n}\n\n.col-actions[_ngcontent-%COMP%] {\n width: 60px;\n text-align: right;\n}\n\n.item-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.item-name.loading[_ngcontent-%COMP%] {\n color: #999;\n}\n\n.item-icon[_ngcontent-%COMP%] {\n color: #999;\n}\n\n.record-id[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Monaco, monospace;\n font-size: 12px;\n background: #f5f5f5;\n padding: 4px 8px;\n border-radius: 4px;\n color: #666;\n}\n\n.items-footer[_ngcontent-%COMP%] {\n padding: 12px 16px;\n background: #fafafa;\n border-top: 1px solid #f0f0f0;\n}\n\n.items-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #666;\n}\n\n\n\n.coming-soon-banner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 20px;\n padding: 24px;\n background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);\n border-radius: 12px;\n margin-bottom: 24px;\n}\n\n.coming-soon-banner[_ngcontent-%COMP%] > i[_ngcontent-%COMP%] {\n font-size: 48px;\n color: #7c4dff;\n}\n\n.banner-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 8px;\n color: #333;\n}\n\n.banner-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n color: #666;\n}\n\n.shares-grid[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n\n\n.activity-timeline[_ngcontent-%COMP%] {\n background: white;\n border-radius: 12px;\n padding: 20px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n margin-bottom: 20px;\n}\n\n.timeline-item[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n padding: 16px 0;\n border-bottom: 1px solid #f0f0f0;\n}\n\n.timeline-item[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.timeline-icon[_ngcontent-%COMP%] {\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: #e3f2fd;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #2196F3;\n flex-shrink: 0;\n}\n\n.timeline-icon.create[_ngcontent-%COMP%] {\n background: #e8f5e9;\n color: #4CAF50;\n}\n\n.timeline-content[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.timeline-text[_ngcontent-%COMP%] {\n margin: 0 0 4px;\n color: #333;\n}\n\n.timeline-date[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #999;\n}\n\n.activity-info[_ngcontent-%COMP%] {\n background: #fff8e1;\n border-radius: 8px;\n padding: 16px;\n}\n\n.activity-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n color: #f57c00;\n font-size: 14px;\n}\n\n\n\n.settings-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n\n\n.add-buttons[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n\n.add-buttons[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n\n\n.sharing-summary[_ngcontent-%COMP%] {\n display: flex;\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.summary-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px 24px;\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n flex: 1;\n max-width: 280px;\n}\n\n.summary-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n border-radius: 12px;\n background: #e3f2fd;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #2196F3;\n font-size: 20px;\n}\n\n.summary-icon.pending[_ngcontent-%COMP%] {\n background: #fff3e0;\n color: #f57c00;\n}\n\n.summary-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.summary-value[_ngcontent-%COMP%] {\n font-size: 28px;\n font-weight: 600;\n color: #333;\n line-height: 1;\n}\n\n.summary-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #666;\n margin-top: 4px;\n}\n\n.readonly-notice[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: #f5f5f5;\n border-radius: 8px;\n color: #666;\n font-size: 14px;\n}\n\n.readonly-notice[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #999;\n}\n\n\n\n.dialog-content[_ngcontent-%COMP%] {\n padding: 16px 0;\n}\n\n.dialog-loading[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 200px;\n gap: 16px;\n}\n\n.dialog-instruction[_ngcontent-%COMP%] {\n margin: 0 0 16px;\n color: #666;\n}\n\n\n\n.add-records-dialog[_ngcontent-%COMP%] .search-section[_ngcontent-%COMP%] {\n margin-bottom: 16px;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .search-hint[_ngcontent-%COMP%] {\n display: block;\n font-size: 12px;\n color: #999;\n margin-top: 4px;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .records-list[_ngcontent-%COMP%] {\n min-height: 280px;\n max-height: 320px;\n overflow-y: auto;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .list-loading[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n padding: 40px;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .empty-results[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n color: #666;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .empty-results[_ngcontent-%COMP%] .empty-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n font-size: 24px;\n margin-bottom: 12px;\n background: #f5f5f5;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .selection-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #f5f5f5;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .selection-info[_ngcontent-%COMP%] {\n margin-left: auto;\n font-size: 12px;\n color: #666;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .records-scroll[_ngcontent-%COMP%] {\n max-height: 260px;\n overflow-y: auto;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .record-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .record-item[_ngcontent-%COMP%]:hover {\n background: #f9f9f9;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .record-item.selected[_ngcontent-%COMP%] {\n background: #e3f2fd;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .record-item.in-list[_ngcontent-%COMP%] {\n background: #f5f5f5;\n cursor: default;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .record-checkbox[_ngcontent-%COMP%] {\n width: 20px;\n display: flex;\n justify-content: center;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .in-list-icon[_ngcontent-%COMP%] {\n color: #4CAF50;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .record-name[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 14px;\n}\n\n.add-records-dialog[_ngcontent-%COMP%] .in-list-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n background: #e8f5e9;\n color: #388E3C;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 500;\n}\n\n\n\n.views-list[_ngcontent-%COMP%] {\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n max-height: 320px;\n overflow-y: auto;\n}\n\n.views-list[_ngcontent-%COMP%] .empty-results[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n color: #666;\n}\n\n.views-list[_ngcontent-%COMP%] .empty-results[_ngcontent-%COMP%] .empty-icon[_ngcontent-%COMP%] {\n font-size: 36px;\n color: #ccc;\n margin-bottom: 12px;\n}\n\n.view-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 16px;\n border-bottom: 1px solid #f0f0f0;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.view-item[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.view-item[_ngcontent-%COMP%]:hover {\n background: #f9f9f9;\n}\n\n.view-item.selected[_ngcontent-%COMP%] {\n background: #e3f2fd;\n}\n\n.view-item[_ngcontent-%COMP%] .view-icon[_ngcontent-%COMP%] {\n color: #2196F3;\n}\n\n.view-item[_ngcontent-%COMP%] .view-name[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 14px;\n}\n\n\n\n@media (max-width: 1024px) {\n .list-form-explorer[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n grid-template-areas:\n \"header\"\n \"nav\"\n \"main\";\n }\n\n .nav-rail[_ngcontent-%COMP%] {\n flex-direction: row;\n padding: 8px 16px;\n overflow-x: auto;\n }\n\n .nav-item[_ngcontent-%COMP%] {\n flex-direction: row;\n padding: 10px 16px;\n gap: 8px;\n }\n\n .nav-item[_ngcontent-%COMP%]::before {\n display: none;\n }\n\n .header-stats[_ngcontent-%COMP%] {\n display: none;\n }\n}\n\n@media (max-width: 768px) {\n .list-header[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 16px;\n }\n\n .overview-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n width: 100%;\n }\n\n .section-actions[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n }\n}", ".k-pane[_ngcontent-%COMP%] {\n background-color: #F5F6FA;\n}\n\n.content-margin[_ngcontent-%COMP%] {\n margin: 10px;\n} \n\n\na[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] {\n display: block;\n flex-direction: column;\n background-color: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group[_ngcontent-%COMP%] {\n margin-top: 0px;\n background-color: #F5F6FA;\n}\n\nbutton[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin-bottom: 10px;\n}\n\n.k-splitter[_ngcontent-%COMP%] {\n border-width: 0px;\n}\n\n.record-form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n.record-form[_ngcontent-%COMP%] .record-form-row[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child {\n font-weight: bold;\n padding-right: 10px;\n} \n\n.record-form[_ngcontent-%COMP%] .record-form-row[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n \n\n@media (min-width: 768px) {\n .record-form-row[_ngcontent-%COMP%] {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: #F5F6FA;\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] > .form-card[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] .related-entity-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr;\n gap: 16px;\n width: 100%;\n}\n\n\n\n@media (min-width: 1400px) {\n .form-panels-container[_ngcontent-%COMP%] .related-entity-grid[_ngcontent-%COMP%] {\n grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));\n }\n}\n\n.form-card[_ngcontent-%COMP%] {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n}\n\n.collapsible-card[_ngcontent-%COMP%] {\n overflow: hidden;\n}\n\n.collapsible-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\n}\n\n.collapsible-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 20px;\n color: #667eea;\n}\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header[_ngcontent-%COMP%] .collapse-icon[_ngcontent-%COMP%] {\n color: #6b7280;\n transition: transform 0.3s ease;\n}\n\n.collapsible-body[_ngcontent-%COMP%] {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed[_ngcontent-%COMP%] {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body[_ngcontent-%COMP%] {\n padding: 24px;\n}\n\n\n\n.form-card.related-entity[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #3b82f6;\n}\n\n\n\n.form-section-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .control-group[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid #d1d5db;\n background: white;\n color: #374151;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover {\n background: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:active {\n transform: translateY(0);\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #6b7280;\n margin-left: auto;\n font-weight: 500;\n}\n\n\n\n.form-card.search-hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n\n\n.section-count-badge[_ngcontent-%COMP%] {\n background: #667eea;\n color: white;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] .search-highlight[_ngcontent-%COMP%] {\n background-color: #fef08a;\n color: #854d0e;\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge[_ngcontent-%COMP%] {\n background: #10b981;\n color: white;\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge.zero-rows[_ngcontent-%COMP%] {\n background: #9ca3af;\n}"], changeDetection: 0 }); }
|
|
1687
1687
|
};
|
|
1688
|
-
|
|
1688
|
+
MJListFormComponentExtended = __decorate([
|
|
1689
1689
|
RegisterClass(BaseFormComponent, 'MJ: Lists')
|
|
1690
|
-
],
|
|
1691
|
-
export {
|
|
1692
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(
|
|
1690
|
+
], MJListFormComponentExtended);
|
|
1691
|
+
export { MJListFormComponentExtended };
|
|
1692
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJListFormComponentExtended, [{
|
|
1693
1693
|
type: Component,
|
|
1694
1694
|
args: [{ standalone: false, selector: 'mj-list-form-extended', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- World-Class List Form -->\n<div class=\"list-form-explorer\">\n <!-- Header -->\n <header class=\"list-header\">\n <div class=\"header-content\">\n <div class=\"header-icon\" [style.background-color]=\"'#2196F3'\">\n <i [class]=\"entityIcon\"></i>\n </div>\n <div class=\"header-info\">\n <div class=\"name-row\">\n @if (!isEditingName) {\n <h1 class=\"list-name\">{{record.Name || 'Untitled List'}}</h1>\n @if (isCurrentUserOwner()) {\n <button\n class=\"edit-btn\"\n (click)=\"startEditingName()\"\n title=\"Edit name\"\n >\n <i class=\"fa-solid fa-pen\"></i>\n </button>\n }\n }\n @if (isEditingName) {\n <input\n type=\"text\"\n class=\"inline-edit-input name-input\"\n [(ngModel)]=\"editingName\"\n (keydown.enter)=\"saveNameEdit()\"\n (keydown.escape)=\"cancelNameEdit()\"\n #nameInput />\n <button class=\"save-btn\" (click)=\"saveNameEdit()\">\n <i class=\"fa-solid fa-check\"></i>\n </button>\n <button class=\"cancel-btn\" (click)=\"cancelNameEdit()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n <div class=\"entity-badge\">\n <i [class]=\"entityIcon\"></i>\n <span>{{entityDisplayName}}</span>\n </div>\n </div>\n </div>\n <div class=\"header-stats\">\n <div class=\"stat-item\">\n <span class=\"stat-value\">{{formattedItemCount}}</span>\n <span class=\"stat-label\">Items</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-value\">{{stats.shareCount}}</span>\n <span class=\"stat-label\">Shares</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-value\">{{formattedLastUpdated}}</span>\n <span class=\"stat-label\">Updated</span>\n </div>\n </div>\n </header>\n\n <!-- Navigation Rail -->\n <nav class=\"nav-rail\">\n @for (nav of navItems; track nav) {\n <button\n class=\"nav-item\"\n [class.active]=\"activeSection === nav.id\"\n [class.disabled]=\"nav.disabled\"\n (click)=\"setActiveSection(nav.id)\"\n [title]=\"nav.label\">\n <i [class]=\"nav.icon\"></i>\n <span class=\"nav-label\">{{nav.label}}</span>\n @if (nav.badge && nav.badge > 0) {\n <span class=\"nav-badge\">{{nav.badge}}</span>\n }\n </button>\n }\n </nav>\n\n <!-- Main Content -->\n <main class=\"main-content\">\n <!-- Overview Section -->\n @if (activeSection === 'overview') {\n <section class=\"section overview-section\">\n <div class=\"overview-grid\">\n <!-- Description Card -->\n <div class=\"overview-card description-card\">\n <div class=\"card-header\">\n <h3><i class=\"fa-solid fa-align-left\"></i> Description</h3>\n @if (isCurrentUserOwner() && !isEditingDescription) {\n <button\n class=\"edit-btn\"\n (click)=\"startEditingDescription()\"\n >\n <i class=\"fa-solid fa-pen\"></i>\n </button>\n }\n </div>\n <div class=\"card-body\">\n @if (!isEditingDescription) {\n @if (record.Description) {\n <p class=\"description-text\">{{record.Description}}</p>\n }\n @if (!record.Description) {\n <p class=\"description-empty\">No description provided</p>\n }\n }\n @if (isEditingDescription) {\n <textarea\n class=\"inline-edit-input description-input\"\n [(ngModel)]=\"editingDescription\"\n placeholder=\"Add a description...\"\n rows=\"3\"\n (keydown.escape)=\"cancelDescriptionEdit()\"></textarea>\n <div class=\"edit-actions\">\n <button class=\"btn-primary\" (click)=\"saveDescriptionEdit()\">Save</button>\n <button class=\"btn-secondary\" (click)=\"cancelDescriptionEdit()\">Cancel</button>\n </div>\n }\n </div>\n </div>\n <!-- Details Card -->\n <div class=\"overview-card details-card\">\n <div class=\"card-header\">\n <h3><i class=\"fa-solid fa-info-circle\"></i> Details</h3>\n </div>\n <div class=\"card-body\">\n <div class=\"detail-row\">\n <span class=\"detail-label\">Entity</span>\n <span class=\"detail-value\">\n <i [class]=\"entityIcon\" class=\"detail-icon\"></i>\n {{entityDisplayName}}\n </span>\n </div>\n <div class=\"detail-row\">\n <span class=\"detail-label\">Category</span>\n @if (!isCurrentUserOwner()) {\n <span class=\"detail-value\">\n <i class=\"fa-solid fa-folder detail-icon\"></i>\n {{categoryName}}\n </span>\n }\n @if (isCurrentUserOwner()) {\n <select\n class=\"category-select\"\n [ngModel]=\"record.CategoryID\"\n (ngModelChange)=\"onCategoryChange($event)\">\n <option [ngValue]=\"null\">Uncategorized</option>\n @for (cat of categories; track cat) {\n <option [ngValue]=\"cat.ID\">{{cat.Name}}</option>\n }\n </select>\n }\n </div>\n <div class=\"detail-row\">\n <span class=\"detail-label\">Owner</span>\n <span class=\"detail-value\">\n <i class=\"fa-solid fa-user detail-icon\"></i>\n {{getOwnerName()}}\n @if (isCurrentUserOwner()) {\n <span class=\"owner-badge\">You</span>\n }\n </span>\n </div>\n <div class=\"detail-row\">\n <span class=\"detail-label\">Created</span>\n <span class=\"detail-value\">\n <i class=\"fa-solid fa-calendar detail-icon\"></i>\n {{record.__mj_CreatedAt | date:'mediumDate'}}\n </span>\n </div>\n </div>\n </div>\n <!-- Quick Actions Card -->\n <div class=\"overview-card actions-card\">\n <div class=\"card-header\">\n <h3><i class=\"fa-solid fa-bolt\"></i> Quick Actions</h3>\n </div>\n <div class=\"card-body\">\n <button class=\"action-btn\" (click)=\"setActiveSection('items')\">\n <i class=\"fa-solid fa-list\"></i>\n <span>View Items</span>\n <span class=\"action-count\">{{stats.itemCount}}</span>\n </button>\n @if (isCurrentUserOwner()) {\n <button class=\"action-btn\" (click)=\"openShareDialog()\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n <span>Share List</span>\n @if (stats.shareCount > 0) {\n <span class=\"action-count\">{{stats.shareCount}}</span>\n }\n </button>\n }\n @if (!isCurrentUserOwner()) {\n <button class=\"action-btn\" (click)=\"setActiveSection('sharing')\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n <span>View Sharing</span>\n </button>\n }\n <button class=\"action-btn\" [disabled]=\"true\" title=\"Coming soon\">\n <i class=\"fa-solid fa-file-export\"></i>\n <span>Export Data</span>\n <span class=\"coming-soon\">Soon</span>\n </button>\n </div>\n </div>\n </div>\n </section>\n }\n\n <!-- Items Section -->\n @if (activeSection === 'items') {\n <section class=\"section items-section\">\n <div class=\"section-header\">\n <h2>List Items</h2>\n <div class=\"section-actions\">\n <div class=\"search-box\">\n <i class=\"fa-solid fa-search\"></i>\n <input\n type=\"text\"\n placeholder=\"Search items...\"\n [(ngModel)]=\"itemSearchTerm\" />\n </div>\n @if (isCurrentUserOwner()) {\n <div class=\"add-buttons\">\n <button class=\"btn-secondary\" (click)=\"openAddRecordsDialog()\" title=\"Add individual records\">\n <i class=\"fa-solid fa-plus\"></i> Add Records\n </button>\n <button class=\"btn-secondary\" (click)=\"openAddFromViewDialog()\" title=\"Add records from a saved view\">\n <i class=\"fa-solid fa-table-list\"></i> Add From View\n </button>\n </div>\n }\n <button class=\"btn-icon\" (click)=\"refreshItems()\" title=\"Refresh\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n </div>\n </div>\n <!-- Loading State -->\n @if (isLoadingItems) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading items...\" size=\"medium\"></mj-loading>\n </div>\n }\n <!-- Empty State -->\n @if (!isLoadingItems && listItems.length === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-inbox\"></i>\n </div>\n <h3>No Items Yet</h3>\n <p>This list doesn't have any items. Add records from the {{entityDisplayName}} entity.</p>\n </div>\n }\n <!-- Items Table -->\n @if (!isLoadingItems && listItems.length > 0) {\n <div class=\"items-table-container\">\n @if (selectedItems.size > 0) {\n <div class=\"items-toolbar\">\n <span class=\"selection-count\">{{selectedItems.size}} selected</span>\n <button class=\"btn-danger\" (click)=\"removeSelectedItems()\">\n <i class=\"fa-solid fa-trash\"></i>\n Remove from List\n </button>\n </div>\n }\n <table class=\"items-table\">\n <thead>\n <tr>\n <th class=\"col-checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"isSelectAllChecked\"\n (change)=\"toggleSelectAll()\" />\n </th>\n <th class=\"col-name\">Name</th>\n <th class=\"col-id\">Record ID</th>\n <th class=\"col-added\">Added</th>\n <th class=\"col-actions\"></th>\n </tr>\n </thead>\n <tbody>\n @for (item of filteredItems; track item) {\n <tr\n [class.selected]=\"selectedItems.has(item.detail.ID)\">\n <td class=\"col-checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"selectedItems.has(item.detail.ID)\"\n (change)=\"toggleItemSelection(item)\" />\n </td>\n <td class=\"col-name\">\n <div class=\"item-name\" [class.loading]=\"item.isLoading\">\n <i [class]=\"entityIcon\" class=\"item-icon\"></i>\n <span>{{item.recordName}}</span>\n @if (item.isLoading) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n </div>\n </td>\n <td class=\"col-id\">\n <code class=\"record-id\">{{item.detail.RecordID}}</code>\n </td>\n <td class=\"col-added\">\n {{item.detail.__mj_CreatedAt | date:'shortDate'}}\n </td>\n <td class=\"col-actions\">\n <button\n class=\"btn-icon\"\n (click)=\"openRecord(item)\"\n title=\"Open record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\"></i>\n </button>\n </td>\n </tr>\n }\n </tbody>\n </table>\n <div class=\"items-footer\">\n <span class=\"items-count\">\n Showing {{filteredItems.length}} of {{listItems.length}} items\n </span>\n </div>\n </div>\n }\n </section>\n }\n\n <!-- Sharing Section -->\n @if (activeSection === 'sharing') {\n <section class=\"section sharing-section\">\n <div class=\"section-header\">\n <h2>Sharing</h2>\n @if (isCurrentUserOwner()) {\n <div class=\"section-actions\">\n <button class=\"btn-primary\" (click)=\"openShareDialog()\">\n <i class=\"fa-solid fa-user-plus\"></i> Manage Sharing\n </button>\n </div>\n }\n </div>\n <!-- Sharing summary -->\n @if (stats.shareCount > 0 || stats.invitationCount > 0) {\n <div class=\"sharing-summary\">\n <div class=\"summary-card\">\n <div class=\"summary-icon\">\n <i class=\"fa-solid fa-users\"></i>\n </div>\n <div class=\"summary-content\">\n <span class=\"summary-value\">{{stats.shareCount}}</span>\n <span class=\"summary-label\">Active Share{{stats.shareCount !== 1 ? 's' : ''}}</span>\n </div>\n </div>\n @if (stats.invitationCount > 0) {\n <div class=\"summary-card\">\n <div class=\"summary-icon pending\">\n <i class=\"fa-solid fa-envelope\"></i>\n </div>\n <div class=\"summary-content\">\n <span class=\"summary-value\">{{stats.invitationCount}}</span>\n <span class=\"summary-label\">Pending Invitation{{stats.invitationCount !== 1 ? 's' : ''}}</span>\n </div>\n </div>\n }\n </div>\n }\n <!-- Empty state for no shares -->\n @if (stats.shareCount === 0 && stats.invitationCount === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-share-nodes\"></i>\n </div>\n <h3>Not Shared Yet</h3>\n @if (isCurrentUserOwner()) {\n <p>This list is private. Click \"Manage Sharing\" to share it with other users or roles.</p>\n }\n @if (!isCurrentUserOwner()) {\n <p>This list hasn't been shared with anyone else.</p>\n }\n @if (isCurrentUserOwner()) {\n <button class=\"btn-primary\" (click)=\"openShareDialog()\">\n <i class=\"fa-solid fa-user-plus\"></i> Share This List\n </button>\n }\n </div>\n }\n <!-- Read-only notice for non-owners -->\n @if (!isCurrentUserOwner() && (stats.shareCount > 0 || stats.invitationCount > 0)) {\n <div class=\"readonly-notice\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <span>Only the list owner can manage sharing settings.</span>\n </div>\n }\n </section>\n }\n\n <!-- Activity Section -->\n @if (activeSection === 'activity') {\n <section class=\"section activity-section\">\n <div class=\"section-header\">\n <h2>Activity</h2>\n </div>\n <div class=\"activity-timeline\">\n <div class=\"timeline-item\">\n <div class=\"timeline-icon\">\n <i class=\"fa-solid fa-edit\"></i>\n </div>\n <div class=\"timeline-content\">\n <p class=\"timeline-text\">List updated</p>\n <span class=\"timeline-date\">{{record.__mj_UpdatedAt | date:'medium'}}</span>\n </div>\n </div>\n <div class=\"timeline-item\">\n <div class=\"timeline-icon create\">\n <i class=\"fa-solid fa-plus\"></i>\n </div>\n <div class=\"timeline-content\">\n <p class=\"timeline-text\">List created</p>\n <span class=\"timeline-date\">{{record.__mj_CreatedAt | date:'medium'}}</span>\n </div>\n </div>\n </div>\n <div class=\"activity-info\">\n <p>Detailed activity tracking coming soon. You'll be able to see who added items, when shares were created, and more.</p>\n </div>\n </section>\n }\n\n <!-- Settings Section -->\n @if (activeSection === 'settings') {\n <section class=\"section settings-section\">\n <div class=\"section-header\">\n <h2>Settings</h2>\n </div>\n <div class=\"settings-form\">\n <mj-collapsible-panel\n SectionKey=\"listSettings\"\n SectionName=\"List Settings\"\n Icon=\"fa fa-cog\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <div class=\"form-body\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Name\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Description\"\n Type=\"textarea\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"CategoryID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n LinkComponentType=\"Search\">\n </mj-form-field>\n </div>\n </mj-collapsible-panel>\n <mj-collapsible-panel\n SectionKey=\"systemInfo\"\n SectionName=\"System Information\"\n Icon=\"fa fa-info-circle\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <div class=\"form-body\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"EntityID\"\n Type=\"textbox\"\n [EditMode]=\"false\"\n [FormContext]=\"formContext\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"UserID\"\n Type=\"textbox\"\n [EditMode]=\"false\"\n [FormContext]=\"formContext\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_CreatedAt\"\n Type=\"textbox\"\n [EditMode]=\"false\"\n [FormContext]=\"formContext\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_UpdatedAt\"\n Type=\"textbox\"\n [EditMode]=\"false\"\n [FormContext]=\"formContext\">\n </mj-form-field>\n </div>\n </mj-collapsible-panel>\n </div>\n </section>\n }\n </main>\n</div>\n\n<!-- Add Records Dialog -->\n@if (showAddRecordsDialog) {\n <kendo-dialog\n [title]=\"'Add ' + entityDisplayName + ' to List'\"\n (close)=\"closeAddRecordsDialog()\"\n [minWidth]=\"400\"\n [width]=\"600\"\n [height]=\"550\">\n <div class=\"dialog-content add-records-dialog\">\n @if (addDialogSaving) {\n <div class=\"dialog-loading\">\n <mj-loading [text]=\"'Adding ' + addTotal + ' records to list...'\" size=\"small\"></mj-loading>\n </div>\n }\n @if (!addDialogSaving) {\n <!-- Search Input -->\n <div class=\"search-section\">\n <kendo-textbox\n [placeholder]=\"'Search ' + entityDisplayName + '...'\"\n [clearButton]=\"true\"\n (valueChange)=\"onAddRecordsSearchChange($event)\"\n [value]=\"addRecordsSearchFilter\"\n class=\"search-input\">\n <ng-template kendoTextBoxPrefixTemplate>\n <span class=\"fa-solid fa-search search-icon\"></span>\n </ng-template>\n </kendo-textbox>\n <span class=\"search-hint\">Type at least 2 characters to search</span>\n </div>\n <!-- Records List -->\n <div class=\"records-list\">\n @if (addDialogLoading) {\n <div class=\"list-loading\">\n <mj-loading [showText]=\"false\" size=\"small\"></mj-loading>\n </div>\n }\n @if (!addDialogLoading && addableRecords.length === 0 && addRecordsSearchFilter.length >= 2) {\n <div class=\"empty-results\">\n <span class=\"fa-solid fa-search empty-icon\"></span>\n <p>No records found matching \"{{ addRecordsSearchFilter }}\"</p>\n </div>\n }\n @if (!addDialogLoading && addableRecords.length === 0 && addRecordsSearchFilter.length < 2) {\n <div class=\"empty-results\">\n <span class=\"fa-solid fa-list empty-icon\"></span>\n <p>Search for records to add to this list</p>\n </div>\n }\n @if (!addDialogLoading && addableRecords.length > 0) {\n <!-- Selection controls -->\n <div class=\"selection-controls\">\n <button kendoButton fillMode=\"flat\" size=\"small\" (click)=\"selectAllAddable()\">Select All</button>\n <button kendoButton fillMode=\"flat\" size=\"small\" (click)=\"deselectAllAddable()\">Deselect All</button>\n <span class=\"selection-info\">{{ selectedAddableRecords.length }} selected</span>\n </div>\n <!-- Records -->\n <div class=\"records-scroll\">\n @for (record of addableRecords; track record) {\n <div class=\"record-item\"\n [class.in-list]=\"record.isInList\"\n [class.selected]=\"record.isSelected\"\n (click)=\"toggleRecordSelection(record)\">\n <div class=\"record-checkbox\">\n @if (record.isInList) {\n <span class=\"fa-solid fa-check in-list-icon\" title=\"Already in list\"></span>\n }\n @if (!record.isInList) {\n <input type=\"checkbox\"\n [checked]=\"record.isSelected\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleRecordSelection(record)\">\n }\n </div>\n <div class=\"record-name\">{{ record.Name }}</div>\n @if (record.isInList) {\n <span class=\"in-list-badge\">In List</span>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n <kendo-dialog-actions>\n <button kendoButton\n (click)=\"confirmAddRecords()\"\n [disabled]=\"addDialogSaving || selectedAddableRecords.length === 0\"\n themeColor=\"primary\">\n Add {{ selectedAddableRecords.length > 0 ? selectedAddableRecords.length : '' }} Record{{ selectedAddableRecords.length !== 1 ? 's' : '' }}\n </button>\n <button kendoButton\n (click)=\"closeAddRecordsDialog()\"\n [disabled]=\"addDialogSaving\"\n fillMode=\"outline\">\n Cancel\n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n}\n\n<!-- Add From View Dialog -->\n@if (showAddFromViewDialog) {\n <kendo-dialog\n title=\"Add Records from Views\"\n (close)=\"closeAddFromViewDialog()\"\n [minWidth]=\"400\"\n [width]=\"600\"\n [height]=\"500\">\n <div class=\"dialog-content\">\n @if (showAddFromViewLoader && fetchingRecordsToSave) {\n <div class=\"dialog-loading\">\n <mj-loading text=\"Loading records from views...\" size=\"small\"></mj-loading>\n </div>\n }\n @if (showAddFromViewLoader && addFromViewTotal > 0 && !fetchingRecordsToSave) {\n <div class=\"dialog-loading\">\n <mj-loading [text]=\"'Adding ' + addFromViewTotal + ' records to list...'\" size=\"small\"></mj-loading>\n </div>\n }\n @if (showAddFromViewLoader && !fetchingRecordsToSave && addFromViewTotal === 0) {\n <div class=\"dialog-loading\">\n <mj-loading text=\"Loading views...\" size=\"small\"></mj-loading>\n </div>\n }\n @if (!showAddFromViewLoader) {\n <p class=\"dialog-instruction\">Select views to add their records to this list:</p>\n <div class=\"views-list\">\n @if (!userViews || userViews.length === 0) {\n <div class=\"empty-results\">\n <span class=\"fa-solid fa-folder-open empty-icon\"></span>\n <p>No saved views found for this entity</p>\n </div>\n }\n @if (userViews && userViews.length > 0) {\n @for (view of userViews; track view) {\n <div class=\"view-item\"\n [class.selected]=\"isViewSelected(view)\"\n (click)=\"toggleViewSelection(view)\">\n <input type=\"checkbox\"\n [checked]=\"isViewSelected(view)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleViewSelection(view)\">\n <span class=\"fa-solid fa-table-list view-icon\"></span>\n <span class=\"view-name\">{{ view.Name }}</span>\n </div>\n }\n }\n </div>\n }\n </div>\n <kendo-dialog-actions>\n <button kendoButton\n (click)=\"confirmAddFromView()\"\n [disabled]=\"showAddFromViewLoader || userViewsToAdd.length === 0\"\n themeColor=\"primary\">\n Add from {{ userViewsToAdd.length }} View{{ userViewsToAdd.length !== 1 ? 's' : '' }}\n </button>\n <button kendoButton\n (click)=\"closeAddFromViewDialog()\"\n [disabled]=\"showAddFromViewLoader\"\n fillMode=\"outline\">\n Cancel\n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n}\n\n<!-- Share Dialog -->\n@if (showShareDialog && shareDialogConfig) {\n <mj-list-share-dialog\n [config]=\"shareDialogConfig\"\n [visible]=\"showShareDialog\"\n (complete)=\"onShareDialogComplete($event)\"\n (cancel)=\"onShareDialogCancel()\">\n </mj-list-share-dialog>\n}\n", styles: ["/* ============================================\n WORLD-CLASS LIST FORM STYLES\n ============================================ */\n\n/* Layout */\n.list-form-explorer {\n display: grid;\n grid-template-areas:\n \"header header\"\n \"nav main\";\n grid-template-columns: 64px 1fr;\n grid-template-rows: auto 1fr;\n height: 100%;\n min-height: 100vh;\n background: #f5f7fa;\n}\n\n/* Header */\n.list-header {\n grid-area: header;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 20px 24px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n}\n\n.header-content {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.header-icon {\n width: 56px;\n height: 56px;\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 24px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n}\n\n.header-info {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.name-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.list-name {\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: #1a1a2e;\n}\n\n.edit-btn {\n background: none;\n border: none;\n padding: 6px 8px;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n}\n\n.edit-btn:hover {\n background: #f0f0f0;\n color: #666;\n}\n\n.inline-edit-input {\n padding: 8px 12px;\n border: 2px solid #2196F3;\n border-radius: 6px;\n font-size: inherit;\n background: white;\n outline: none;\n}\n\n.name-input {\n font-size: 24px;\n font-weight: 600;\n min-width: 300px;\n}\n\n.save-btn, .cancel-btn {\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s;\n}\n\n.save-btn {\n color: #4CAF50;\n}\n\n.save-btn:hover {\n background: #e8f5e9;\n}\n\n.cancel-btn {\n color: #f44336;\n}\n\n.cancel-btn:hover {\n background: #ffebee;\n}\n\n.entity-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 12px;\n background: #e3f2fd;\n border-radius: 16px;\n font-size: 13px;\n color: #1976D2;\n font-weight: 500;\n}\n\n.entity-badge i {\n font-size: 12px;\n}\n\n.header-stats {\n display: flex;\n gap: 32px;\n}\n\n.stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 80px;\n}\n\n.stat-value {\n font-size: 24px;\n font-weight: 600;\n color: #333;\n}\n\n.stat-label {\n font-size: 12px;\n color: #999;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* Navigation Rail */\n.nav-rail {\n grid-area: nav;\n display: flex;\n flex-direction: column;\n padding: 16px 8px;\n background: #1a1a2e;\n gap: 4px;\n}\n\n.nav-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding: 12px 8px;\n background: none;\n border: none;\n color: rgba(255, 255, 255, 0.6);\n cursor: pointer;\n border-radius: 8px;\n transition: all 0.2s;\n position: relative;\n}\n\n.nav-item:hover:not(.disabled) {\n background: rgba(255, 255, 255, 0.1);\n color: white;\n}\n\n.nav-item.active {\n background: rgba(33, 150, 243, 0.2);\n color: #64b5f6;\n}\n\n.nav-item.active::before {\n content: '';\n position: absolute;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n height: 24px;\n background: #2196F3;\n border-radius: 0 3px 3px 0;\n}\n\n.nav-item.disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.nav-item i {\n font-size: 18px;\n}\n\n.nav-label {\n font-size: 10px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.nav-badge {\n position: absolute;\n top: 6px;\n right: 6px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n background: #2196F3;\n border-radius: 9px;\n font-size: 10px;\n font-weight: 600;\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Main Content */\n.main-content {\n grid-area: main;\n padding: 24px;\n overflow-y: auto;\n}\n\n.section {\n animation: fadeIn 0.2s ease-out;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 20px;\n}\n\n.section-header h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: #333;\n}\n\n.section-actions {\n display: flex;\n gap: 12px;\n align-items: center;\n}\n\n/* Search Box */\n.search-box {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.search-box i {\n position: absolute;\n left: 12px;\n color: #999;\n}\n\n.search-box input {\n padding: 10px 12px 10px 36px;\n border: 1px solid #ddd;\n border-radius: 8px;\n font-size: 14px;\n width: 250px;\n transition: all 0.2s;\n}\n\n.search-box input:focus {\n outline: none;\n border-color: #2196F3;\n box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);\n}\n\n/* Overview Section */\n.overview-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));\n gap: 20px;\n}\n\n.overview-card {\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n overflow: hidden;\n}\n\n.card-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #f0f0f0;\n}\n\n.card-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #666;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.card-header h3 i {\n color: #999;\n}\n\n.card-body {\n padding: 20px;\n}\n\n.description-text {\n margin: 0;\n color: #333;\n line-height: 1.6;\n}\n\n.description-empty {\n margin: 0;\n color: #999;\n font-style: italic;\n}\n\n.description-input {\n width: 100%;\n resize: vertical;\n font-family: inherit;\n}\n\n.edit-actions {\n display: flex;\n gap: 8px;\n margin-top: 12px;\n}\n\n.btn-primary {\n padding: 8px 16px;\n background: #2196F3;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: background 0.2s;\n}\n\n.btn-primary:hover {\n background: #1976D2;\n}\n\n.btn-secondary {\n padding: 8px 16px;\n background: white;\n color: #666;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.btn-secondary:hover {\n background: #f5f5f5;\n}\n\n.btn-icon {\n background: none;\n border: 1px solid #ddd;\n padding: 8px 12px;\n border-radius: 6px;\n color: #666;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.btn-icon:hover {\n background: #f5f5f5;\n border-color: #ccc;\n}\n\n.btn-danger {\n padding: 8px 16px;\n background: #f44336;\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 8px;\n transition: background 0.2s;\n}\n\n.btn-danger:hover {\n background: #d32f2f;\n}\n\n/* Details Card */\n.detail-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 0;\n border-bottom: 1px solid #f5f5f5;\n}\n\n.detail-row:last-child {\n border-bottom: none;\n}\n\n.detail-label {\n font-size: 13px;\n color: #999;\n}\n\n.detail-value {\n font-size: 14px;\n color: #333;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.detail-icon {\n color: #999;\n font-size: 12px;\n}\n\n.owner-badge {\n padding: 2px 8px;\n background: #e8f5e9;\n color: #388E3C;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 600;\n}\n\n.category-select {\n padding: 6px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-size: 14px;\n background: white;\n cursor: pointer;\n}\n\n.category-select:focus {\n outline: none;\n border-color: #2196F3;\n}\n\n/* Actions Card */\n.action-btn {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n padding: 14px 16px;\n background: #f9fafb;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s;\n margin-bottom: 8px;\n text-align: left;\n}\n\n.action-btn:last-child {\n margin-bottom: 0;\n}\n\n.action-btn:hover:not(:disabled) {\n background: #f3f4f6;\n border-color: #d1d5db;\n}\n\n.action-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.action-btn i {\n font-size: 18px;\n color: #2196F3;\n width: 24px;\n text-align: center;\n}\n\n.action-btn span:first-of-type {\n flex: 1;\n font-size: 14px;\n color: #333;\n}\n\n.action-count {\n padding: 2px 8px;\n background: #e3f2fd;\n color: #1976D2;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.coming-soon {\n padding: 2px 8px;\n background: #fff3e0;\n color: #f57c00;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 600;\n}\n\n/* Items Section */\n.loading-state {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n}\n\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.empty-icon {\n width: 80px;\n height: 80px;\n border-radius: 50%;\n background: linear-gradient(135deg, #e3f2fd, #f3e5f5);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 20px;\n}\n\n.empty-icon i {\n font-size: 36px;\n color: #7c4dff;\n}\n\n.empty-state h3 {\n margin: 0 0 12px;\n font-size: 20px;\n color: #333;\n}\n\n.empty-state p {\n margin: 0;\n color: #666;\n max-width: 400px;\n}\n\n.items-table-container {\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n overflow: hidden;\n}\n\n.items-toolbar {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 12px 16px;\n background: #e3f2fd;\n border-bottom: 1px solid #bbdefb;\n}\n\n.selection-count {\n font-size: 14px;\n color: #1976D2;\n font-weight: 500;\n}\n\n.items-table {\n width: 100%;\n border-collapse: collapse;\n}\n\n.items-table th {\n text-align: left;\n padding: 12px 16px;\n font-size: 12px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.items-table td {\n padding: 14px 16px;\n border-bottom: 1px solid #f0f0f0;\n font-size: 14px;\n color: #333;\n}\n\n.items-table tr:last-child td {\n border-bottom: none;\n}\n\n.items-table tr.selected {\n background: #e3f2fd;\n}\n\n.items-table tr:hover:not(.selected) {\n background: #fafafa;\n}\n\n.col-checkbox {\n width: 40px;\n}\n\n.col-name {\n width: 35%;\n}\n\n.col-id {\n width: 25%;\n}\n\n.col-added {\n width: 20%;\n}\n\n.col-actions {\n width: 60px;\n text-align: right;\n}\n\n.item-name {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.item-name.loading {\n color: #999;\n}\n\n.item-icon {\n color: #999;\n}\n\n.record-id {\n font-family: 'SF Mono', Monaco, monospace;\n font-size: 12px;\n background: #f5f5f5;\n padding: 4px 8px;\n border-radius: 4px;\n color: #666;\n}\n\n.items-footer {\n padding: 12px 16px;\n background: #fafafa;\n border-top: 1px solid #f0f0f0;\n}\n\n.items-count {\n font-size: 13px;\n color: #666;\n}\n\n/* Sharing Section */\n.coming-soon-banner {\n display: flex;\n align-items: center;\n gap: 20px;\n padding: 24px;\n background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);\n border-radius: 12px;\n margin-bottom: 24px;\n}\n\n.coming-soon-banner > i {\n font-size: 48px;\n color: #7c4dff;\n}\n\n.banner-content h3 {\n margin: 0 0 8px;\n color: #333;\n}\n\n.banner-content p {\n margin: 0;\n color: #666;\n}\n\n.shares-grid {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n/* Activity Section */\n.activity-timeline {\n background: white;\n border-radius: 12px;\n padding: 20px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n margin-bottom: 20px;\n}\n\n.timeline-item {\n display: flex;\n gap: 16px;\n padding: 16px 0;\n border-bottom: 1px solid #f0f0f0;\n}\n\n.timeline-item:last-child {\n border-bottom: none;\n}\n\n.timeline-icon {\n width: 36px;\n height: 36px;\n border-radius: 50%;\n background: #e3f2fd;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #2196F3;\n flex-shrink: 0;\n}\n\n.timeline-icon.create {\n background: #e8f5e9;\n color: #4CAF50;\n}\n\n.timeline-content {\n flex: 1;\n}\n\n.timeline-text {\n margin: 0 0 4px;\n color: #333;\n}\n\n.timeline-date {\n font-size: 13px;\n color: #999;\n}\n\n.activity-info {\n background: #fff8e1;\n border-radius: 8px;\n padding: 16px;\n}\n\n.activity-info p {\n margin: 0;\n color: #f57c00;\n font-size: 14px;\n}\n\n/* Settings Section */\n.settings-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n/* Add Buttons in Items Section */\n.add-buttons {\n display: flex;\n gap: 8px;\n}\n\n.add-buttons .btn-secondary {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n/* Sharing Summary */\n.sharing-summary {\n display: flex;\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.summary-card {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 20px 24px;\n background: white;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n flex: 1;\n max-width: 280px;\n}\n\n.summary-icon {\n width: 48px;\n height: 48px;\n border-radius: 12px;\n background: #e3f2fd;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #2196F3;\n font-size: 20px;\n}\n\n.summary-icon.pending {\n background: #fff3e0;\n color: #f57c00;\n}\n\n.summary-content {\n display: flex;\n flex-direction: column;\n}\n\n.summary-value {\n font-size: 28px;\n font-weight: 600;\n color: #333;\n line-height: 1;\n}\n\n.summary-label {\n font-size: 13px;\n color: #666;\n margin-top: 4px;\n}\n\n.readonly-notice {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: #f5f5f5;\n border-radius: 8px;\n color: #666;\n font-size: 14px;\n}\n\n.readonly-notice i {\n color: #999;\n}\n\n/* Dialog Styles */\n.dialog-content {\n padding: 16px 0;\n}\n\n.dialog-loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 200px;\n gap: 16px;\n}\n\n.dialog-instruction {\n margin: 0 0 16px;\n color: #666;\n}\n\n/* Add Records Dialog */\n.add-records-dialog .search-section {\n margin-bottom: 16px;\n}\n\n.add-records-dialog .search-input {\n width: 100%;\n}\n\n.add-records-dialog .search-hint {\n display: block;\n font-size: 12px;\n color: #999;\n margin-top: 4px;\n}\n\n.add-records-dialog .records-list {\n min-height: 280px;\n max-height: 320px;\n overflow-y: auto;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n}\n\n.add-records-dialog .list-loading {\n display: flex;\n justify-content: center;\n padding: 40px;\n}\n\n.add-records-dialog .empty-results {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n color: #666;\n}\n\n.add-records-dialog .empty-results .empty-icon {\n width: 48px;\n height: 48px;\n font-size: 24px;\n margin-bottom: 12px;\n background: #f5f5f5;\n}\n\n.add-records-dialog .selection-controls {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #f5f5f5;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.add-records-dialog .selection-info {\n margin-left: auto;\n font-size: 12px;\n color: #666;\n}\n\n.add-records-dialog .records-scroll {\n max-height: 260px;\n overflow-y: auto;\n}\n\n.add-records-dialog .record-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n border-bottom: 1px solid #f0f0f0;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.add-records-dialog .record-item:hover {\n background: #f9f9f9;\n}\n\n.add-records-dialog .record-item.selected {\n background: #e3f2fd;\n}\n\n.add-records-dialog .record-item.in-list {\n background: #f5f5f5;\n cursor: default;\n}\n\n.add-records-dialog .record-checkbox {\n width: 20px;\n display: flex;\n justify-content: center;\n}\n\n.add-records-dialog .in-list-icon {\n color: #4CAF50;\n}\n\n.add-records-dialog .record-name {\n flex: 1;\n font-size: 14px;\n}\n\n.add-records-dialog .in-list-badge {\n padding: 2px 8px;\n background: #e8f5e9;\n color: #388E3C;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 500;\n}\n\n/* Add From View Dialog */\n.views-list {\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n max-height: 320px;\n overflow-y: auto;\n}\n\n.views-list .empty-results {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n color: #666;\n}\n\n.views-list .empty-results .empty-icon {\n font-size: 36px;\n color: #ccc;\n margin-bottom: 12px;\n}\n\n.view-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 16px;\n border-bottom: 1px solid #f0f0f0;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.view-item:last-child {\n border-bottom: none;\n}\n\n.view-item:hover {\n background: #f9f9f9;\n}\n\n.view-item.selected {\n background: #e3f2fd;\n}\n\n.view-item .view-icon {\n color: #2196F3;\n}\n\n.view-item .view-name {\n flex: 1;\n font-size: 14px;\n}\n\n/* Responsive */\n@media (max-width: 1024px) {\n .list-form-explorer {\n grid-template-columns: 1fr;\n grid-template-areas:\n \"header\"\n \"nav\"\n \"main\";\n }\n\n .nav-rail {\n flex-direction: row;\n padding: 8px 16px;\n overflow-x: auto;\n }\n\n .nav-item {\n flex-direction: row;\n padding: 10px 16px;\n gap: 8px;\n }\n\n .nav-item::before {\n display: none;\n }\n\n .header-stats {\n display: none;\n }\n}\n\n@media (max-width: 768px) {\n .list-header {\n flex-direction: column;\n align-items: flex-start;\n gap: 16px;\n }\n\n .overview-grid {\n grid-template-columns: 1fr;\n }\n\n .search-box input {\n width: 100%;\n }\n\n .section-actions {\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n }\n}\n", ".k-pane {\n background-color: #F5F6FA;\n}\n\n.content-margin {\n margin: 10px;\n} \n\n\na {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon {\n margin-right: 5px;\n}\n\n.record-form {\n display: block;\n flex-direction: column;\n background-color: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: #F5F6FA;\n}\n\nbutton {\n margin-right: 5px;\n}\n\n.record-form h2 {\n margin-bottom: 10px;\n}\n\n.k-splitter {\n border-width: 0px;\n}\n\n.record-form-row {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n\n/* .record-form .record-form-row:nth-child(odd) {\n background-color: #f2f2f2; \n} */\n\n/* \n.record-form .record-form-row:nth-child(even) {\n background-color: #ffffff; \n} */\n\n.record-form .record-form-row > :first-child {\n font-weight: bold;\n padding-right: 10px;\n} \n\n.record-form .record-form-row > span {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n \n\n@media (min-width: 768px) {\n .record-form-row {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row label {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n/* Collapsible Panel Styles */\n.form-panels-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: #F5F6FA;\n}\n\n/* All field sections take full width */\n.form-panels-container > .form-card {\n width: 100%;\n}\n\n/* Related entity grid container - responsive layout */\n.form-panels-container .related-entity-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: 16px;\n width: 100%;\n}\n\n/* Responsive multi-column layout for related entities on wider screens */\n@media (min-width: 1400px) {\n .form-panels-container .related-entity-grid {\n grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));\n }\n}\n\n.form-card {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n}\n\n.collapsible-card {\n overflow: hidden;\n}\n\n.collapsible-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\n}\n\n.collapsible-title {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title i {\n font-size: 20px;\n color: #667eea;\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header .collapse-icon {\n color: #6b7280;\n transition: transform 0.3s ease;\n}\n\n.collapsible-body {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body {\n padding: 24px;\n}\n\n/* Related Entity Sections - Visual Distinction */\n.form-card.related-entity {\n background: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity .collapsible-header {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity .collapsible-title i {\n color: #3b82f6;\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n}\n\n.form-section-controls .control-group {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls button {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid #d1d5db;\n background: white;\n color: #374151;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.form-section-controls button:hover {\n background: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\n}\n\n.form-section-controls button:active {\n transform: translateY(0);\n}\n\n.form-section-controls button i {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls .section-search {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls .section-search::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: #6b7280;\n margin-left: auto;\n font-weight: 500;\n}\n\n/* Hidden sections for search filter */\n.form-card.search-hidden {\n display: none;\n}\n\n/* Section count badge */\n.section-count-badge {\n background: #667eea;\n color: white;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* Search highlighting in section names */\n.collapsible-title h3 .search-highlight {\n background-color: #fef08a;\n color: #854d0e;\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n/* Row count badge in section headers */\n.collapsible-title .row-count-badge {\n background: #10b981;\n color: white;\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n/* Gray badge for zero rows (loaded but empty) */\n.collapsible-title .row-count-badge.zero-rows {\n background: #9ca3af;\n}\n"] }]
|
|
1695
1695
|
}], null, null); })();
|
|
1696
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(
|
|
1696
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJListFormComponentExtended, { className: "MJListFormComponentExtended", filePath: "src/lib/custom/Lists/list-form.component.ts", lineNumber: 55 }); })();
|
|
1697
1697
|
//# sourceMappingURL=list-form.component.js.map
|