@mj-biz-apps/sales-ng 5.2.0 → 6.1.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/activities/deal-activity-timeline.component.d.ts +6 -1
- package/dist/lib/activities/deal-activity-timeline.component.d.ts.map +1 -1
- package/dist/lib/activities/deal-activity-timeline.component.js +70 -47
- package/dist/lib/activities/deal-activity-timeline.component.js.map +1 -1
- package/dist/lib/board/deal-board.component.d.ts +1 -1
- package/dist/lib/board/deal-board.component.d.ts.map +1 -1
- package/dist/lib/board/deal-board.component.js +4 -4
- package/dist/lib/board/deal-board.component.js.map +1 -1
- package/dist/lib/data/entity-names.d.ts +25 -0
- package/dist/lib/data/entity-names.d.ts.map +1 -0
- package/dist/lib/data/entity-names.js +25 -0
- package/dist/lib/data/entity-names.js.map +1 -0
- package/dist/lib/form-panels/deal-form.panels.d.ts +114 -0
- package/dist/lib/form-panels/deal-form.panels.d.ts.map +1 -0
- package/dist/lib/form-panels/deal-form.panels.js +1305 -0
- package/dist/lib/form-panels/deal-form.panels.js.map +1 -0
- package/dist/lib/form-panels/deal-form.policy.d.ts +5 -0
- package/dist/lib/form-panels/deal-form.policy.d.ts.map +1 -0
- package/dist/lib/form-panels/deal-form.policy.js +33 -0
- package/dist/lib/form-panels/deal-form.policy.js.map +1 -0
- package/dist/lib/form-panels/deal-hero.panel.d.ts +33 -0
- package/dist/lib/form-panels/deal-hero.panel.d.ts.map +1 -0
- package/dist/lib/form-panels/deal-hero.panel.js +515 -0
- package/dist/lib/form-panels/deal-hero.panel.js.map +1 -0
- package/dist/lib/form-panels/party-deals.panels.d.ts +38 -0
- package/dist/lib/form-panels/party-deals.panels.d.ts.map +1 -0
- package/dist/lib/form-panels/party-deals.panels.js +276 -0
- package/dist/lib/form-panels/party-deals.panels.js.map +1 -0
- package/dist/lib/nav/sales-nav.model.d.ts +3 -3
- package/dist/lib/nav/sales-nav.model.d.ts.map +1 -1
- package/dist/lib/nav/sales-nav.model.js +4 -5
- package/dist/lib/nav/sales-nav.model.js.map +1 -1
- package/dist/lib/pages/dashboard-inspect.d.ts +56 -0
- package/dist/lib/pages/dashboard-inspect.d.ts.map +1 -0
- package/dist/lib/pages/dashboard-inspect.js +152 -0
- package/dist/lib/pages/dashboard-inspect.js.map +1 -0
- package/dist/lib/pages/deal-views.d.ts +35 -0
- package/dist/lib/pages/deal-views.d.ts.map +1 -0
- package/dist/lib/pages/deal-views.js +114 -0
- package/dist/lib/pages/deal-views.js.map +1 -0
- package/dist/lib/sections/sales-section.component.d.ts +55 -33
- package/dist/lib/sections/sales-section.component.d.ts.map +1 -1
- package/dist/lib/sections/sales-section.component.js +537 -350
- package/dist/lib/sections/sales-section.component.js.map +1 -1
- package/dist/lib/workspace/deal-workspace.component.d.ts +35 -19
- package/dist/lib/workspace/deal-workspace.component.d.ts.map +1 -1
- package/dist/lib/workspace/deal-workspace.component.js +127 -59
- package/dist/lib/workspace/deal-workspace.component.js.map +1 -1
- package/dist/lib/workspace/deal-workspace.service.d.ts +22 -6
- package/dist/lib/workspace/deal-workspace.service.d.ts.map +1 -1
- package/dist/lib/workspace/deal-workspace.service.js +30 -11
- package/dist/lib/workspace/deal-workspace.service.js.map +1 -1
- package/dist/public-api.d.ts +9 -3
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +30 -3
- package/dist/public-api.js.map +1 -1
- package/package.json +14 -14
|
@@ -20,6 +20,11 @@ export interface DealActivityRow {
|
|
|
20
20
|
}
|
|
21
21
|
export declare class DealActivityTimelineComponent {
|
|
22
22
|
private readonly cdr;
|
|
23
|
+
/**
|
|
24
|
+
* When true, only the compose form is shown — the list is owned by `mj-entity-viewer`
|
|
25
|
+
* on the Deal form Activity section.
|
|
26
|
+
*/
|
|
27
|
+
ComposeOnly: boolean;
|
|
23
28
|
/** Setting this loads the timeline. Null means no deal is open, so there is nothing to show. */
|
|
24
29
|
set DealID(value: string | null);
|
|
25
30
|
get DealID(): string | null;
|
|
@@ -99,6 +104,6 @@ export declare class DealActivityTimelineComponent {
|
|
|
99
104
|
/** Newest first, by when it HAPPENED rather than when it was filed. */
|
|
100
105
|
Load(): Promise<void>;
|
|
101
106
|
static ɵfac: i0.ɵɵFactoryDeclaration<DealActivityTimelineComponent, never>;
|
|
102
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DealActivityTimelineComponent, "mjs-deal-activity-timeline", never, { "DealID": { "alias": "DealID"; "required": false; }; }, { "Logged": "Logged"; }, never, never, true, never>;
|
|
107
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DealActivityTimelineComponent, "mjs-deal-activity-timeline", never, { "ComposeOnly": { "alias": "ComposeOnly"; "required": false; }; "DealID": { "alias": "DealID"; "required": false; }; }, { "Logged": "Logged"; }, never, never, true, never>;
|
|
103
108
|
}
|
|
104
109
|
//# sourceMappingURL=deal-activity-timeline.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deal-activity-timeline.component.d.ts","sourceRoot":"","sources":["../../../src/lib/activities/deal-activity-timeline.component.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAgC,YAAY,EAAyB,MAAM,eAAe,CAAC;AAIlG;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;;AAYpE,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,mGAAmG;IACnG,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAClB;AAKD,
|
|
1
|
+
{"version":3,"file":"deal-activity-timeline.component.d.ts","sourceRoot":"","sources":["../../../src/lib/activities/deal-activity-timeline.component.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAgC,YAAY,EAAyB,MAAM,eAAe,CAAC;AAIlG;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;;AAYpE,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,mGAAmG;IACnG,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAClB;AAKD,qBAqJa,6BAA6B;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IAEjD;;;OAGG;IACa,WAAW,UAAS;IAEpC,gGAAgG;IAChG,IACW,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAKrC;IACD,IAAW,MAAM,IAAI,MAAM,GAAG,IAAI,CAEjC;IACD,OAAO,CAAC,MAAM,CAAuB;IAErC,4FAA4F;IAC5F,SAA0B,MAAM,uBAA8B;IAEvD,IAAI,EAAE,eAAe,EAAE,CAAM;IAC7B,OAAO,UAAS;IAChB,MAAM,UAAS;IACf,MAAM,UAAS;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEnC,SAAgB,KAAK,8BAAkB;IAChC,aAAa,EAAE,MAAM,CAAU;IAC/B,UAAU,SAAM;IAChB,UAAU,SAAM;IAChB,SAAS,SAAM;IAEf,QAAQ,IAAI,IAAI;IAchB,SAAS,IAAI,IAAI;IAMxB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8DlC;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;;;;;;;;;;;;;;;;OAoBG;YACW,mBAAmB;IAgBjC,uEAAuE;IAC1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;yCAvMzB,6BAA6B;2CAA7B,6BAA6B;CAuQzC"}
|
|
@@ -35,10 +35,16 @@ import * as i1 from "@angular/forms";
|
|
|
35
35
|
import * as i2 from "@memberjunction/ng-shared-generic";
|
|
36
36
|
import * as i3 from "@angular/common";
|
|
37
37
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
38
|
-
function
|
|
38
|
+
function DealActivityTimelineComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
+
i0.ɵɵelementStart(0, "h3", 2);
|
|
40
|
+
i0.ɵɵelement(1, "i", 7);
|
|
41
|
+
i0.ɵɵtext(2, " Activity ");
|
|
42
|
+
i0.ɵɵelementEnd();
|
|
43
|
+
} }
|
|
44
|
+
function DealActivityTimelineComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
39
45
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
40
46
|
i0.ɵɵelementStart(0, "button", 8);
|
|
41
|
-
i0.ɵɵlistener("click", function
|
|
47
|
+
i0.ɵɵlistener("click", function DealActivityTimelineComponent_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.StartAdd()); });
|
|
42
48
|
i0.ɵɵelement(1, "i", 9);
|
|
43
49
|
i0.ɵɵtext(2, " Log activity ");
|
|
44
50
|
i0.ɵɵelementEnd();
|
|
@@ -46,7 +52,7 @@ function DealActivityTimelineComponent_Conditional_5_Template(rf, ctx) { if (rf
|
|
|
46
52
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
47
53
|
i0.ɵɵproperty("disabled", !ctx_r1.DealID);
|
|
48
54
|
} }
|
|
49
|
-
function
|
|
55
|
+
function DealActivityTimelineComponent_Conditional_4_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
50
56
|
i0.ɵɵelementStart(0, "option", 13);
|
|
51
57
|
i0.ɵɵtext(1);
|
|
52
58
|
i0.ɵɵelementEnd();
|
|
@@ -56,7 +62,7 @@ function DealActivityTimelineComponent_Conditional_6_For_6_Template(rf, ctx) { i
|
|
|
56
62
|
i0.ɵɵadvance();
|
|
57
63
|
i0.ɵɵtextInterpolate(code_r4);
|
|
58
64
|
} }
|
|
59
|
-
function
|
|
65
|
+
function DealActivityTimelineComponent_Conditional_4_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
60
66
|
i0.ɵɵelementStart(0, "p", 18);
|
|
61
67
|
i0.ɵɵtext(1);
|
|
62
68
|
i0.ɵɵelementEnd();
|
|
@@ -65,41 +71,41 @@ function DealActivityTimelineComponent_Conditional_6_Conditional_19_Template(rf,
|
|
|
65
71
|
i0.ɵɵadvance();
|
|
66
72
|
i0.ɵɵtextInterpolate(ctx_r1.Error);
|
|
67
73
|
} }
|
|
68
|
-
function
|
|
74
|
+
function DealActivityTimelineComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
69
75
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
70
76
|
i0.ɵɵelementStart(0, "form", 10);
|
|
71
|
-
i0.ɵɵlistener("ngSubmit", function
|
|
77
|
+
i0.ɵɵlistener("ngSubmit", function DealActivityTimelineComponent_Conditional_4_Template_form_ngSubmit_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Save()); });
|
|
72
78
|
i0.ɵɵelementStart(1, "label", 11)(2, "span");
|
|
73
79
|
i0.ɵɵtext(3, "Type");
|
|
74
80
|
i0.ɵɵelementEnd();
|
|
75
81
|
i0.ɵɵelementStart(4, "select", 12);
|
|
76
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
77
|
-
i0.ɵɵrepeaterCreate(5,
|
|
82
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DealActivityTimelineComponent_Conditional_4_Template_select_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.DraftTypeCode, $event) || (ctx_r1.DraftTypeCode = $event); return i0.ɵɵresetView($event); });
|
|
83
|
+
i0.ɵɵrepeaterCreate(5, DealActivityTimelineComponent_Conditional_4_For_6_Template, 2, 2, "option", 13, i0.ɵɵrepeaterTrackByIdentity);
|
|
78
84
|
i0.ɵɵelementEnd()();
|
|
79
85
|
i0.ɵɵelementStart(7, "label", 14)(8, "span");
|
|
80
86
|
i0.ɵɵtext(9, "Subject");
|
|
81
87
|
i0.ɵɵelementEnd();
|
|
82
88
|
i0.ɵɵelementStart(10, "input", 15);
|
|
83
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
89
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DealActivityTimelineComponent_Conditional_4_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.DraftTitle, $event) || (ctx_r1.DraftTitle = $event); return i0.ɵɵresetView($event); });
|
|
84
90
|
i0.ɵɵelementEnd()();
|
|
85
91
|
i0.ɵɵelementStart(11, "label", 14)(12, "span");
|
|
86
92
|
i0.ɵɵtext(13, "Notes");
|
|
87
93
|
i0.ɵɵelementEnd();
|
|
88
94
|
i0.ɵɵelementStart(14, "textarea", 16);
|
|
89
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
95
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DealActivityTimelineComponent_Conditional_4_Template_textarea_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.DraftNotes, $event) || (ctx_r1.DraftNotes = $event); return i0.ɵɵresetView($event); });
|
|
90
96
|
i0.ɵɵelementEnd()();
|
|
91
97
|
i0.ɵɵelementStart(15, "label", 11)(16, "span");
|
|
92
98
|
i0.ɵɵtext(17, "When");
|
|
93
99
|
i0.ɵɵelementEnd();
|
|
94
100
|
i0.ɵɵelementStart(18, "input", 17);
|
|
95
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
101
|
+
i0.ɵɵtwoWayListener("ngModelChange", function DealActivityTimelineComponent_Conditional_4_Template_input_ngModelChange_18_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.DraftWhen, $event) || (ctx_r1.DraftWhen = $event); return i0.ɵɵresetView($event); });
|
|
96
102
|
i0.ɵɵelementEnd()();
|
|
97
|
-
i0.ɵɵconditionalCreate(19,
|
|
103
|
+
i0.ɵɵconditionalCreate(19, DealActivityTimelineComponent_Conditional_4_Conditional_19_Template, 2, 1, "p", 18);
|
|
98
104
|
i0.ɵɵelementStart(20, "div", 19)(21, "button", 20);
|
|
99
105
|
i0.ɵɵtext(22);
|
|
100
106
|
i0.ɵɵelementEnd();
|
|
101
107
|
i0.ɵɵelementStart(23, "button", 21);
|
|
102
|
-
i0.ɵɵlistener("click", function
|
|
108
|
+
i0.ɵɵlistener("click", function DealActivityTimelineComponent_Conditional_4_Template_button_click_23_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.CancelAdd()); });
|
|
103
109
|
i0.ɵɵtext(24, " Cancel ");
|
|
104
110
|
i0.ɵɵelementEnd()()();
|
|
105
111
|
} if (rf & 2) {
|
|
@@ -123,15 +129,15 @@ function DealActivityTimelineComponent_Conditional_6_Template(rf, ctx) { if (rf
|
|
|
123
129
|
i0.ɵɵadvance();
|
|
124
130
|
i0.ɵɵproperty("disabled", ctx_r1.Saving);
|
|
125
131
|
} }
|
|
126
|
-
function
|
|
132
|
+
function DealActivityTimelineComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
127
133
|
i0.ɵɵelement(0, "mj-loading");
|
|
128
134
|
} }
|
|
129
|
-
function
|
|
130
|
-
i0.ɵɵelementStart(0, "p",
|
|
135
|
+
function DealActivityTimelineComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
136
|
+
i0.ɵɵelementStart(0, "p", 5);
|
|
131
137
|
i0.ɵɵtext(1, "Nothing logged on this deal yet.");
|
|
132
138
|
i0.ɵɵelementEnd();
|
|
133
139
|
} }
|
|
134
|
-
function
|
|
140
|
+
function DealActivityTimelineComponent_Conditional_7_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
135
141
|
i0.ɵɵelementStart(0, "span", 27);
|
|
136
142
|
i0.ɵɵelement(1, "i", 31);
|
|
137
143
|
i0.ɵɵtext(2);
|
|
@@ -142,13 +148,13 @@ function DealActivityTimelineComponent_Conditional_9_For_2_Conditional_8_Templat
|
|
|
142
148
|
i0.ɵɵadvance(2);
|
|
143
149
|
i0.ɵɵtextInterpolate1(" ", row_r5.SourceSystem, " ");
|
|
144
150
|
} }
|
|
145
|
-
function
|
|
151
|
+
function DealActivityTimelineComponent_Conditional_7_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
146
152
|
i0.ɵɵelementStart(0, "span", 28);
|
|
147
153
|
i0.ɵɵelement(1, "i", 32);
|
|
148
154
|
i0.ɵɵtext(2, " logged ");
|
|
149
155
|
i0.ɵɵelementEnd();
|
|
150
156
|
} }
|
|
151
|
-
function
|
|
157
|
+
function DealActivityTimelineComponent_Conditional_7_For_2_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
152
158
|
i0.ɵɵelementStart(0, "p", 30);
|
|
153
159
|
i0.ɵɵtext(1);
|
|
154
160
|
i0.ɵɵelementEnd();
|
|
@@ -157,7 +163,7 @@ function DealActivityTimelineComponent_Conditional_9_For_2_Conditional_12_Templa
|
|
|
157
163
|
i0.ɵɵadvance();
|
|
158
164
|
i0.ɵɵtextInterpolate(row_r5.Description);
|
|
159
165
|
} }
|
|
160
|
-
function
|
|
166
|
+
function DealActivityTimelineComponent_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
161
167
|
i0.ɵɵelementStart(0, "li", 22)(1, "div", 23);
|
|
162
168
|
i0.ɵɵtext(2);
|
|
163
169
|
i0.ɵɵpipe(3, "date");
|
|
@@ -165,12 +171,12 @@ function DealActivityTimelineComponent_Conditional_9_For_2_Template(rf, ctx) { i
|
|
|
165
171
|
i0.ɵɵelementStart(4, "div", 24)(5, "div", 25)(6, "span", 26);
|
|
166
172
|
i0.ɵɵtext(7);
|
|
167
173
|
i0.ɵɵelementEnd();
|
|
168
|
-
i0.ɵɵconditionalCreate(8,
|
|
174
|
+
i0.ɵɵconditionalCreate(8, DealActivityTimelineComponent_Conditional_7_For_2_Conditional_8_Template, 3, 2, "span", 27)(9, DealActivityTimelineComponent_Conditional_7_For_2_Conditional_9_Template, 3, 0, "span", 28);
|
|
169
175
|
i0.ɵɵelementEnd();
|
|
170
176
|
i0.ɵɵelementStart(10, "div", 29);
|
|
171
177
|
i0.ɵɵtext(11);
|
|
172
178
|
i0.ɵɵelementEnd();
|
|
173
|
-
i0.ɵɵconditionalCreate(12,
|
|
179
|
+
i0.ɵɵconditionalCreate(12, DealActivityTimelineComponent_Conditional_7_For_2_Conditional_12_Template, 2, 1, "p", 30);
|
|
174
180
|
i0.ɵɵelementEnd()();
|
|
175
181
|
} if (rf & 2) {
|
|
176
182
|
const row_r5 = ctx.$implicit;
|
|
@@ -185,9 +191,9 @@ function DealActivityTimelineComponent_Conditional_9_For_2_Template(rf, ctx) { i
|
|
|
185
191
|
i0.ɵɵadvance();
|
|
186
192
|
i0.ɵɵconditional(row_r5.Description ? 12 : -1);
|
|
187
193
|
} }
|
|
188
|
-
function
|
|
189
|
-
i0.ɵɵelementStart(0, "ol",
|
|
190
|
-
i0.ɵɵrepeaterCreate(1,
|
|
194
|
+
function DealActivityTimelineComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
195
|
+
i0.ɵɵelementStart(0, "ol", 6);
|
|
196
|
+
i0.ɵɵrepeaterCreate(1, DealActivityTimelineComponent_Conditional_7_For_2_Template, 13, 9, "li", 22, _forTrack0);
|
|
191
197
|
i0.ɵɵelementEnd();
|
|
192
198
|
} if (rf & 2) {
|
|
193
199
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -204,10 +210,18 @@ const LOG_ACTIVITY_ACTION = 'Log Activity';
|
|
|
204
210
|
const LOGGABLE_CODES = ['Call', 'Meeting', 'Note', 'Email'];
|
|
205
211
|
export class DealActivityTimelineComponent {
|
|
206
212
|
cdr = inject(ChangeDetectorRef);
|
|
213
|
+
/**
|
|
214
|
+
* When true, only the compose form is shown — the list is owned by `mj-entity-viewer`
|
|
215
|
+
* on the Deal form Activity section.
|
|
216
|
+
*/
|
|
217
|
+
ComposeOnly = false;
|
|
207
218
|
/** Setting this loads the timeline. Null means no deal is open, so there is nothing to show. */
|
|
208
219
|
set DealID(value) {
|
|
209
220
|
this.dealID = value;
|
|
210
|
-
|
|
221
|
+
queueMicrotask(() => {
|
|
222
|
+
if (!this.ComposeOnly)
|
|
223
|
+
void this.Load();
|
|
224
|
+
});
|
|
211
225
|
}
|
|
212
226
|
get DealID() {
|
|
213
227
|
return this.dealID;
|
|
@@ -381,6 +395,11 @@ export class DealActivityTimelineComponent {
|
|
|
381
395
|
}
|
|
382
396
|
/** Newest first, by when it HAPPENED rather than when it was filed. */
|
|
383
397
|
async Load() {
|
|
398
|
+
if (this.ComposeOnly) {
|
|
399
|
+
this.Rows = [];
|
|
400
|
+
this.cdr.detectChanges();
|
|
401
|
+
return;
|
|
402
|
+
}
|
|
384
403
|
if (!this.dealID) {
|
|
385
404
|
this.Rows = [];
|
|
386
405
|
this.cdr.detectChanges();
|
|
@@ -437,23 +456,23 @@ export class DealActivityTimelineComponent {
|
|
|
437
456
|
}
|
|
438
457
|
}
|
|
439
458
|
static ɵfac = function DealActivityTimelineComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DealActivityTimelineComponent)(); };
|
|
440
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DealActivityTimelineComponent, selectors: [["mjs-deal-activity-timeline"]], inputs: { DealID: "DealID" }, outputs: { Logged: "Logged" }, decls:
|
|
441
|
-
i0.ɵɵelementStart(0, "section", 0)(1, "header", 1)
|
|
442
|
-
i0.ɵɵ
|
|
443
|
-
i0.ɵɵ
|
|
459
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DealActivityTimelineComponent, selectors: [["mjs-deal-activity-timeline"]], inputs: { ComposeOnly: "ComposeOnly", DealID: "DealID" }, outputs: { Logged: "Logged" }, decls: 8, vars: 4, consts: [[1, "dat"], [1, "dat__head"], [1, "dat__title"], ["type", "button", 1, "dat__add", 3, "disabled"], [1, "dat__form"], [1, "dat__empty"], [1, "dat__list"], ["aria-hidden", "true", 1, "fa-solid", "fa-clock-rotate-left"], ["type", "button", 1, "dat__add", 3, "click", "disabled"], ["aria-hidden", "true", 1, "fa-solid", "fa-plus"], [1, "dat__form", 3, "ngSubmit"], [1, "dat__field"], ["name", "type", 3, "ngModelChange", "ngModel"], [3, "value"], [1, "dat__field", "dat__field--wide"], ["type", "text", "name", "title", "maxlength", "500", 3, "ngModelChange", "ngModel"], ["name", "notes", "rows", "3", 3, "ngModelChange", "ngModel"], ["type", "datetime-local", "name", "when", 3, "ngModelChange", "ngModel"], [1, "dat__error"], [1, "dat__actions"], ["type", "submit", 1, "dat__save", 3, "disabled"], ["type", "button", 1, "dat__cancel", 3, "click", "disabled"], [1, "dat__item"], [1, "dat__when"], [1, "dat__body"], [1, "dat__row"], [1, "dat__type"], [1, "dat__badge", "dat__badge--sync", 3, "title"], ["title", "Logged by a person", 1, "dat__badge"], [1, "dat__subject"], [1, "dat__notes"], ["aria-hidden", "true", 1, "fa-solid", "fa-inbox"], ["aria-hidden", "true", 1, "fa-solid", "fa-pen"]], template: function DealActivityTimelineComponent_Template(rf, ctx) { if (rf & 1) {
|
|
460
|
+
i0.ɵɵelementStart(0, "section", 0)(1, "header", 1);
|
|
461
|
+
i0.ɵɵconditionalCreate(2, DealActivityTimelineComponent_Conditional_2_Template, 3, 0, "h3", 2);
|
|
462
|
+
i0.ɵɵconditionalCreate(3, DealActivityTimelineComponent_Conditional_3_Template, 3, 1, "button", 3);
|
|
444
463
|
i0.ɵɵelementEnd();
|
|
445
|
-
i0.ɵɵconditionalCreate(
|
|
446
|
-
i0.ɵɵ
|
|
447
|
-
i0.ɵɵconditionalCreate(6, DealActivityTimelineComponent_Conditional_6_Template, 25, 8, "form", 5);
|
|
448
|
-
i0.ɵɵconditionalCreate(7, DealActivityTimelineComponent_Conditional_7_Template, 1, 0, "mj-loading")(8, DealActivityTimelineComponent_Conditional_8_Template, 2, 0, "p", 6)(9, DealActivityTimelineComponent_Conditional_9_Template, 3, 0, "ol", 7);
|
|
464
|
+
i0.ɵɵconditionalCreate(4, DealActivityTimelineComponent_Conditional_4_Template, 25, 8, "form", 4);
|
|
465
|
+
i0.ɵɵconditionalCreate(5, DealActivityTimelineComponent_Conditional_5_Template, 1, 0, "mj-loading")(6, DealActivityTimelineComponent_Conditional_6_Template, 2, 0, "p", 5)(7, DealActivityTimelineComponent_Conditional_7_Template, 3, 0, "ol", 6);
|
|
449
466
|
i0.ɵɵelementEnd();
|
|
450
467
|
} if (rf & 2) {
|
|
451
|
-
i0.ɵɵadvance(
|
|
452
|
-
i0.ɵɵconditional(!ctx.
|
|
468
|
+
i0.ɵɵadvance(2);
|
|
469
|
+
i0.ɵɵconditional(!ctx.ComposeOnly ? 2 : -1);
|
|
470
|
+
i0.ɵɵadvance();
|
|
471
|
+
i0.ɵɵconditional(!ctx.Adding ? 3 : -1);
|
|
453
472
|
i0.ɵɵadvance();
|
|
454
|
-
i0.ɵɵconditional(ctx.Adding ?
|
|
473
|
+
i0.ɵɵconditional(ctx.Adding ? 4 : -1);
|
|
455
474
|
i0.ɵɵadvance();
|
|
456
|
-
i0.ɵɵconditional(ctx.Loading ?
|
|
475
|
+
i0.ɵɵconditional(!ctx.ComposeOnly && ctx.Loading ? 5 : !ctx.ComposeOnly && ctx.Rows.length === 0 ? 6 : !ctx.ComposeOnly ? 7 : -1);
|
|
457
476
|
} }, dependencies: [CommonModule, FormsModule, i1.ɵNgNoValidate, i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.MaxLengthValidator, i1.NgModel, i1.NgForm, SharedGenericModule, i2.LoadingComponent, i3.DatePipe], styles: [".dat[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 12px; }\n .dat__head[_ngcontent-%COMP%] { display: flex; align-items: center; justify-content: space-between; gap: 12px; }\n .dat__title[_ngcontent-%COMP%] {\n display: flex; align-items: center; gap: 8px; margin: 0;\n font-size: 0.9375rem; color: var(--mj-text-primary);\n }\n .dat__add[_ngcontent-%COMP%], .dat__save[_ngcontent-%COMP%], .dat__cancel[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-color); border-radius: 4px;\n background: var(--mj-surface-raised); color: var(--mj-text-primary);\n padding: 5px 11px; font-size: 0.8125rem; cursor: pointer;\n }\n .dat__save[_ngcontent-%COMP%] { background: var(--mj-accent-primary); color: var(--mj-text-inverse); border-color: transparent; }\n .dat__add[_ngcontent-%COMP%]:disabled, .dat__save[_ngcontent-%COMP%]:disabled, .dat__cancel[_ngcontent-%COMP%]:disabled { opacity: 0.55; cursor: default; }\n .dat__form[_ngcontent-%COMP%] {\n display: flex; flex-wrap: wrap; gap: 10px;\n border: 1px solid var(--mj-border-color); border-radius: 4px;\n padding: 12px; background: var(--mj-surface-sunken);\n }\n .dat__field[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 4px; font-size: 0.75rem; flex: 1 1 160px; }\n .dat__field--wide[_ngcontent-%COMP%] { flex: 1 1 100%; }\n .dat__field[_ngcontent-%COMP%] span[_ngcontent-%COMP%] { color: var(--mj-text-secondary); }\n .dat__field[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .dat__field[_ngcontent-%COMP%] select[_ngcontent-%COMP%], .dat__field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-color); border-radius: 3px;\n background: var(--mj-surface-raised); color: var(--mj-text-primary);\n padding: 5px 7px; font: inherit; font-size: 0.8125rem;\n }\n .dat__actions[_ngcontent-%COMP%] { display: flex; gap: 8px; flex: 1 1 100%; }\n .dat__error[_ngcontent-%COMP%] { flex: 1 1 100%; margin: 0; color: var(--mj-status-error); font-size: 0.8125rem; }\n .dat__empty[_ngcontent-%COMP%] { margin: 0; color: var(--mj-text-muted); font-size: 0.8125rem; }\n .dat__list[_ngcontent-%COMP%] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }\n .dat__item[_ngcontent-%COMP%] {\n display: flex; gap: 12px;\n border-left: 2px solid var(--mj-border-color); padding-left: 12px;\n }\n .dat__when[_ngcontent-%COMP%] {\n flex: 0 0 auto; font-size: 0.75rem; color: var(--mj-text-muted);\n font-variant-numeric: tabular-nums; min-width: 11ch;\n }\n .dat__body[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 3px; min-width: 0; }\n .dat__row[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }\n .dat__type[_ngcontent-%COMP%] { font-size: 0.75rem; color: var(--mj-text-secondary); text-transform: uppercase; letter-spacing: 0.06em; }\n .dat__badge[_ngcontent-%COMP%] { font-size: 0.6875rem; color: var(--mj-text-muted); display: inline-flex; align-items: center; gap: 4px; }\n .dat__badge--sync[_ngcontent-%COMP%] { color: var(--mj-accent-primary); }\n .dat__subject[_ngcontent-%COMP%] { font-size: 0.875rem; color: var(--mj-text-primary); }\n .dat__notes[_ngcontent-%COMP%] { margin: 0; font-size: 0.8125rem; color: var(--mj-text-secondary); white-space: pre-wrap; }"] });
|
|
458
477
|
}
|
|
459
478
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DealActivityTimelineComponent, [{
|
|
@@ -461,10 +480,12 @@ export class DealActivityTimelineComponent {
|
|
|
461
480
|
args: [{ selector: 'mjs-deal-activity-timeline', standalone: true, imports: [CommonModule, FormsModule, SharedGenericModule], template: `
|
|
462
481
|
<section class="dat">
|
|
463
482
|
<header class="dat__head">
|
|
464
|
-
|
|
465
|
-
<
|
|
466
|
-
|
|
467
|
-
|
|
483
|
+
@if (!ComposeOnly) {
|
|
484
|
+
<h3 class="dat__title">
|
|
485
|
+
<i class="fa-solid fa-clock-rotate-left" aria-hidden="true"></i>
|
|
486
|
+
Activity
|
|
487
|
+
</h3>
|
|
488
|
+
}
|
|
468
489
|
@if (!Adding) {
|
|
469
490
|
<button type="button" class="dat__add" (click)="StartAdd()" [disabled]="!DealID">
|
|
470
491
|
<i class="fa-solid fa-plus" aria-hidden="true"></i> Log activity
|
|
@@ -512,11 +533,11 @@ export class DealActivityTimelineComponent {
|
|
|
512
533
|
</form>
|
|
513
534
|
}
|
|
514
535
|
|
|
515
|
-
@if (Loading) {
|
|
536
|
+
@if (!ComposeOnly && Loading) {
|
|
516
537
|
<mj-loading></mj-loading>
|
|
517
|
-
} @else if (Rows.length === 0) {
|
|
538
|
+
} @else if (!ComposeOnly && Rows.length === 0) {
|
|
518
539
|
<p class="dat__empty">Nothing logged on this deal yet.</p>
|
|
519
|
-
} @else {
|
|
540
|
+
} @else if (!ComposeOnly) {
|
|
520
541
|
<ol class="dat__list">
|
|
521
542
|
@for (row of Rows; track row.ID) {
|
|
522
543
|
<li class="dat__item">
|
|
@@ -551,12 +572,14 @@ export class DealActivityTimelineComponent {
|
|
|
551
572
|
}
|
|
552
573
|
</section>
|
|
553
574
|
`, styles: ["\n .dat { display: flex; flex-direction: column; gap: 12px; }\n .dat__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }\n .dat__title {\n display: flex; align-items: center; gap: 8px; margin: 0;\n font-size: 0.9375rem; color: var(--mj-text-primary);\n }\n .dat__add, .dat__save, .dat__cancel {\n border: 1px solid var(--mj-border-color); border-radius: 4px;\n background: var(--mj-surface-raised); color: var(--mj-text-primary);\n padding: 5px 11px; font-size: 0.8125rem; cursor: pointer;\n }\n .dat__save { background: var(--mj-accent-primary); color: var(--mj-text-inverse); border-color: transparent; }\n .dat__add:disabled, .dat__save:disabled, .dat__cancel:disabled { opacity: 0.55; cursor: default; }\n .dat__form {\n display: flex; flex-wrap: wrap; gap: 10px;\n border: 1px solid var(--mj-border-color); border-radius: 4px;\n padding: 12px; background: var(--mj-surface-sunken);\n }\n .dat__field { display: flex; flex-direction: column; gap: 4px; font-size: 0.75rem; flex: 1 1 160px; }\n .dat__field--wide { flex: 1 1 100%; }\n .dat__field span { color: var(--mj-text-secondary); }\n .dat__field input, .dat__field select, .dat__field textarea {\n border: 1px solid var(--mj-border-color); border-radius: 3px;\n background: var(--mj-surface-raised); color: var(--mj-text-primary);\n padding: 5px 7px; font: inherit; font-size: 0.8125rem;\n }\n .dat__actions { display: flex; gap: 8px; flex: 1 1 100%; }\n .dat__error { flex: 1 1 100%; margin: 0; color: var(--mj-status-error); font-size: 0.8125rem; }\n .dat__empty { margin: 0; color: var(--mj-text-muted); font-size: 0.8125rem; }\n .dat__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }\n .dat__item {\n display: flex; gap: 12px;\n border-left: 2px solid var(--mj-border-color); padding-left: 12px;\n }\n .dat__when {\n flex: 0 0 auto; font-size: 0.75rem; color: var(--mj-text-muted);\n font-variant-numeric: tabular-nums; min-width: 11ch;\n }\n .dat__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }\n .dat__row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }\n .dat__type { font-size: 0.75rem; color: var(--mj-text-secondary); text-transform: uppercase; letter-spacing: 0.06em; }\n .dat__badge { font-size: 0.6875rem; color: var(--mj-text-muted); display: inline-flex; align-items: center; gap: 4px; }\n .dat__badge--sync { color: var(--mj-accent-primary); }\n .dat__subject { font-size: 0.875rem; color: var(--mj-text-primary); }\n .dat__notes { margin: 0; font-size: 0.8125rem; color: var(--mj-text-secondary); white-space: pre-wrap; }\n "] }]
|
|
554
|
-
}], null, {
|
|
575
|
+
}], null, { ComposeOnly: [{
|
|
576
|
+
type: Input
|
|
577
|
+
}], DealID: [{
|
|
555
578
|
type: Input
|
|
556
579
|
}], Logged: [{
|
|
557
580
|
type: Output
|
|
558
581
|
}] }); })();
|
|
559
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DealActivityTimelineComponent, { className: "DealActivityTimelineComponent", filePath: "lib/activities/deal-activity-timeline.component.ts", lineNumber:
|
|
582
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DealActivityTimelineComponent, { className: "DealActivityTimelineComponent", filePath: "lib/activities/deal-activity-timeline.component.ts", lineNumber: 213 }); })();
|
|
560
583
|
function escape(value) {
|
|
561
584
|
return String(value).replace(/'/g, "''");
|
|
562
585
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deal-activity-timeline.component.js","sourceRoot":"","sources":["../../../src/lib/activities/deal-activity-timeline.component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAA0B,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAA4B,MAAM,sCAAsC,CAAC;AAOrG,wEAAwE;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC
|
|
1
|
+
{"version":3,"file":"deal-activity-timeline.component.js","sourceRoot":"","sources":["../../../src/lib/activities/deal-activity-timeline.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,7 +105,7 @@ export declare class DealBoardComponent {
|
|
|
105
105
|
Pipelines: PipelineLookup[];
|
|
106
106
|
Stages: StageLookup[];
|
|
107
107
|
DealStatusTypes: DealStatusLookup[];
|
|
108
|
-
/** A card was clicked — the section opens it
|
|
108
|
+
/** A card was clicked — the section opens it as an Explorer record tab. */
|
|
109
109
|
readonly DealOpened: EventEmitter<DealRosterRow>;
|
|
110
110
|
/** A move persisted; the section re-reads the roster so every page sees the new stage. */
|
|
111
111
|
readonly StageMoved: EventEmitter<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deal-board.component.d.ts","sourceRoot":"","sources":["../../../src/lib/board/deal-board.component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAW,WAAW,EAAe,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAGH,YAAY,EAIf,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;;AAEvG;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,GAAG,IAAI,CAU/E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C,0FAA0F;AAC1F,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,oGAAoG;IACpG,aAAa,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,qGAAqG;IACrG,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,qBAOa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IAEjD,oGAAoG;IACpF,KAAK,EAAE,aAAa,EAAE,CAAM;IAC5B,SAAS,EAAE,cAAc,EAAE,CAAM;IACjC,MAAM,EAAE,WAAW,EAAE,CAAM;IAC3B,eAAe,EAAE,gBAAgB,EAAE,CAAM;IAEzD,
|
|
1
|
+
{"version":3,"file":"deal-board.component.d.ts","sourceRoot":"","sources":["../../../src/lib/board/deal-board.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -212,7 +212,7 @@ function DealBoardComponent_Conditional_10_For_2_For_13_Template(rf, ctx) { if (
|
|
|
212
212
|
i0.ɵɵtextInterpolate(deal_r7.ExpectedCloseDate ? i0.ɵɵpipeBind2(17, 10, deal_r7.ExpectedCloseDate, "MMM d, y") : "No date");
|
|
213
213
|
} }
|
|
214
214
|
function DealBoardComponent_Conditional_10_For_2_Conditional_14_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
215
|
-
i0.ɵɵtext(0, " Close deals from the
|
|
215
|
+
i0.ɵɵtext(0, " Close deals from the deal form. ");
|
|
216
216
|
} }
|
|
217
217
|
function DealBoardComponent_Conditional_10_For_2_Conditional_14_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
218
218
|
i0.ɵɵtext(0, " Nothing here. ");
|
|
@@ -339,7 +339,7 @@ export class DealBoardComponent {
|
|
|
339
339
|
Pipelines = [];
|
|
340
340
|
Stages = [];
|
|
341
341
|
DealStatusTypes = [];
|
|
342
|
-
/** A card was clicked — the section opens it
|
|
342
|
+
/** A card was clicked — the section opens it as an Explorer record tab. */
|
|
343
343
|
DealOpened = new EventEmitter();
|
|
344
344
|
/** A move persisted; the section re-reads the roster so every page sees the new stage. */
|
|
345
345
|
StageMoved = new EventEmitter();
|
|
@@ -583,7 +583,7 @@ export class DealBoardComponent {
|
|
|
583
583
|
}
|
|
584
584
|
TrackColumn = (_, column) => column.StageID;
|
|
585
585
|
static ɵfac = function DealBoardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DealBoardComponent)(); };
|
|
586
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DealBoardComponent, selectors: [["mjs-deal-board"]], inputs: { Deals: "Deals", Pipelines: "Pipelines", Stages: "Stages", DealStatusTypes: "DealStatusTypes" }, outputs: { DealOpened: "DealOpened", StageMoved: "StageMoved" }, decls: 11, vars: 3, consts: [[1, "db"], [1, "db-bar"], [1, "db-bar__label"], ["role", "tablist", "aria-label", "Pipeline", 1, "db-bar__pipes"], ["type", "button", "role", "tab", 1, "db-pipe", 3, "db-pipe--on"], [1, "db-bar__busy"], ["role", "status", 1, "db-msg"], [1, "db-empty"], ["type", "button", "role", "tab", 1, "db-pipe", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-spinner", "fa-spin"], ["aria-hidden", "true", 1, "fa-solid", "fa-circle-info"], [1, "db-cols"], [1, "db-col", 3, "db-col--closing"], [1, "db-unstaged"], [1, "db-col"], [1, "db-col__head"], [1, "db-col__name"], ["aria-hidden", "true", "title", "Arriving here closes and locks the deal \u2014 close it from the
|
|
586
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DealBoardComponent, selectors: [["mjs-deal-board"]], inputs: { Deals: "Deals", Pipelines: "Pipelines", Stages: "Stages", DealStatusTypes: "DealStatusTypes" }, outputs: { DealOpened: "DealOpened", StageMoved: "StageMoved" }, decls: 11, vars: 3, consts: [[1, "db"], [1, "db-bar"], [1, "db-bar__label"], ["role", "tablist", "aria-label", "Pipeline", 1, "db-bar__pipes"], ["type", "button", "role", "tab", 1, "db-pipe", 3, "db-pipe--on"], [1, "db-bar__busy"], ["role", "status", 1, "db-msg"], [1, "db-empty"], ["type", "button", "role", "tab", 1, "db-pipe", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-spinner", "fa-spin"], ["aria-hidden", "true", 1, "fa-solid", "fa-circle-info"], [1, "db-cols"], [1, "db-col", 3, "db-col--closing"], [1, "db-unstaged"], [1, "db-col"], [1, "db-col__head"], [1, "db-col__name"], ["aria-hidden", "true", "title", "Arriving here closes and locks the deal \u2014 close it from the deal form.", 1, "fa-solid", "fa-lock", "db-col__lock"], [1, "db-col__meta"], [1, "db-col__count"], ["title", "This stage holds deals in more than one currency, so a single total would be meaningless.", 1, "db-col__total", "db-col__total--mixed"], [1, "db-col__total", 3, "db-col__total--stated"], [1, "db-col__partial", 3, "title"], ["cdkDropList", "", 1, "db-col__drop", 3, "cdkDropListDropped", "id", "cdkDropListData", "cdkDropListConnectedTo", "cdkDropListEnterPredicate"], ["cdkDrag", "", "tabindex", "0", "role", "button", 1, "db-card", 3, "cdkDragData", "cdkDragDisabled"], [1, "db-col__empty"], [1, "db-col__total"], ["aria-hidden", "true", 1, "fa-solid", "fa-pen-nib"], ["cdkDrag", "", "tabindex", "0", "role", "button", 1, "db-card", 3, "click", "keydown.enter", "cdkDragData", "cdkDragDisabled"], [1, "db-card__name"], [1, "db-card__customer"], ["aria-hidden", "true", 1, "fa-solid", "fa-building"], [1, "db-card__figures"], [1, "db-card__amount"], ["title", "No amount recorded yet", 1, "db-card__noamount"], [1, "db-card__prob"], [1, "db-card__foot"], [1, "db-card__owner"], [1, "db-card__close"], ["class", "db-card__ghost", 4, "cdkDragPreview"], ["aria-hidden", "true", "title", "Priced by the orders engine", 1, "fa-solid", "fa-calculator", "db-card__computed"], ["aria-hidden", "true", "title", "Stated by a person, not priced by the orders engine", 1, "fa-solid", "fa-pen-nib", "db-card__stated"], [1, "db-card__ghost"], [1, "db-unstaged__head"], ["aria-hidden", "true", 1, "fa-solid", "fa-circle-question"], [1, "db-unstaged__list"], ["type", "button", 1, "db-chip"], ["type", "button", 1, "db-chip", 3, "click"]], template: function DealBoardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
587
587
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "span", 2);
|
|
588
588
|
i0.ɵɵtext(3, "Pipeline");
|
|
589
589
|
i0.ɵɵelementEnd();
|
|
@@ -608,7 +608,7 @@ export class DealBoardComponent {
|
|
|
608
608
|
}
|
|
609
609
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DealBoardComponent, [{
|
|
610
610
|
type: Component,
|
|
611
|
-
args: [{ selector: 'mjs-deal-board', standalone: true, imports: [CommonModule, CdkDropList, CdkDrag], template: "<!--\n The pipeline board. Columns are stages in DisplayOrder; cards are deals.\n\n A closing column renders disabled with a hint rather than being hidden: hiding it would make the board\n lie about the pipeline's shape, and a rep looking for \"where do won deals go\" needs to see that the\n answer is \"not by dragging\".\n-->\n<div class=\"db\">\n\n <!-- Pipeline switcher. A pipeline defines the stages, so this is the board's one real control. -->\n <div class=\"db-bar\">\n <span class=\"db-bar__label\">Pipeline</span>\n <div class=\"db-bar__pipes\" role=\"tablist\" aria-label=\"Pipeline\">\n @for (pipeline of Pipelines; track pipeline.ID) {\n <button\n type=\"button\"\n role=\"tab\"\n class=\"db-pipe\"\n [class.db-pipe--on]=\"pipeline.ID === ActivePipelineID\"\n [attr.aria-selected]=\"pipeline.ID === ActivePipelineID\"\n (click)=\"SelectPipeline(pipeline.ID)\">\n {{ pipeline.Name }}\n </button>\n }\n </div>\n @if (Moving) {\n <span class=\"db-bar__busy\"><i class=\"fa-solid fa-spinner fa-spin\" aria-hidden=\"true\"></i> Moving\u2026</span>\n }\n </div>\n\n @if (Message) {\n <p class=\"db-msg\" role=\"status\">\n <i class=\"fa-solid fa-circle-info\" aria-hidden=\"true\"></i> {{ Message }}\n </p>\n }\n\n @if (Columns.length === 0) {\n <p class=\"db-empty\">This pipeline has no stages yet.</p>\n } @else {\n <div class=\"db-cols\">\n @for (column of Columns; track TrackColumn($index, column)) {\n <section\n class=\"db-col\"\n [class.db-col--closing]=\"column.IsClosing\"\n [attr.aria-label]=\"column.Label\">\n\n <header class=\"db-col__head\">\n <span class=\"db-col__name\">\n {{ column.Label }}\n @if (column.IsClosing) {\n <i class=\"fa-solid fa-lock db-col__lock\"\n aria-hidden=\"true\"\n title=\"Arriving here closes and locks the deal \u2014 close it from the workspace.\"></i>\n }\n </span>\n <span class=\"db-col__meta\">\n <span class=\"db-col__count\">{{ column.Cards.length }}</span>\n <!--\n A SUM of stored Deal.Amount values. This app prices nothing; the marker says whether the\n ORDERS engine did, and the currency question is separate from the provenance question.\n\n NO TOTAL WHEN THE COLUMN MIXES CURRENCIES. Adding EUR to USD produces a number that is\n wrong in a way nobody can see; an absent figure prompts a question instead.\n\n UNIONED, and the board branch's half needed one correction to survive: it carried\n `currency:'USD'`, which is the hardcoding the currency work removed. The `--stated` class\n is its contribution and is kept; the literal is not.\n -->\n @if (column.MixedCurrency) {\n <span class=\"db-col__total db-col__total--mixed\"\n title=\"This stage holds deals in more than one currency, so a single total would be meaningless.\">\n mixed currencies\n </span>\n } @else {\n <span class=\"db-col__total\" [class.db-col__total--stated]=\"column.Unpriced > 0\">\n <!-- `?? DefaultCurrency` because Currency is null in two different situations and only\n one of them is \"mixed\": an EMPTY column has no currency to disagree about, and its\n total is 0. The mixed case never reaches here \u2014 it is the @if above. -->\n {{ column.Total | currency:(column.Currency ?? DefaultCurrency):'symbol':'1.0-0' }}\n </span>\n }\n </span>\n @if (column.Unpriced > 0) {\n <!--\n SAYS WHICH OF THE TWO IT IS. A total nobody priced and a total that is only partly\n priced are different claims, and collapsing them is how a stated figure passes for an\n authoritative one. The wording lives in PricingNote() -- a template expression cannot\n hold a sentence without becoming unreadable.\n -->\n <span class=\"db-col__partial\" [title]=\"PricingNote(column)\">\n <i class=\"fa-solid fa-pen-nib\" aria-hidden=\"true\"></i>\n @if (column.NonePriced) {\n stated, not priced\n } @else {\n {{ column.Unpriced }} of {{ column.Cards.length }} stated\n }\n </span>\n }\n </header>\n\n <div\n class=\"db-col__drop\"\n cdkDropList\n [id]=\"'col-' + column.StageID\"\n [cdkDropListData]=\"column\"\n [cdkDropListConnectedTo]=\"ColumnIDs\"\n [cdkDropListEnterPredicate]=\"CanDropInto(column)\"\n (cdkDropListDropped)=\"OnDrop($event, column)\">\n\n @for (deal of column.Cards; track TrackCard($index, deal)) {\n <article\n class=\"db-card\"\n cdkDrag\n [cdkDragData]=\"deal\"\n [cdkDragDisabled]=\"Moving\"\n (click)=\"OpenCard(deal)\"\n (keydown.enter)=\"OpenCard(deal)\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"'Open ' + deal.Name\">\n\n <div class=\"db-card__name\">{{ deal.Name }}</div>\n <div class=\"db-card__customer\">\n <i class=\"fa-solid fa-building\" aria-hidden=\"true\"></i> {{ deal.CustomerName }}\n </div>\n\n <div class=\"db-card__figures\">\n <span class=\"db-card__amount\">\n @if (deal.Amount === null) {\n <span class=\"db-card__noamount\" title=\"No amount recorded yet\">\u2014</span>\n } @else {\n {{ deal.Amount | currency:(deal.CurrencyID ?? DefaultCurrency):'symbol':'1.0-0' }}\n }\n <!--\n BOTH CASES ARE MARKED, and marking only one was the defect. A calculator on the\n priced figure and nothing on the stated one means the reader has to notice an\n ABSENCE to learn anything -- and on data where nothing is priced, no card carries\n a marker at all, so the whole board reads as authoritative. A positive mark on\n each says which it is without anyone having to know the convention.\n -->\n @if (deal.Amount !== null) {\n @if (deal.AmountIsComputed) {\n <i class=\"fa-solid fa-calculator db-card__computed\"\n aria-hidden=\"true\"\n title=\"Priced by the orders engine\"></i>\n } @else {\n <i class=\"fa-solid fa-pen-nib db-card__stated\"\n aria-hidden=\"true\"\n title=\"Stated by a person, not priced by the orders engine\"></i>\n }\n }\n </span>\n @if (deal.Probability !== null) {\n <span class=\"db-card__prob\">{{ deal.Probability }}%</span>\n }\n </div>\n\n <div class=\"db-card__foot\">\n <span class=\"db-card__owner\">{{ deal.OwnerEmployee ?? 'Unassigned' }}</span>\n <span class=\"db-card__close\">{{ deal.ExpectedCloseDate ? (deal.ExpectedCloseDate | date:'MMM d, y') : 'No date' }}</span>\n </div>\n\n <div class=\"db-card__ghost\" *cdkDragPreview>{{ deal.Name }}</div>\n </article>\n }\n\n @if (column.Cards.length === 0) {\n <p class=\"db-col__empty\">\n @if (column.IsClosing) { Close deals from the workspace. } @else { Nothing here. }\n </p>\n }\n </div>\n </section>\n }\n </div>\n\n @if (Unstaged.length > 0) {\n <!-- Deals with no stage would otherwise be invisible on a board built from stage columns, and\n \"missing from the board\" is indistinguishable from \"does not exist\". -->\n <section class=\"db-unstaged\">\n <h4 class=\"db-unstaged__head\">\n <i class=\"fa-solid fa-circle-question\" aria-hidden=\"true\"></i>\n No stage set ({{ Unstaged.length }})\n </h4>\n <div class=\"db-unstaged__list\">\n @for (deal of Unstaged; track TrackCard($index, deal)) {\n <button type=\"button\" class=\"db-chip\" (click)=\"OpenCard(deal)\">\n {{ deal.Name }}\n </button>\n }\n </div>\n </section>\n }\n }\n</div>\n", styles: ["/*\n Board styles.\n\n SEMANTIC TOKENS ONLY \u2014 the same `--mj-*` set the workspace uses, so the board inherits dark mode rather\n than needing its own. No hardcoded colour appears in this file.\n*/\n\n.db {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n min-height: 0;\n}\n\n/* \u2500\u2500 Pipeline switcher \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n.db-bar {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-wrap: wrap;\n}\n\n.db-bar__label {\n font-size: 0.8125rem;\n color: var(--mj-text-muted);\n}\n\n.db-bar__pipes {\n display: flex;\n gap: 0.25rem;\n}\n\n.db-bar__busy {\n font-size: 0.8125rem;\n color: var(--mj-text-secondary);\n}\n\n.db-pipe {\n padding: 0.3rem 0.75rem;\n border: 1px solid var(--mj-border-default);\n border-radius: 999px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n cursor: pointer;\n}\n\n.db-pipe:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.db-pipe--on {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n font-weight: 600;\n}\n\n.db-msg {\n margin: 0;\n padding: 0.5rem 0.75rem;\n border: 1px solid var(--mj-status-warning-border);\n border-radius: 4px;\n color: var(--mj-status-warning);\n font-size: 0.8125rem;\n}\n\n.db-empty {\n color: var(--mj-text-muted);\n font-size: 0.875rem;\n}\n\n/* \u2500\u2500 Columns \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n/*\n Horizontal scroll lives HERE rather than on the page: a board with eight stages must not make the whole\n shell scroll sideways, which would drag the rail and the header out of view.\n*/\n.db-cols {\n display: flex;\n gap: 0.75rem;\n overflow-x: auto;\n padding-bottom: 0.5rem;\n align-items: flex-start;\n}\n\n.db-col {\n flex: 0 0 15rem;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n min-height: 8rem;\n}\n\n/* A closing column is visibly inert \u2014 it accepts no drops, and should not invite one. */\n.db-col--closing {\n border-style: dashed;\n opacity: 0.75;\n}\n\n.db-col__head {\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n padding: 0.5rem 0.625rem;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.db-col__name {\n font-size: 0.8125rem;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 0.375rem;\n}\n\n.db-col__lock {\n color: var(--mj-text-muted);\n font-size: 0.6875rem;\n}\n\n.db-col__meta {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: 0.5rem;\n}\n\n.db-col__count {\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n\n.db-col__total {\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n font-variant-numeric: tabular-nums;\n}\n\n/* A total that nobody priced still reads as a figure -- this keeps it from reading as a FINAL one. */\n.db-col__total--stated {\n font-style: italic;\n}\n\n.db-col__partial {\n font-size: 0.6875rem;\n color: var(--mj-status-warning);\n}\n\n.db-col__drop {\n display: flex;\n flex-direction: column;\n gap: 0.375rem;\n padding: 0.5rem;\n min-height: 4rem;\n}\n\n.db-col__empty {\n margin: 0;\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n text-align: center;\n padding: 0.75rem 0.25rem;\n}\n\n/* \u2500\u2500 Cards \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n.db-card {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n padding: 0.5rem 0.625rem;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n.db-card:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.db-card:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 1px;\n}\n\n.db-card__name {\n font-size: 0.8125rem;\n font-weight: 600;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.db-card__customer {\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 0.3rem;\n}\n\n.db-card__figures {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: 0.5rem;\n}\n\n.db-card__amount {\n font-size: 0.8125rem;\n color: var(--mj-text-primary);\n font-variant-numeric: tabular-nums;\n display: flex;\n align-items: center;\n gap: 0.3rem;\n}\n\n/*\n * The two provenance markers are deliberately the SAME weight as each other.\n *\n * Making the stated one louder would read as an error, which it is not -- a stated amount is a\n * legitimate answer, just a different kind of fact from a priced one. Making it quieter would put us\n * back where we started, with the reader learning nothing unless they notice an absence.\n */\n.db-card__stated,\n.db-card__noamount,\n.db-card__computed {\n color: var(--mj-text-muted);\n font-size: 0.6875rem;\n}\n\n.db-card__prob {\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n\n.db-card__foot {\n display: flex;\n justify-content: space-between;\n gap: 0.5rem;\n font-size: 0.6875rem;\n color: var(--mj-text-muted);\n}\n\n.db-card__owner,\n.db-card__close {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.db-card__ghost {\n padding: 0.375rem 0.625rem;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-brand-primary);\n border-radius: 4px;\n font-size: 0.8125rem;\n color: var(--mj-text-primary);\n}\n\n/* \u2500\u2500 Unstaged \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n.db-unstaged {\n border-top: 1px solid var(--mj-border-default);\n padding-top: 0.625rem;\n}\n\n.db-unstaged__head {\n margin: 0 0 0.375rem;\n font-size: 0.75rem;\n font-weight: 600;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 0.375rem;\n}\n\n.db-unstaged__list {\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem;\n}\n\n.db-chip {\n padding: 0.25rem 0.625rem;\n border: 1px solid var(--mj-border-default);\n border-radius: 999px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 0.75rem;\n cursor: pointer;\n}\n\n.db-chip:hover {\n background: var(--mj-bg-surface-hover);\n}\n"] }]
|
|
611
|
+
args: [{ selector: 'mjs-deal-board', standalone: true, imports: [CommonModule, CdkDropList, CdkDrag], template: "<!--\n The pipeline board. Columns are stages in DisplayOrder; cards are deals.\n\n A closing column renders disabled with a hint rather than being hidden: hiding it would make the board\n lie about the pipeline's shape, and a rep looking for \"where do won deals go\" needs to see that the\n answer is \"not by dragging\".\n-->\n<div class=\"db\">\n\n <!-- Pipeline switcher. A pipeline defines the stages, so this is the board's one real control. -->\n <div class=\"db-bar\">\n <span class=\"db-bar__label\">Pipeline</span>\n <div class=\"db-bar__pipes\" role=\"tablist\" aria-label=\"Pipeline\">\n @for (pipeline of Pipelines; track pipeline.ID) {\n <button\n type=\"button\"\n role=\"tab\"\n class=\"db-pipe\"\n [class.db-pipe--on]=\"pipeline.ID === ActivePipelineID\"\n [attr.aria-selected]=\"pipeline.ID === ActivePipelineID\"\n (click)=\"SelectPipeline(pipeline.ID)\">\n {{ pipeline.Name }}\n </button>\n }\n </div>\n @if (Moving) {\n <span class=\"db-bar__busy\"><i class=\"fa-solid fa-spinner fa-spin\" aria-hidden=\"true\"></i> Moving\u2026</span>\n }\n </div>\n\n @if (Message) {\n <p class=\"db-msg\" role=\"status\">\n <i class=\"fa-solid fa-circle-info\" aria-hidden=\"true\"></i> {{ Message }}\n </p>\n }\n\n @if (Columns.length === 0) {\n <p class=\"db-empty\">This pipeline has no stages yet.</p>\n } @else {\n <div class=\"db-cols\">\n @for (column of Columns; track TrackColumn($index, column)) {\n <section\n class=\"db-col\"\n [class.db-col--closing]=\"column.IsClosing\"\n [attr.aria-label]=\"column.Label\">\n\n <header class=\"db-col__head\">\n <span class=\"db-col__name\">\n {{ column.Label }}\n @if (column.IsClosing) {\n <i class=\"fa-solid fa-lock db-col__lock\"\n aria-hidden=\"true\"\n title=\"Arriving here closes and locks the deal \u2014 close it from the deal form.\"></i>\n }\n </span>\n <span class=\"db-col__meta\">\n <span class=\"db-col__count\">{{ column.Cards.length }}</span>\n <!--\n A SUM of stored Deal.Amount values. This app prices nothing; the marker says whether the\n ORDERS engine did, and the currency question is separate from the provenance question.\n\n NO TOTAL WHEN THE COLUMN MIXES CURRENCIES. Adding EUR to USD produces a number that is\n wrong in a way nobody can see; an absent figure prompts a question instead.\n\n UNIONED, and the board branch's half needed one correction to survive: it carried\n `currency:'USD'`, which is the hardcoding the currency work removed. The `--stated` class\n is its contribution and is kept; the literal is not.\n -->\n @if (column.MixedCurrency) {\n <span class=\"db-col__total db-col__total--mixed\"\n title=\"This stage holds deals in more than one currency, so a single total would be meaningless.\">\n mixed currencies\n </span>\n } @else {\n <span class=\"db-col__total\" [class.db-col__total--stated]=\"column.Unpriced > 0\">\n <!-- `?? DefaultCurrency` because Currency is null in two different situations and only\n one of them is \"mixed\": an EMPTY column has no currency to disagree about, and its\n total is 0. The mixed case never reaches here \u2014 it is the @if above. -->\n {{ column.Total | currency:(column.Currency ?? DefaultCurrency):'symbol':'1.0-0' }}\n </span>\n }\n </span>\n @if (column.Unpriced > 0) {\n <!--\n SAYS WHICH OF THE TWO IT IS. A total nobody priced and a total that is only partly\n priced are different claims, and collapsing them is how a stated figure passes for an\n authoritative one. The wording lives in PricingNote() -- a template expression cannot\n hold a sentence without becoming unreadable.\n -->\n <span class=\"db-col__partial\" [title]=\"PricingNote(column)\">\n <i class=\"fa-solid fa-pen-nib\" aria-hidden=\"true\"></i>\n @if (column.NonePriced) {\n stated, not priced\n } @else {\n {{ column.Unpriced }} of {{ column.Cards.length }} stated\n }\n </span>\n }\n </header>\n\n <div\n class=\"db-col__drop\"\n cdkDropList\n [id]=\"'col-' + column.StageID\"\n [cdkDropListData]=\"column\"\n [cdkDropListConnectedTo]=\"ColumnIDs\"\n [cdkDropListEnterPredicate]=\"CanDropInto(column)\"\n (cdkDropListDropped)=\"OnDrop($event, column)\">\n\n @for (deal of column.Cards; track TrackCard($index, deal)) {\n <article\n class=\"db-card\"\n cdkDrag\n [cdkDragData]=\"deal\"\n [cdkDragDisabled]=\"Moving\"\n (click)=\"OpenCard(deal)\"\n (keydown.enter)=\"OpenCard(deal)\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"'Open ' + deal.Name\">\n\n <div class=\"db-card__name\">{{ deal.Name }}</div>\n <div class=\"db-card__customer\">\n <i class=\"fa-solid fa-building\" aria-hidden=\"true\"></i> {{ deal.CustomerName }}\n </div>\n\n <div class=\"db-card__figures\">\n <span class=\"db-card__amount\">\n @if (deal.Amount === null) {\n <span class=\"db-card__noamount\" title=\"No amount recorded yet\">\u2014</span>\n } @else {\n {{ deal.Amount | currency:(deal.CurrencyID ?? DefaultCurrency):'symbol':'1.0-0' }}\n }\n <!--\n BOTH CASES ARE MARKED, and marking only one was the defect. A calculator on the\n priced figure and nothing on the stated one means the reader has to notice an\n ABSENCE to learn anything -- and on data where nothing is priced, no card carries\n a marker at all, so the whole board reads as authoritative. A positive mark on\n each says which it is without anyone having to know the convention.\n -->\n @if (deal.Amount !== null) {\n @if (deal.AmountIsComputed) {\n <i class=\"fa-solid fa-calculator db-card__computed\"\n aria-hidden=\"true\"\n title=\"Priced by the orders engine\"></i>\n } @else {\n <i class=\"fa-solid fa-pen-nib db-card__stated\"\n aria-hidden=\"true\"\n title=\"Stated by a person, not priced by the orders engine\"></i>\n }\n }\n </span>\n @if (deal.Probability !== null) {\n <span class=\"db-card__prob\">{{ deal.Probability }}%</span>\n }\n </div>\n\n <div class=\"db-card__foot\">\n <span class=\"db-card__owner\">{{ deal.OwnerEmployee ?? 'Unassigned' }}</span>\n <span class=\"db-card__close\">{{ deal.ExpectedCloseDate ? (deal.ExpectedCloseDate | date:'MMM d, y') : 'No date' }}</span>\n </div>\n\n <div class=\"db-card__ghost\" *cdkDragPreview>{{ deal.Name }}</div>\n </article>\n }\n\n @if (column.Cards.length === 0) {\n <p class=\"db-col__empty\">\n @if (column.IsClosing) { Close deals from the deal form. } @else { Nothing here. }\n </p>\n }\n </div>\n </section>\n }\n </div>\n\n @if (Unstaged.length > 0) {\n <!-- Deals with no stage would otherwise be invisible on a board built from stage columns, and\n \"missing from the board\" is indistinguishable from \"does not exist\". -->\n <section class=\"db-unstaged\">\n <h4 class=\"db-unstaged__head\">\n <i class=\"fa-solid fa-circle-question\" aria-hidden=\"true\"></i>\n No stage set ({{ Unstaged.length }})\n </h4>\n <div class=\"db-unstaged__list\">\n @for (deal of Unstaged; track TrackCard($index, deal)) {\n <button type=\"button\" class=\"db-chip\" (click)=\"OpenCard(deal)\">\n {{ deal.Name }}\n </button>\n }\n </div>\n </section>\n }\n }\n</div>\n", styles: ["/*\n Board styles.\n\n SEMANTIC TOKENS ONLY \u2014 the same `--mj-*` set the workspace uses, so the board inherits dark mode rather\n than needing its own. No hardcoded colour appears in this file.\n*/\n\n.db {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n min-height: 0;\n}\n\n/* \u2500\u2500 Pipeline switcher \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n.db-bar {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-wrap: wrap;\n}\n\n.db-bar__label {\n font-size: 0.8125rem;\n color: var(--mj-text-muted);\n}\n\n.db-bar__pipes {\n display: flex;\n gap: 0.25rem;\n}\n\n.db-bar__busy {\n font-size: 0.8125rem;\n color: var(--mj-text-secondary);\n}\n\n.db-pipe {\n padding: 0.3rem 0.75rem;\n border: 1px solid var(--mj-border-default);\n border-radius: 999px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n cursor: pointer;\n}\n\n.db-pipe:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.db-pipe--on {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n font-weight: 600;\n}\n\n.db-msg {\n margin: 0;\n padding: 0.5rem 0.75rem;\n border: 1px solid var(--mj-status-warning-border);\n border-radius: 4px;\n color: var(--mj-status-warning);\n font-size: 0.8125rem;\n}\n\n.db-empty {\n color: var(--mj-text-muted);\n font-size: 0.875rem;\n}\n\n/* \u2500\u2500 Columns \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n/*\n Horizontal scroll lives HERE rather than on the page: a board with eight stages must not make the whole\n shell scroll sideways, which would drag the rail and the header out of view.\n*/\n.db-cols {\n display: flex;\n gap: 0.75rem;\n overflow-x: auto;\n padding-bottom: 0.5rem;\n align-items: flex-start;\n}\n\n.db-col {\n flex: 0 0 15rem;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n min-height: 8rem;\n}\n\n/* A closing column is visibly inert \u2014 it accepts no drops, and should not invite one. */\n.db-col--closing {\n border-style: dashed;\n opacity: 0.75;\n}\n\n.db-col__head {\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n padding: 0.5rem 0.625rem;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.db-col__name {\n font-size: 0.8125rem;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 0.375rem;\n}\n\n.db-col__lock {\n color: var(--mj-text-muted);\n font-size: 0.6875rem;\n}\n\n.db-col__meta {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: 0.5rem;\n}\n\n.db-col__count {\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n\n.db-col__total {\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n font-variant-numeric: tabular-nums;\n}\n\n/* A total that nobody priced still reads as a figure -- this keeps it from reading as a FINAL one. */\n.db-col__total--stated {\n font-style: italic;\n}\n\n.db-col__partial {\n font-size: 0.6875rem;\n color: var(--mj-status-warning);\n}\n\n.db-col__drop {\n display: flex;\n flex-direction: column;\n gap: 0.375rem;\n padding: 0.5rem;\n min-height: 4rem;\n}\n\n.db-col__empty {\n margin: 0;\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n text-align: center;\n padding: 0.75rem 0.25rem;\n}\n\n/* \u2500\u2500 Cards \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n.db-card {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n padding: 0.5rem 0.625rem;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n.db-card:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.db-card:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 1px;\n}\n\n.db-card__name {\n font-size: 0.8125rem;\n font-weight: 600;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.db-card__customer {\n font-size: 0.75rem;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 0.3rem;\n}\n\n.db-card__figures {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: 0.5rem;\n}\n\n.db-card__amount {\n font-size: 0.8125rem;\n color: var(--mj-text-primary);\n font-variant-numeric: tabular-nums;\n display: flex;\n align-items: center;\n gap: 0.3rem;\n}\n\n/*\n * The two provenance markers are deliberately the SAME weight as each other.\n *\n * Making the stated one louder would read as an error, which it is not -- a stated amount is a\n * legitimate answer, just a different kind of fact from a priced one. Making it quieter would put us\n * back where we started, with the reader learning nothing unless they notice an absence.\n */\n.db-card__stated,\n.db-card__noamount,\n.db-card__computed {\n color: var(--mj-text-muted);\n font-size: 0.6875rem;\n}\n\n.db-card__prob {\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n\n.db-card__foot {\n display: flex;\n justify-content: space-between;\n gap: 0.5rem;\n font-size: 0.6875rem;\n color: var(--mj-text-muted);\n}\n\n.db-card__owner,\n.db-card__close {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.db-card__ghost {\n padding: 0.375rem 0.625rem;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-brand-primary);\n border-radius: 4px;\n font-size: 0.8125rem;\n color: var(--mj-text-primary);\n}\n\n/* \u2500\u2500 Unstaged \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n.db-unstaged {\n border-top: 1px solid var(--mj-border-default);\n padding-top: 0.625rem;\n}\n\n.db-unstaged__head {\n margin: 0 0 0.375rem;\n font-size: 0.75rem;\n font-weight: 600;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 0.375rem;\n}\n\n.db-unstaged__list {\n display: flex;\n flex-wrap: wrap;\n gap: 0.375rem;\n}\n\n.db-chip {\n padding: 0.25rem 0.625rem;\n border: 1px solid var(--mj-border-default);\n border-radius: 999px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 0.75rem;\n cursor: pointer;\n}\n\n.db-chip:hover {\n background: var(--mj-bg-surface-hover);\n}\n"] }]
|
|
612
612
|
}], null, { Deals: [{
|
|
613
613
|
type: Input
|
|
614
614
|
}], Pipelines: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deal-board.component.js","sourceRoot":"","sources":["../../../src/lib/board/deal-board.component.ts","../../../src/lib/board/deal-board.component.html"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deal-board.component.js","sourceRoot":"","sources":["../../../src/lib/board/deal-board.component.ts","../../../src/lib/board/deal-board.component.html"],"names":[],"mappings":"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"}
|