@mj-biz-apps/contracts-ng 0.3.0 → 0.4.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/form-panels/contract-form.panels.d.ts +34 -0
- package/dist/lib/form-panels/contract-form.panels.d.ts.map +1 -1
- package/dist/lib/form-panels/contract-form.panels.js +173 -126
- package/dist/lib/form-panels/contract-form.panels.js.map +1 -1
- package/dist/lib/form-panels/contract.panels.d.ts +48 -2
- package/dist/lib/form-panels/contract.panels.d.ts.map +1 -1
- package/dist/lib/form-panels/contract.panels.js +290 -192
- package/dist/lib/form-panels/contract.panels.js.map +1 -1
- package/dist/lib/form-panels/supersede.panel.d.ts +18 -1
- package/dist/lib/form-panels/supersede.panel.d.ts.map +1 -1
- package/dist/lib/form-panels/supersede.panel.js +38 -11
- package/dist/lib/form-panels/supersede.panel.js.map +1 -1
- package/dist/lib/sections/section-shell.component.js +2 -2
- package/package.json +2 -2
|
@@ -49,13 +49,13 @@ function MJCContractOverviewPanel_Conditional_2_Template(rf, ctx) { if (rf & 1)
|
|
|
49
49
|
function MJCContractOverviewPanel_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
50
50
|
i0.ɵɵelementStart(0, "div", 3);
|
|
51
51
|
i0.ɵɵelement(1, "i", 21);
|
|
52
|
-
i0.ɵɵtext(2, "
|
|
52
|
+
i0.ɵɵtext(2, " No issues. ");
|
|
53
53
|
i0.ɵɵelementEnd();
|
|
54
54
|
} }
|
|
55
|
-
function
|
|
55
|
+
function MJCContractOverviewPanel_Conditional_41_Template(rf, ctx) { if (rf & 1) {
|
|
56
56
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
57
57
|
i0.ɵɵelementStart(0, "button", 22);
|
|
58
|
-
i0.ɵɵlistener("click", function
|
|
58
|
+
i0.ɵɵlistener("click", function MJCContractOverviewPanel_Conditional_41_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OpenCustomer($event)); });
|
|
59
59
|
i0.ɵɵtext(1);
|
|
60
60
|
i0.ɵɵelementEnd();
|
|
61
61
|
} if (rf & 2) {
|
|
@@ -63,16 +63,16 @@ function MJCContractOverviewPanel_Conditional_43_Template(rf, ctx) { if (rf & 1)
|
|
|
63
63
|
i0.ɵɵadvance();
|
|
64
64
|
i0.ɵɵtextInterpolate(ctx_r1.CustomerName);
|
|
65
65
|
} }
|
|
66
|
-
function
|
|
66
|
+
function MJCContractOverviewPanel_Conditional_42_Template(rf, ctx) { if (rf & 1) {
|
|
67
67
|
i0.ɵɵtext(0);
|
|
68
68
|
} if (rf & 2) {
|
|
69
69
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
70
70
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.CustomerName || "\u2014", " ");
|
|
71
71
|
} }
|
|
72
|
-
function
|
|
72
|
+
function MJCContractOverviewPanel_Conditional_47_Template(rf, ctx) { if (rf & 1) {
|
|
73
73
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
74
74
|
i0.ɵɵelementStart(0, "button", 22);
|
|
75
|
-
i0.ɵɵlistener("click", function
|
|
75
|
+
i0.ɵɵlistener("click", function MJCContractOverviewPanel_Conditional_47_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OpenContact($event)); });
|
|
76
76
|
i0.ɵɵtext(1);
|
|
77
77
|
i0.ɵɵelementEnd();
|
|
78
78
|
} if (rf & 2) {
|
|
@@ -80,30 +80,42 @@ function MJCContractOverviewPanel_Conditional_49_Template(rf, ctx) { if (rf & 1)
|
|
|
80
80
|
i0.ɵɵadvance();
|
|
81
81
|
i0.ɵɵtextInterpolate(ctx_r1.ContactName);
|
|
82
82
|
} }
|
|
83
|
-
function
|
|
83
|
+
function MJCContractOverviewPanel_Conditional_48_Template(rf, ctx) { if (rf & 1) {
|
|
84
84
|
i0.ɵɵtext(0);
|
|
85
85
|
} if (rf & 2) {
|
|
86
86
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
87
87
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.ContactName || "\u2014", " ");
|
|
88
88
|
} }
|
|
89
|
-
function
|
|
89
|
+
function MJCContractOverviewPanel_Conditional_89_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
90
90
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
91
91
|
i0.ɵɵelementStart(0, "button", 22);
|
|
92
|
-
i0.ɵɵlistener("click", function
|
|
92
|
+
i0.ɵɵlistener("click", function MJCContractOverviewPanel_Conditional_89_Conditional_4_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OpenSource($event)); });
|
|
93
93
|
i0.ɵɵtext(1);
|
|
94
94
|
i0.ɵɵelementEnd();
|
|
95
95
|
} if (rf & 2) {
|
|
96
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
96
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
97
97
|
i0.ɵɵadvance();
|
|
98
98
|
i0.ɵɵtextInterpolate(ctx_r1.SourceLabel);
|
|
99
99
|
} }
|
|
100
|
-
function
|
|
100
|
+
function MJCContractOverviewPanel_Conditional_89_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
101
101
|
i0.ɵɵtext(0);
|
|
102
102
|
} if (rf & 2) {
|
|
103
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
103
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
104
104
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.SourceLabel, " ");
|
|
105
105
|
} }
|
|
106
|
-
function
|
|
106
|
+
function MJCContractOverviewPanel_Conditional_89_Template(rf, ctx) { if (rf & 1) {
|
|
107
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 6);
|
|
108
|
+
i0.ɵɵtext(2, "Created from");
|
|
109
|
+
i0.ɵɵelementEnd();
|
|
110
|
+
i0.ɵɵelementStart(3, "div", 7);
|
|
111
|
+
i0.ɵɵconditionalCreate(4, MJCContractOverviewPanel_Conditional_89_Conditional_4_Template, 2, 1, "button", 13)(5, MJCContractOverviewPanel_Conditional_89_Conditional_5_Template, 1, 1);
|
|
112
|
+
i0.ɵɵelementEnd()();
|
|
113
|
+
} if (rf & 2) {
|
|
114
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
115
|
+
i0.ɵɵadvance(4);
|
|
116
|
+
i0.ɵɵconditional(ctx_r1.CanOpenSource ? 4 : 5);
|
|
117
|
+
} }
|
|
118
|
+
function MJCContractOverviewPanel_Conditional_94_Template(rf, ctx) { if (rf & 1) {
|
|
107
119
|
i0.ɵɵelementStart(0, "p", 17);
|
|
108
120
|
i0.ɵɵtext(1);
|
|
109
121
|
i0.ɵɵelementEnd();
|
|
@@ -112,9 +124,9 @@ function MJCContractOverviewPanel_Conditional_101_Template(rf, ctx) { if (rf & 1
|
|
|
112
124
|
i0.ɵɵadvance();
|
|
113
125
|
i0.ɵɵtextInterpolate(ctx_r1.NextMove);
|
|
114
126
|
} }
|
|
115
|
-
function
|
|
127
|
+
function MJCContractOverviewPanel_Conditional_95_Template(rf, ctx) { if (rf & 1) {
|
|
116
128
|
i0.ɵɵelementStart(0, "p", 18);
|
|
117
|
-
i0.ɵɵtext(1, "No action
|
|
129
|
+
i0.ɵɵtext(1, "No action needed.");
|
|
118
130
|
i0.ɵɵelementEnd();
|
|
119
131
|
} }
|
|
120
132
|
const _forTrack0 = ($index, $item) => $item.name;
|
|
@@ -128,7 +140,7 @@ function MJCContractAgreementPanel_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
128
140
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
129
141
|
i0.ɵɵclassProp("mjc-fg--span", f_r3.span);
|
|
130
142
|
i0.ɵɵadvance();
|
|
131
|
-
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("FieldName", f_r3.name)("Type", f_r3.type)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.FormContext)("LinkType", f_r3.link ?? "None");
|
|
143
|
+
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("FieldName", f_r3.name)("Type", f_r3.type)("EditMode", f_r3.readOnly ? false : ctx_r1.EditMode)("FormContext", ctx_r1.FormContext)("LinkType", f_r3.link ?? "None");
|
|
132
144
|
} }
|
|
133
145
|
function MJCContractPartiesPanel_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
134
146
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -140,7 +152,7 @@ function MJCContractPartiesPanel_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
140
152
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
141
153
|
i0.ɵɵclassProp("mjc-fg--span", f_r3.span);
|
|
142
154
|
i0.ɵɵadvance();
|
|
143
|
-
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("FieldName", f_r3.name)("Type", f_r3.type)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.FormContext)("LinkType", f_r3.link ?? "None");
|
|
155
|
+
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("FieldName", f_r3.name)("Type", f_r3.type)("EditMode", f_r3.readOnly ? false : ctx_r1.EditMode)("FormContext", ctx_r1.FormContext)("LinkType", f_r3.link ?? "None");
|
|
144
156
|
} }
|
|
145
157
|
const _c0 = "\n .mjc-fields-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4) var(--mj-space-5);\n padding: var(--mj-space-4) var(--mj-space-5);\n }\n @media (max-width: 720px) { .mjc-fields-grid { grid-template-columns: 1fr; } }\n .mjc-fg { min-width: 0; }\n .mjc-fg--span { grid-column: 1 / -1; }\n .mjc-fg .mj-forms-field {\n display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding: 0;\n }\n .mjc-fg .mj-forms-field-label {\n font-size: var(--mj-text-xs); font-weight: 700; letter-spacing: .06em;\n text-transform: uppercase; color: var(--mj-text-muted);\n }\n .mjc-fg .mj-forms-field--editing:hover { margin: 0; padding: 0; }\n";
|
|
146
158
|
function MJCContractNotesPanel_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -153,7 +165,7 @@ function MJCContractNotesPanel_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
153
165
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
154
166
|
i0.ɵɵclassProp("mjc-fg--span", f_r3.span);
|
|
155
167
|
i0.ɵɵadvance();
|
|
156
|
-
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("FieldName", f_r3.name)("Type", f_r3.type)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.FormContext)("LinkType", f_r3.link ?? "None");
|
|
168
|
+
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("FieldName", f_r3.name)("Type", f_r3.type)("EditMode", f_r3.readOnly ? false : ctx_r1.EditMode)("FormContext", ctx_r1.FormContext)("LinkType", f_r3.link ?? "None");
|
|
157
169
|
} }
|
|
158
170
|
function MJCContractProvenanceFieldsPanel_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
159
171
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -165,7 +177,7 @@ function MJCContractProvenanceFieldsPanel_For_3_Template(rf, ctx) { if (rf & 1)
|
|
|
165
177
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
166
178
|
i0.ɵɵclassProp("mjc-fg--span", f_r3.span);
|
|
167
179
|
i0.ɵɵadvance();
|
|
168
|
-
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("FieldName", f_r3.name)("Type", f_r3.type)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.FormContext)("LinkType", f_r3.link ?? "None");
|
|
180
|
+
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("FieldName", f_r3.name)("Type", f_r3.type)("EditMode", f_r3.readOnly ? false : ctx_r1.EditMode)("FormContext", ctx_r1.FormContext)("LinkType", f_r3.link ?? "None");
|
|
169
181
|
} }
|
|
170
182
|
function MJCContractLifecyclePanel_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
171
183
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -177,7 +189,7 @@ function MJCContractLifecyclePanel_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
177
189
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
178
190
|
i0.ɵɵclassProp("mjc-fg--span", f_r3.span);
|
|
179
191
|
i0.ɵɵadvance();
|
|
180
|
-
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("FieldName", f_r3.name)("Type", f_r3.type)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.FormContext)("LinkType", f_r3.link ?? "None");
|
|
192
|
+
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("FieldName", f_r3.name)("Type", f_r3.type)("EditMode", f_r3.readOnly ? false : ctx_r1.EditMode)("FormContext", ctx_r1.FormContext)("LinkType", f_r3.link ?? "None");
|
|
181
193
|
} }
|
|
182
194
|
function MJCContractModificationsPanel_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
183
195
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -225,6 +237,20 @@ function endsInText(days) {
|
|
|
225
237
|
const months = Math.round(days / 30);
|
|
226
238
|
return `in ${months} month${months === 1 ? '' : 's'}`;
|
|
227
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* The whole clause, verb included, because the verb has to agree with the tense
|
|
242
|
+
* `endsInText` picks. Writing `Term ends ${endsInText(d)}` reads "Term ends ends
|
|
243
|
+
* today" on the day a term ends, and "Term ends ended 3 days ago" behind it.
|
|
244
|
+
*/
|
|
245
|
+
function termEndsText(days) {
|
|
246
|
+
if (days == null)
|
|
247
|
+
return '';
|
|
248
|
+
if (days < 0)
|
|
249
|
+
return `Term ${endsInText(days)}`;
|
|
250
|
+
if (days === 0)
|
|
251
|
+
return 'Term ends today';
|
|
252
|
+
return `Term ends ${endsInText(days)}`;
|
|
253
|
+
}
|
|
228
254
|
/* ── Overview ─────────────────────────────────────────────────────────────── */
|
|
229
255
|
let MJCContractOverviewPanel = class MJCContractOverviewPanel extends BaseFormPanel {
|
|
230
256
|
dateLabel = dateLabel;
|
|
@@ -289,61 +315,62 @@ let MJCContractOverviewPanel = class MJCContractOverviewPanel extends BaseFormPa
|
|
|
289
315
|
return 'warning';
|
|
290
316
|
return 'muted';
|
|
291
317
|
}
|
|
318
|
+
get HasSource() {
|
|
319
|
+
return !!this.Record?.CreatingEntity;
|
|
320
|
+
}
|
|
292
321
|
get CanOpenSource() {
|
|
293
322
|
return !!(this.Record?.CreatingEntity && this.Record?.CreatingRecordID);
|
|
294
323
|
}
|
|
295
324
|
get SourceLabel() {
|
|
296
|
-
|
|
297
|
-
return 'Entered directly';
|
|
298
|
-
return this.Record.CreatingEntity;
|
|
325
|
+
return this.Record?.CreatingEntity ?? '';
|
|
299
326
|
}
|
|
300
327
|
get Health() {
|
|
301
328
|
const out = [];
|
|
302
329
|
if (!this.Record)
|
|
303
330
|
return out;
|
|
304
331
|
if (this.Record.IsAwaitingDocument) {
|
|
305
|
-
out.push('
|
|
332
|
+
out.push('Executed agreement not attached.');
|
|
306
333
|
}
|
|
307
334
|
if (this.Record.IsInCancellationWindow) {
|
|
308
|
-
out.push('
|
|
335
|
+
out.push('Cancellation window is open.');
|
|
309
336
|
}
|
|
310
337
|
const end = this.Record.DaysToEnd;
|
|
311
338
|
if (end != null && end < 0 && !this.Record.TerminatedDate) {
|
|
312
339
|
out.push('The term has ended and no termination date is recorded.');
|
|
313
340
|
}
|
|
314
341
|
else if (this.State === 'Active' && end != null && end <= 120) {
|
|
315
|
-
out.push(
|
|
342
|
+
out.push(`${termEndsText(end)}.`);
|
|
316
343
|
}
|
|
317
344
|
const notice = daysUntil(this.Record.RenewalNoticeDeadline);
|
|
318
345
|
if (notice != null && notice < 0) {
|
|
319
346
|
out.push('Renewal notice deadline has already passed.');
|
|
320
347
|
}
|
|
321
348
|
else if (notice != null && notice <= 30) {
|
|
322
|
-
out.push(`
|
|
349
|
+
out.push(`Renewal notice due by ${dateLabel(this.Record.RenewalNoticeDeadline)}.`);
|
|
323
350
|
}
|
|
324
351
|
if (this.Record.HasModifications) {
|
|
325
|
-
out.push('
|
|
352
|
+
out.push('Standard agreement was modified.');
|
|
326
353
|
}
|
|
327
354
|
if (this.State === 'Active' && !this.Record.EndDate) {
|
|
328
|
-
out.push('Active with no end date
|
|
355
|
+
out.push('Active with no end date.');
|
|
329
356
|
}
|
|
330
357
|
return out;
|
|
331
358
|
}
|
|
332
359
|
get NextMove() {
|
|
333
360
|
if (this.Record?.IsAwaitingDocument)
|
|
334
|
-
return 'Attach the executed
|
|
361
|
+
return 'Attach the executed agreement.';
|
|
335
362
|
if (this.Record?.IsInCancellationWindow)
|
|
336
|
-
return 'Cancellation window is open. Confirm whether
|
|
363
|
+
return 'Cancellation window is open. Confirm whether the customer is renewing.';
|
|
337
364
|
const notice = daysUntil(this.Record?.RenewalNoticeDeadline);
|
|
338
365
|
if (notice != null && notice <= 30) {
|
|
339
366
|
return `Send the renewal notice. Deadline ${dateLabel(this.Record?.RenewalNoticeDeadline)}.`;
|
|
340
367
|
}
|
|
341
368
|
const end = this.Record?.DaysToEnd;
|
|
342
369
|
if (this.State === 'Active' && end != null && end <= 120) {
|
|
343
|
-
return `
|
|
370
|
+
return `Begin renewal discussion. ${termEndsText(end)}.`;
|
|
344
371
|
}
|
|
345
372
|
if (this.Record?.HasModifications)
|
|
346
|
-
return '
|
|
373
|
+
return 'Review the modifications to the standard agreement.';
|
|
347
374
|
return null;
|
|
348
375
|
}
|
|
349
376
|
OpenCustomer(event) {
|
|
@@ -371,7 +398,7 @@ let MJCContractOverviewPanel = class MJCContractOverviewPanel extends BaseFormPa
|
|
|
371
398
|
});
|
|
372
399
|
}
|
|
373
400
|
static ɵfac = /*@__PURE__*/ (() => { let ɵMJCContractOverviewPanel_BaseFactory; return function MJCContractOverviewPanel_Factory(__ngFactoryType__) { return (ɵMJCContractOverviewPanel_BaseFactory || (ɵMJCContractOverviewPanel_BaseFactory = i0.ɵɵgetInheritedFactory(MJCContractOverviewPanel)))(__ngFactoryType__ || MJCContractOverviewPanel); }; })();
|
|
374
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJCContractOverviewPanel, selectors: [["mjc-contract-overview-panel"]], features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
401
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJCContractOverviewPanel, selectors: [["mjc-contract-overview-panel"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 96, vars: 25, consts: [["SectionKey", "overview", "SectionName", "Overview", "Icon", "fa-solid fa-chart-pie", 3, "Form", "FormContext", "DefaultExpanded"], [1, "mjc-ov"], [1, "mjc-ov-health"], [1, "mjc-ov-ok"], [1, "mjc-ov-strip"], [1, "mjc-ov-kpi"], [1, "l"], [1, "v"], [1, "s"], [1, "mjc-ov-grid"], [1, "mjc-ov-card"], [1, "fa-solid", "fa-building"], [1, "mjc-ov-facts"], ["type", "button", 1, "mjc-ov-link"], [1, "fa-solid", "fa-scale-balanced"], [1, "mjc-ov-card", "mjc-ov-card--wide"], [1, "fa-solid", "fa-person-walking"], [1, "mjc-ov-next"], [1, "mjc-ov-empty"], [1, "mjc-ov-alert"], ["aria-hidden", "true", 1, "fa-solid", "fa-triangle-exclamation"], ["aria-hidden", "true", 1, "fa-solid", "fa-circle-check"], ["type", "button", 1, "mjc-ov-link", 3, "click"]], template: function MJCContractOverviewPanel_Template(rf, ctx) { if (rf & 1) {
|
|
375
402
|
i0.ɵɵelementStart(0, "mj-collapsible-panel", 0)(1, "div", 1);
|
|
376
403
|
i0.ɵɵconditionalCreate(2, MJCContractOverviewPanel_Conditional_2_Template, 3, 0, "div", 2)(3, MJCContractOverviewPanel_Conditional_3_Template, 3, 0, "div", 3);
|
|
377
404
|
i0.ɵɵelementStart(4, "div", 4)(5, "div", 5)(6, "div", 6);
|
|
@@ -406,83 +433,76 @@ let MJCContractOverviewPanel = class MJCContractOverviewPanel extends BaseFormPa
|
|
|
406
433
|
i0.ɵɵelementEnd();
|
|
407
434
|
i0.ɵɵelementStart(29, "div", 7);
|
|
408
435
|
i0.ɵɵtext(30);
|
|
409
|
-
i0.ɵɵelementEnd();
|
|
410
|
-
i0.ɵɵelementStart(31, "div", 8);
|
|
411
|
-
i0.ɵɵtext(32);
|
|
412
436
|
i0.ɵɵelementEnd()()();
|
|
413
|
-
i0.ɵɵelementStart(
|
|
414
|
-
i0.ɵɵelement(
|
|
415
|
-
i0.ɵɵtext(
|
|
437
|
+
i0.ɵɵelementStart(31, "div", 9)(32, "article", 10)(33, "header");
|
|
438
|
+
i0.ɵɵelement(34, "i", 11);
|
|
439
|
+
i0.ɵɵtext(35, " Parties");
|
|
416
440
|
i0.ɵɵelementEnd();
|
|
417
|
-
i0.ɵɵelementStart(
|
|
418
|
-
i0.ɵɵtext(
|
|
441
|
+
i0.ɵɵelementStart(36, "div", 12)(37, "div")(38, "div", 6);
|
|
442
|
+
i0.ɵɵtext(39, "Customer");
|
|
419
443
|
i0.ɵɵelementEnd();
|
|
420
|
-
i0.ɵɵelementStart(
|
|
421
|
-
i0.ɵɵconditionalCreate(
|
|
444
|
+
i0.ɵɵelementStart(40, "div", 7);
|
|
445
|
+
i0.ɵɵconditionalCreate(41, MJCContractOverviewPanel_Conditional_41_Template, 2, 1, "button", 13)(42, MJCContractOverviewPanel_Conditional_42_Template, 1, 1);
|
|
422
446
|
i0.ɵɵelementEnd()();
|
|
423
|
-
i0.ɵɵelementStart(
|
|
424
|
-
i0.ɵɵtext(
|
|
447
|
+
i0.ɵɵelementStart(43, "div")(44, "div", 6);
|
|
448
|
+
i0.ɵɵtext(45, "Contact");
|
|
425
449
|
i0.ɵɵelementEnd();
|
|
426
|
-
i0.ɵɵelementStart(
|
|
427
|
-
i0.ɵɵconditionalCreate(
|
|
450
|
+
i0.ɵɵelementStart(46, "div", 7);
|
|
451
|
+
i0.ɵɵconditionalCreate(47, MJCContractOverviewPanel_Conditional_47_Template, 2, 1, "button", 13)(48, MJCContractOverviewPanel_Conditional_48_Template, 1, 1);
|
|
428
452
|
i0.ɵɵelementEnd()();
|
|
429
|
-
i0.ɵɵelementStart(
|
|
430
|
-
i0.ɵɵtext(
|
|
453
|
+
i0.ɵɵelementStart(49, "div")(50, "div", 6);
|
|
454
|
+
i0.ɵɵtext(51, "Company");
|
|
431
455
|
i0.ɵɵelementEnd();
|
|
432
|
-
i0.ɵɵelementStart(
|
|
433
|
-
i0.ɵɵtext(
|
|
456
|
+
i0.ɵɵelementStart(52, "div", 7);
|
|
457
|
+
i0.ɵɵtext(53);
|
|
434
458
|
i0.ɵɵelementEnd()();
|
|
435
|
-
i0.ɵɵelementStart(
|
|
436
|
-
i0.ɵɵtext(
|
|
459
|
+
i0.ɵɵelementStart(54, "div")(55, "div", 6);
|
|
460
|
+
i0.ɵɵtext(56, "Agreement");
|
|
437
461
|
i0.ɵɵelementEnd();
|
|
438
|
-
i0.ɵɵelementStart(
|
|
439
|
-
i0.ɵɵtext(
|
|
462
|
+
i0.ɵɵelementStart(57, "div", 7);
|
|
463
|
+
i0.ɵɵtext(58);
|
|
440
464
|
i0.ɵɵelementEnd()()()();
|
|
441
|
-
i0.ɵɵelementStart(
|
|
442
|
-
i0.ɵɵelement(
|
|
443
|
-
i0.ɵɵtext(
|
|
465
|
+
i0.ɵɵelementStart(59, "article", 10)(60, "header");
|
|
466
|
+
i0.ɵɵelement(61, "i", 14);
|
|
467
|
+
i0.ɵɵtext(62, " Obligation");
|
|
444
468
|
i0.ɵɵelementEnd();
|
|
445
|
-
i0.ɵɵelementStart(
|
|
446
|
-
i0.ɵɵtext(
|
|
469
|
+
i0.ɵɵelementStart(63, "div", 12)(64, "div")(65, "div", 6);
|
|
470
|
+
i0.ɵɵtext(66, "Executed");
|
|
447
471
|
i0.ɵɵelementEnd();
|
|
448
|
-
i0.ɵɵelementStart(
|
|
449
|
-
i0.ɵɵtext(
|
|
472
|
+
i0.ɵɵelementStart(67, "div", 7);
|
|
473
|
+
i0.ɵɵtext(68);
|
|
450
474
|
i0.ɵɵelementEnd()();
|
|
451
|
-
i0.ɵɵelementStart(
|
|
452
|
-
i0.ɵɵtext(
|
|
475
|
+
i0.ɵɵelementStart(69, "div")(70, "div", 6);
|
|
476
|
+
i0.ɵɵtext(71, "Effective");
|
|
453
477
|
i0.ɵɵelementEnd();
|
|
454
|
-
i0.ɵɵelementStart(
|
|
455
|
-
i0.ɵɵtext(
|
|
478
|
+
i0.ɵɵelementStart(72, "div", 7);
|
|
479
|
+
i0.ɵɵtext(73);
|
|
456
480
|
i0.ɵɵelementEnd()();
|
|
457
|
-
i0.ɵɵelementStart(
|
|
458
|
-
i0.ɵɵtext(
|
|
481
|
+
i0.ɵɵelementStart(74, "div")(75, "div", 6);
|
|
482
|
+
i0.ɵɵtext(76, "Notice we owe");
|
|
459
483
|
i0.ɵɵelementEnd();
|
|
460
|
-
i0.ɵɵelementStart(
|
|
461
|
-
i0.ɵɵtext(
|
|
484
|
+
i0.ɵɵelementStart(77, "div", 7);
|
|
485
|
+
i0.ɵɵtext(78);
|
|
462
486
|
i0.ɵɵelementEnd()();
|
|
463
|
-
i0.ɵɵelementStart(
|
|
464
|
-
i0.ɵɵtext(
|
|
487
|
+
i0.ɵɵelementStart(79, "div")(80, "div", 6);
|
|
488
|
+
i0.ɵɵtext(81, "Cancel window");
|
|
465
489
|
i0.ɵɵelementEnd();
|
|
466
|
-
i0.ɵɵelementStart(
|
|
467
|
-
i0.ɵɵtext(
|
|
490
|
+
i0.ɵɵelementStart(82, "div", 7);
|
|
491
|
+
i0.ɵɵtext(83);
|
|
468
492
|
i0.ɵɵelementEnd()();
|
|
469
|
-
i0.ɵɵelementStart(
|
|
470
|
-
i0.ɵɵtext(
|
|
493
|
+
i0.ɵɵelementStart(84, "div")(85, "div", 6);
|
|
494
|
+
i0.ɵɵtext(86, "Annual increase");
|
|
471
495
|
i0.ɵɵelementEnd();
|
|
472
|
-
i0.ɵɵelementStart(
|
|
473
|
-
i0.ɵɵtext(
|
|
496
|
+
i0.ɵɵelementStart(87, "div", 7);
|
|
497
|
+
i0.ɵɵtext(88);
|
|
474
498
|
i0.ɵɵelementEnd()();
|
|
475
|
-
i0.ɵɵ
|
|
476
|
-
i0.ɵɵ
|
|
477
|
-
i0.ɵɵ
|
|
478
|
-
i0.ɵɵ
|
|
479
|
-
i0.ɵɵ
|
|
480
|
-
i0.ɵɵelementEnd()()()();
|
|
481
|
-
i0.ɵɵelementStart(97, "article", 15)(98, "header");
|
|
482
|
-
i0.ɵɵelement(99, "i", 16);
|
|
483
|
-
i0.ɵɵtext(100, " What needs a person");
|
|
499
|
+
i0.ɵɵconditionalCreate(89, MJCContractOverviewPanel_Conditional_89_Template, 6, 1, "div");
|
|
500
|
+
i0.ɵɵelementEnd()();
|
|
501
|
+
i0.ɵɵelementStart(90, "article", 15)(91, "header");
|
|
502
|
+
i0.ɵɵelement(92, "i", 16);
|
|
503
|
+
i0.ɵɵtext(93, " Next step");
|
|
484
504
|
i0.ɵɵelementEnd();
|
|
485
|
-
i0.ɵɵconditionalCreate(
|
|
505
|
+
i0.ɵɵconditionalCreate(94, MJCContractOverviewPanel_Conditional_94_Template, 2, 1, "p", 17)(95, MJCContractOverviewPanel_Conditional_95_Template, 2, 0, "p", 18);
|
|
486
506
|
i0.ɵɵelementEnd()()()();
|
|
487
507
|
} if (rf & 2) {
|
|
488
508
|
i0.ɵɵproperty("Form", ctx.FormComponent)("FormContext", ctx.FormContext)("DefaultExpanded", true);
|
|
@@ -508,16 +528,14 @@ let MJCContractOverviewPanel = class MJCContractOverviewPanel extends BaseFormPa
|
|
|
508
528
|
i0.ɵɵtextInterpolate(ctx.dateLabel(ctx.Record.RenewalNoticeDeadline));
|
|
509
529
|
i0.ɵɵadvance(5);
|
|
510
530
|
i0.ɵɵtextInterpolate(ctx.Record.AutoRenew ? "Yes" : "No");
|
|
511
|
-
i0.ɵɵadvance(2);
|
|
512
|
-
i0.ɵɵtextInterpolate(ctx.Record.AutoRenew ? "as the paper states" : "someone must act");
|
|
513
531
|
i0.ɵɵadvance(11);
|
|
514
|
-
i0.ɵɵconditional(ctx.Record.CustomerOrganizationID && ctx.CustomerName ?
|
|
532
|
+
i0.ɵɵconditional(ctx.Record.CustomerOrganizationID && ctx.CustomerName ? 41 : 42);
|
|
515
533
|
i0.ɵɵadvance(6);
|
|
516
|
-
i0.ɵɵconditional(ctx.Record.PrimaryContactPersonID && ctx.ContactName ?
|
|
534
|
+
i0.ɵɵconditional(ctx.Record.PrimaryContactPersonID && ctx.ContactName ? 47 : 48);
|
|
517
535
|
i0.ɵɵadvance(6);
|
|
518
536
|
i0.ɵɵtextInterpolate(ctx.CompanyName || "\u2014");
|
|
519
537
|
i0.ɵɵadvance(5);
|
|
520
|
-
i0.ɵɵtextInterpolate(ctx.TemplateName || "
|
|
538
|
+
i0.ɵɵtextInterpolate(ctx.TemplateName || "None");
|
|
521
539
|
i0.ɵɵadvance(10);
|
|
522
540
|
i0.ɵɵtextInterpolate(ctx.dateLabel(ctx.Record.ExecutedDate));
|
|
523
541
|
i0.ɵɵadvance(5);
|
|
@@ -528,10 +546,10 @@ let MJCContractOverviewPanel = class MJCContractOverviewPanel extends BaseFormPa
|
|
|
528
546
|
i0.ɵɵtextInterpolate(ctx.DaysLabel(ctx.Record.CancellationWindowDays));
|
|
529
547
|
i0.ɵɵadvance(5);
|
|
530
548
|
i0.ɵɵtextInterpolate(ctx.IncreaseLabel);
|
|
549
|
+
i0.ɵɵadvance();
|
|
550
|
+
i0.ɵɵconditional(ctx.HasSource ? 89 : -1);
|
|
531
551
|
i0.ɵɵadvance(5);
|
|
532
|
-
i0.ɵɵconditional(ctx.
|
|
533
|
-
i0.ɵɵadvance(6);
|
|
534
|
-
i0.ɵɵconditional(ctx.NextMove ? 101 : 102);
|
|
552
|
+
i0.ɵɵconditional(ctx.NextMove ? 94 : 95);
|
|
535
553
|
} }, dependencies: [CommonModule, BaseFormsModule, i1.MjCollapsiblePanelComponent], styles: ["\n .mjc-ov { display: flex; flex-direction: column; gap: var(--mj-space-4); padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-5); }\n .mjc-ov-health { display: flex; flex-direction: column; gap: var(--mj-space-2); }\n .mjc-ov-alert {\n display: flex; align-items: center; gap: var(--mj-space-2);\n padding: var(--mj-space-2) var(--mj-space-3);\n background: var(--mj-status-warning-bg); color: var(--mj-status-warning-text);\n border-radius: var(--mj-radius-md); font-size: var(--mj-text-sm); font-weight: 600;\n }\n .mjc-ov-ok {\n display: flex; align-items: center; gap: var(--mj-space-2);\n padding: var(--mj-space-2) var(--mj-space-3);\n background: var(--mj-status-success-bg); color: var(--mj-status-success-text);\n border-radius: var(--mj-radius-md); font-size: var(--mj-text-sm); font-weight: 600;\n }\n .mjc-ov-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--mj-space-3); }\n @media (max-width: 900px) { .mjc-ov-strip { grid-template-columns: 1fr 1fr; } }\n .mjc-ov-kpi {\n background: var(--mj-bg-page); border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md); padding: var(--mj-space-3) var(--mj-space-4);\n }\n .mjc-ov-kpi .l {\n font-size: var(--mj-text-xs); text-transform: uppercase; letter-spacing: .04em;\n color: var(--mj-text-muted); font-weight: 700;\n }\n .mjc-ov-kpi .v { font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; margin-top: 4px; line-height: 1.2; }\n .mjc-ov-kpi .s { color: var(--mj-text-muted); font-size: var(--mj-text-sm); margin-top: 2px; }\n .mjc-ov-kpi[data-tone='warning'] .v { color: var(--mj-status-warning-text); }\n .mjc-ov-kpi[data-tone='success'] .v { color: var(--mj-status-success-text); }\n .mjc-ov-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--mj-space-3); }\n @media (max-width: 800px) { .mjc-ov-grid { grid-template-columns: 1fr; } }\n .mjc-ov-card {\n background: var(--mj-bg-page); border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md); padding: var(--mj-space-3) var(--mj-space-4);\n }\n .mjc-ov-card--wide { grid-column: 1 / -1; }\n .mjc-ov-card header {\n display: flex; align-items: center; gap: 8px;\n font-weight: 700; margin-bottom: var(--mj-space-3); color: var(--mj-text-primary);\n }\n .mjc-ov-card header i { color: var(--mj-brand-primary); width: 1.1rem; text-align: center; }\n .mjc-ov-facts { display: grid; grid-template-columns: 1fr 1fr; gap: var(--mj-space-3); }\n .mjc-ov-facts .l {\n font-size: var(--mj-text-xs); text-transform: uppercase; letter-spacing: .04em;\n color: var(--mj-text-muted); font-weight: 700;\n }\n .mjc-ov-facts .v { font-weight: 650; margin-top: 2px; }\n .mjc-ov-link {\n border: 0; padding: 0; background: transparent; color: var(--mj-text-link);\n cursor: pointer; font: inherit; font-weight: 650; text-align: left;\n }\n .mjc-ov-link:hover { text-decoration: underline; }\n .mjc-ov-next { margin: 0; font-size: 1.05rem; font-weight: 650; }\n .mjc-ov-empty { color: var(--mj-text-muted); margin: 0; }\n "], encapsulation: 2 });
|
|
536
554
|
};
|
|
537
555
|
MJCContractOverviewPanel = __decorate([
|
|
@@ -572,7 +590,7 @@ export { MJCContractOverviewPanel };
|
|
|
572
590
|
} @else if (Record.IsSaved) {
|
|
573
591
|
<div class="mjc-ov-ok">
|
|
574
592
|
<i class="fa-solid fa-circle-check" aria-hidden="true"></i>
|
|
575
|
-
|
|
593
|
+
No issues.
|
|
576
594
|
</div>
|
|
577
595
|
}
|
|
578
596
|
|
|
@@ -595,7 +613,6 @@ export { MJCContractOverviewPanel };
|
|
|
595
613
|
<div class="mjc-ov-kpi">
|
|
596
614
|
<div class="l">Auto-renew</div>
|
|
597
615
|
<div class="v">{{ Record.AutoRenew ? 'Yes' : 'No' }}</div>
|
|
598
|
-
<div class="s">{{ Record.AutoRenew ? 'as the paper states' : 'someone must act' }}</div>
|
|
599
616
|
</div>
|
|
600
617
|
</div>
|
|
601
618
|
|
|
@@ -619,8 +636,8 @@ export { MJCContractOverviewPanel };
|
|
|
619
636
|
} @else { {{ ContactName || '—' }} }
|
|
620
637
|
</div>
|
|
621
638
|
</div>
|
|
622
|
-
<div><div class="l">
|
|
623
|
-
<div><div class="l">Agreement</div><div class="v">{{ TemplateName || '
|
|
639
|
+
<div><div class="l">Company</div><div class="v">{{ CompanyName || '—' }}</div></div>
|
|
640
|
+
<div><div class="l">Agreement</div><div class="v">{{ TemplateName || 'None' }}</div></div>
|
|
624
641
|
</div>
|
|
625
642
|
</article>
|
|
626
643
|
<article class="mjc-ov-card">
|
|
@@ -631,21 +648,23 @@ export { MJCContractOverviewPanel };
|
|
|
631
648
|
<div><div class="l">Notice we owe</div><div class="v">{{ DaysLabel(Record.RenewalNoticeDays) }}</div></div>
|
|
632
649
|
<div><div class="l">Cancel window</div><div class="v">{{ DaysLabel(Record.CancellationWindowDays) }}</div></div>
|
|
633
650
|
<div><div class="l">Annual increase</div><div class="v">{{ IncreaseLabel }}</div></div>
|
|
634
|
-
|
|
635
|
-
<div class="
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
651
|
+
@if (HasSource) {
|
|
652
|
+
<div><div class="l">Created from</div>
|
|
653
|
+
<div class="v">
|
|
654
|
+
@if (CanOpenSource) {
|
|
655
|
+
<button type="button" class="mjc-ov-link" (click)="OpenSource($event)">{{ SourceLabel }}</button>
|
|
656
|
+
} @else { {{ SourceLabel }} }
|
|
657
|
+
</div>
|
|
639
658
|
</div>
|
|
640
|
-
|
|
659
|
+
}
|
|
641
660
|
</div>
|
|
642
661
|
</article>
|
|
643
662
|
<article class="mjc-ov-card mjc-ov-card--wide">
|
|
644
|
-
<header><i class="fa-solid fa-person-walking"></i>
|
|
663
|
+
<header><i class="fa-solid fa-person-walking"></i> Next step</header>
|
|
645
664
|
@if (NextMove) {
|
|
646
665
|
<p class="mjc-ov-next">{{ NextMove }}</p>
|
|
647
666
|
} @else {
|
|
648
|
-
<p class="mjc-ov-empty">No action
|
|
667
|
+
<p class="mjc-ov-empty">No action needed.</p>
|
|
649
668
|
}
|
|
650
669
|
</article>
|
|
651
670
|
</div>
|
|
@@ -653,7 +672,7 @@ export { MJCContractOverviewPanel };
|
|
|
653
672
|
</mj-collapsible-panel>
|
|
654
673
|
`, styles: ["\n .mjc-ov { display: flex; flex-direction: column; gap: var(--mj-space-4); padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-5); }\n .mjc-ov-health { display: flex; flex-direction: column; gap: var(--mj-space-2); }\n .mjc-ov-alert {\n display: flex; align-items: center; gap: var(--mj-space-2);\n padding: var(--mj-space-2) var(--mj-space-3);\n background: var(--mj-status-warning-bg); color: var(--mj-status-warning-text);\n border-radius: var(--mj-radius-md); font-size: var(--mj-text-sm); font-weight: 600;\n }\n .mjc-ov-ok {\n display: flex; align-items: center; gap: var(--mj-space-2);\n padding: var(--mj-space-2) var(--mj-space-3);\n background: var(--mj-status-success-bg); color: var(--mj-status-success-text);\n border-radius: var(--mj-radius-md); font-size: var(--mj-text-sm); font-weight: 600;\n }\n .mjc-ov-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--mj-space-3); }\n @media (max-width: 900px) { .mjc-ov-strip { grid-template-columns: 1fr 1fr; } }\n .mjc-ov-kpi {\n background: var(--mj-bg-page); border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md); padding: var(--mj-space-3) var(--mj-space-4);\n }\n .mjc-ov-kpi .l {\n font-size: var(--mj-text-xs); text-transform: uppercase; letter-spacing: .04em;\n color: var(--mj-text-muted); font-weight: 700;\n }\n .mjc-ov-kpi .v { font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; margin-top: 4px; line-height: 1.2; }\n .mjc-ov-kpi .s { color: var(--mj-text-muted); font-size: var(--mj-text-sm); margin-top: 2px; }\n .mjc-ov-kpi[data-tone='warning'] .v { color: var(--mj-status-warning-text); }\n .mjc-ov-kpi[data-tone='success'] .v { color: var(--mj-status-success-text); }\n .mjc-ov-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--mj-space-3); }\n @media (max-width: 800px) { .mjc-ov-grid { grid-template-columns: 1fr; } }\n .mjc-ov-card {\n background: var(--mj-bg-page); border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md); padding: var(--mj-space-3) var(--mj-space-4);\n }\n .mjc-ov-card--wide { grid-column: 1 / -1; }\n .mjc-ov-card header {\n display: flex; align-items: center; gap: 8px;\n font-weight: 700; margin-bottom: var(--mj-space-3); color: var(--mj-text-primary);\n }\n .mjc-ov-card header i { color: var(--mj-brand-primary); width: 1.1rem; text-align: center; }\n .mjc-ov-facts { display: grid; grid-template-columns: 1fr 1fr; gap: var(--mj-space-3); }\n .mjc-ov-facts .l {\n font-size: var(--mj-text-xs); text-transform: uppercase; letter-spacing: .04em;\n color: var(--mj-text-muted); font-weight: 700;\n }\n .mjc-ov-facts .v { font-weight: 650; margin-top: 2px; }\n .mjc-ov-link {\n border: 0; padding: 0; background: transparent; color: var(--mj-text-link);\n cursor: pointer; font: inherit; font-weight: 650; text-align: left;\n }\n .mjc-ov-link:hover { text-decoration: underline; }\n .mjc-ov-next { margin: 0; font-size: 1.05rem; font-weight: 650; }\n .mjc-ov-empty { color: var(--mj-text-muted); margin: 0; }\n "] }]
|
|
655
674
|
}], null, null); })();
|
|
656
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractOverviewPanel, { className: "MJCContractOverviewPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber:
|
|
675
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractOverviewPanel, { className: "MJCContractOverviewPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 271 }); })();
|
|
657
676
|
function daysUntil(d) {
|
|
658
677
|
if (!d)
|
|
659
678
|
return null;
|
|
@@ -670,11 +689,11 @@ function daysUntil(d) {
|
|
|
670
689
|
/* ── Field sections ───────────────────────────────────────────────────────── */
|
|
671
690
|
let MJCContractAgreementPanel = class MJCContractAgreementPanel extends BaseFormPanel {
|
|
672
691
|
Fields = [
|
|
673
|
-
{ name: 'ContractNumber', type: 'textbox' },
|
|
692
|
+
{ name: 'ContractNumber', type: 'textbox', readOnly: true },
|
|
674
693
|
{ name: 'ContractTypeID', type: 'textbox', link: 'Record' },
|
|
675
694
|
{ name: 'ContractTemplateID', type: 'textbox', link: 'Record' },
|
|
676
695
|
{ name: 'SigningProviderURL', type: 'textbox', link: 'URL' },
|
|
677
|
-
{ name: 'HasModifications', type: 'checkbox' },
|
|
696
|
+
{ name: 'HasModifications', type: 'checkbox', readOnly: true },
|
|
678
697
|
{ name: 'Description', type: 'textarea', span: true },
|
|
679
698
|
];
|
|
680
699
|
static ɵfac = /*@__PURE__*/ (() => { let ɵMJCContractAgreementPanel_BaseFactory; return function MJCContractAgreementPanel_Factory(__ngFactoryType__) { return (ɵMJCContractAgreementPanel_BaseFactory || (ɵMJCContractAgreementPanel_BaseFactory = i0.ɵɵgetInheritedFactory(MJCContractAgreementPanel)))(__ngFactoryType__ || MJCContractAgreementPanel); }; })();
|
|
@@ -705,7 +724,8 @@ export { MJCContractAgreementPanel };
|
|
|
705
724
|
@for (f of Fields; track f.name) {
|
|
706
725
|
<div class="mjc-fg" [class.mjc-fg--span]="f.span">
|
|
707
726
|
<mj-form-field [Record]="Record" [ShowLabel]="true" [FieldName]="f.name" [Type]="f.type"
|
|
708
|
-
[EditMode]="EditMode" [FormContext]="FormContext"
|
|
727
|
+
[EditMode]="f.readOnly ? false : EditMode" [FormContext]="FormContext"
|
|
728
|
+
[LinkType]="f.link ?? 'None'"
|
|
709
729
|
(Navigate)="FormComponent.OnFormNavigate($event)"></mj-form-field>
|
|
710
730
|
</div>
|
|
711
731
|
}
|
|
@@ -713,7 +733,7 @@ export { MJCContractAgreementPanel };
|
|
|
713
733
|
</mj-collapsible-panel>
|
|
714
734
|
`, styles: ["\n .mjc-fields-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4) var(--mj-space-5);\n padding: var(--mj-space-4) var(--mj-space-5);\n }\n @media (max-width: 720px) { .mjc-fields-grid { grid-template-columns: 1fr; } }\n .mjc-fg { min-width: 0; }\n .mjc-fg--span { grid-column: 1 / -1; }\n .mjc-fg .mj-forms-field {\n display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding: 0;\n }\n .mjc-fg .mj-forms-field-label {\n font-size: var(--mj-text-xs); font-weight: 700; letter-spacing: .06em;\n text-transform: uppercase; color: var(--mj-text-muted);\n }\n .mjc-fg .mj-forms-field--editing:hover { margin: 0; padding: 0; }\n"] }]
|
|
715
735
|
}], null, null); })();
|
|
716
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractAgreementPanel, { className: "MJCContractAgreementPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber:
|
|
736
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractAgreementPanel, { className: "MJCContractAgreementPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 441 }); })();
|
|
717
737
|
let MJCContractPartiesPanel = class MJCContractPartiesPanel extends BaseFormPanel {
|
|
718
738
|
/**
|
|
719
739
|
* Record links on these fields emit `Navigate` from `mj-form-field`. That output must be
|
|
@@ -757,7 +777,8 @@ export { MJCContractPartiesPanel };
|
|
|
757
777
|
@for (f of Fields; track f.name) {
|
|
758
778
|
<div class="mjc-fg" [class.mjc-fg--span]="f.span">
|
|
759
779
|
<mj-form-field [Record]="Record" [ShowLabel]="true" [FieldName]="f.name" [Type]="f.type"
|
|
760
|
-
[EditMode]="EditMode" [FormContext]="FormContext"
|
|
780
|
+
[EditMode]="f.readOnly ? false : EditMode" [FormContext]="FormContext"
|
|
781
|
+
[LinkType]="f.link ?? 'None'"
|
|
761
782
|
(Navigate)="FormComponent.OnFormNavigate($event)"></mj-form-field>
|
|
762
783
|
</div>
|
|
763
784
|
}
|
|
@@ -765,7 +786,7 @@ export { MJCContractPartiesPanel };
|
|
|
765
786
|
</mj-collapsible-panel>
|
|
766
787
|
`, styles: ["\n .mjc-fields-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4) var(--mj-space-5);\n padding: var(--mj-space-4) var(--mj-space-5);\n }\n @media (max-width: 720px) { .mjc-fields-grid { grid-template-columns: 1fr; } }\n .mjc-fg { min-width: 0; }\n .mjc-fg--span { grid-column: 1 / -1; }\n .mjc-fg .mj-forms-field {\n display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding: 0;\n }\n .mjc-fg .mj-forms-field-label {\n font-size: var(--mj-text-xs); font-weight: 700; letter-spacing: .06em;\n text-transform: uppercase; color: var(--mj-text-muted);\n }\n .mjc-fg .mj-forms-field--editing:hover { margin: 0; padding: 0; }\n"] }]
|
|
767
788
|
}], null, null); })();
|
|
768
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractPartiesPanel, { className: "MJCContractPartiesPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber:
|
|
789
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractPartiesPanel, { className: "MJCContractPartiesPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 482 }); })();
|
|
769
790
|
let MJCContractNotesPanel = class MJCContractNotesPanel extends BaseFormPanel {
|
|
770
791
|
Fields = [
|
|
771
792
|
{ name: 'Notes', type: 'textarea', span: true },
|
|
@@ -801,7 +822,8 @@ export { MJCContractNotesPanel };
|
|
|
801
822
|
@for (f of Fields; track f.name) {
|
|
802
823
|
<div class="mjc-fg" [class.mjc-fg--span]="f.span">
|
|
803
824
|
<mj-form-field [Record]="Record" [ShowLabel]="true" [FieldName]="f.name" [Type]="f.type"
|
|
804
|
-
[EditMode]="EditMode" [FormContext]="FormContext"
|
|
825
|
+
[EditMode]="f.readOnly ? false : EditMode" [FormContext]="FormContext"
|
|
826
|
+
[LinkType]="f.link ?? 'None'"
|
|
805
827
|
(Navigate)="FormComponent.OnFormNavigate($event)"></mj-form-field>
|
|
806
828
|
</div>
|
|
807
829
|
}
|
|
@@ -809,11 +831,34 @@ export { MJCContractNotesPanel };
|
|
|
809
831
|
</mj-collapsible-panel>
|
|
810
832
|
`, styles: ["\n .mjc-fields-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4) var(--mj-space-5);\n padding: var(--mj-space-4) var(--mj-space-5);\n }\n @media (max-width: 720px) { .mjc-fields-grid { grid-template-columns: 1fr; } }\n .mjc-fg { min-width: 0; }\n .mjc-fg--span { grid-column: 1 / -1; }\n .mjc-fg .mj-forms-field {\n display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding: 0;\n }\n .mjc-fg .mj-forms-field-label {\n font-size: var(--mj-text-xs); font-weight: 700; letter-spacing: .06em;\n text-transform: uppercase; color: var(--mj-text-muted);\n }\n .mjc-fg .mj-forms-field--editing:hover { margin: 0; padding: 0; }\n"] }]
|
|
811
833
|
}], null, null); })();
|
|
812
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractNotesPanel, { className: "MJCContractNotesPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber:
|
|
834
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractNotesPanel, { className: "MJCContractNotesPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 526 }); })();
|
|
813
835
|
let MJCContractProvenanceFieldsPanel = class MJCContractProvenanceFieldsPanel extends BaseFormPanel {
|
|
836
|
+
/**
|
|
837
|
+
* READ-ONLY, and the section KEPT — a deliberate departure from issue #28 item 18.
|
|
838
|
+
*
|
|
839
|
+
* Item 18 says to hide this section entirely, on the stated grounds that the hero's Source Deal
|
|
840
|
+
* link (item 1) replaces it. That premise does not hold yet. Item 1 renders the stat ONLY when
|
|
841
|
+
* `CreatingEntityID` and `CreatingRecordID` are both set, and on this database exactly one contract
|
|
842
|
+
* of eleven has them — `CTR-000026`, whose pair was typed in by hand: the entity is
|
|
843
|
+
* `MJ: Explorer Navigation Items` rather than Deals and the record id is not a valid UUID. So on
|
|
844
|
+
* every contract a person can currently open, the replacement is invisible. Hiding this section
|
|
845
|
+
* today would remove the only visible provenance for a stat that does not appear.
|
|
846
|
+
*
|
|
847
|
+
* WHAT ITEM 18 IS ACTUALLY ABOUT, and this half is not in doubt: these two fields rendered as
|
|
848
|
+
* ordinary inputs a person could type into, which is how that junk pair got there.
|
|
849
|
+
* `CreatingEntityID` is a real FK to `__mj.Entity` and `CreatingRecordID` is the row it names, and
|
|
850
|
+
* `CK_Contract_CreatingPairBothOrNeither` requires both or neither — so editing one field alone
|
|
851
|
+
* produces a save the constraint refuses, and editing both silently re-points a contract's
|
|
852
|
+
* provenance at an unrelated record, which is then what the hero's link displays. The server sets
|
|
853
|
+
* this pair (`LiveContractsSeam.setProvenance`, on Close-Won) and nothing else should.
|
|
854
|
+
*
|
|
855
|
+
* Read-only closes that defect and keeps the ids visible beneath the hero's human-readable name —
|
|
856
|
+
* complements rather than duplicates. Revisit hiding the section once a contract created by a real
|
|
857
|
+
* Close-Won deal exists to verify item 1 against.
|
|
858
|
+
*/
|
|
814
859
|
Fields = [
|
|
815
|
-
{ name: 'CreatingEntityID', type: 'textbox', link: 'Record' },
|
|
816
|
-
{ name: 'CreatingRecordID', type: 'textbox' },
|
|
860
|
+
{ name: 'CreatingEntityID', type: 'textbox', link: 'Record', readOnly: true },
|
|
861
|
+
{ name: 'CreatingRecordID', type: 'textbox', readOnly: true },
|
|
817
862
|
];
|
|
818
863
|
static ɵfac = /*@__PURE__*/ (() => { let ɵMJCContractProvenanceFieldsPanel_BaseFactory; return function MJCContractProvenanceFieldsPanel_Factory(__ngFactoryType__) { return (ɵMJCContractProvenanceFieldsPanel_BaseFactory || (ɵMJCContractProvenanceFieldsPanel_BaseFactory = i0.ɵɵgetInheritedFactory(MJCContractProvenanceFieldsPanel)))(__ngFactoryType__ || MJCContractProvenanceFieldsPanel); }; })();
|
|
819
864
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJCContractProvenanceFieldsPanel, selectors: [["mjc-contract-provenance-panel"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 2, consts: [["SectionKey", "origin", "SectionName", "Provenance", "Icon", "fa-solid fa-diagram-project", 3, "Form", "FormContext"], [1, "mjc-fields-grid"], [1, "mjc-fg", 3, "mjc-fg--span"], [1, "mjc-fg"], [3, "Navigate", "Record", "ShowLabel", "FieldName", "Type", "EditMode", "FormContext", "LinkType"]], template: function MJCContractProvenanceFieldsPanel_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -846,7 +891,8 @@ export { MJCContractProvenanceFieldsPanel };
|
|
|
846
891
|
@for (f of Fields; track f.name) {
|
|
847
892
|
<div class="mjc-fg" [class.mjc-fg--span]="f.span">
|
|
848
893
|
<mj-form-field [Record]="Record" [ShowLabel]="true" [FieldName]="f.name" [Type]="f.type"
|
|
849
|
-
[EditMode]="EditMode" [FormContext]="FormContext"
|
|
894
|
+
[EditMode]="f.readOnly ? false : EditMode" [FormContext]="FormContext"
|
|
895
|
+
[LinkType]="f.link ?? 'None'"
|
|
850
896
|
(Navigate)="FormComponent.OnFormNavigate($event)"></mj-form-field>
|
|
851
897
|
</div>
|
|
852
898
|
}
|
|
@@ -854,11 +900,11 @@ export { MJCContractProvenanceFieldsPanel };
|
|
|
854
900
|
</mj-collapsible-panel>
|
|
855
901
|
`, styles: ["\n .mjc-fields-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4) var(--mj-space-5);\n padding: var(--mj-space-4) var(--mj-space-5);\n }\n @media (max-width: 720px) { .mjc-fields-grid { grid-template-columns: 1fr; } }\n .mjc-fg { min-width: 0; }\n .mjc-fg--span { grid-column: 1 / -1; }\n .mjc-fg .mj-forms-field {\n display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding: 0;\n }\n .mjc-fg .mj-forms-field-label {\n font-size: var(--mj-text-xs); font-weight: 700; letter-spacing: .06em;\n text-transform: uppercase; color: var(--mj-text-muted);\n }\n .mjc-fg .mj-forms-field--editing:hover { margin: 0; padding: 0; }\n"] }]
|
|
856
902
|
}], null, null); })();
|
|
857
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractProvenanceFieldsPanel, { className: "MJCContractProvenanceFieldsPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber:
|
|
903
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractProvenanceFieldsPanel, { className: "MJCContractProvenanceFieldsPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 562 }); })();
|
|
858
904
|
let MJCContractLifecyclePanel = class MJCContractLifecyclePanel extends BaseFormPanel {
|
|
859
905
|
Fields = [
|
|
860
906
|
{ name: 'ParentContractID', type: 'textbox', link: 'Record' },
|
|
861
|
-
{ name: 'SupersededByContractID', type: 'textbox', link: 'Record' },
|
|
907
|
+
{ name: 'SupersededByContractID', type: 'textbox', link: 'Record', readOnly: true },
|
|
862
908
|
];
|
|
863
909
|
static ɵfac = /*@__PURE__*/ (() => { let ɵMJCContractLifecyclePanel_BaseFactory; return function MJCContractLifecyclePanel_Factory(__ngFactoryType__) { return (ɵMJCContractLifecyclePanel_BaseFactory || (ɵMJCContractLifecyclePanel_BaseFactory = i0.ɵɵgetInheritedFactory(MJCContractLifecyclePanel)))(__ngFactoryType__ || MJCContractLifecyclePanel); }; })();
|
|
864
910
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJCContractLifecyclePanel, selectors: [["mjc-contract-lifecycle-panel"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 2, consts: [["SectionKey", "lifecycle", "SectionName", "Change orders", "Icon", "fa-solid fa-code-branch", 3, "Form", "FormContext"], [1, "mjc-fields-grid"], [1, "mjc-fg", 3, "mjc-fg--span"], [1, "mjc-fg"], [3, "Navigate", "Record", "ShowLabel", "FieldName", "Type", "EditMode", "FormContext", "LinkType"]], template: function MJCContractLifecyclePanel_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -891,7 +937,8 @@ export { MJCContractLifecyclePanel };
|
|
|
891
937
|
@for (f of Fields; track f.name) {
|
|
892
938
|
<div class="mjc-fg" [class.mjc-fg--span]="f.span">
|
|
893
939
|
<mj-form-field [Record]="Record" [ShowLabel]="true" [FieldName]="f.name" [Type]="f.type"
|
|
894
|
-
[EditMode]="EditMode" [FormContext]="FormContext"
|
|
940
|
+
[EditMode]="f.readOnly ? false : EditMode" [FormContext]="FormContext"
|
|
941
|
+
[LinkType]="f.link ?? 'None'"
|
|
895
942
|
(Navigate)="FormComponent.OnFormNavigate($event)"></mj-form-field>
|
|
896
943
|
</div>
|
|
897
944
|
}
|
|
@@ -899,7 +946,7 @@ export { MJCContractLifecyclePanel };
|
|
|
899
946
|
</mj-collapsible-panel>
|
|
900
947
|
`, styles: ["\n .mjc-fields-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4) var(--mj-space-5);\n padding: var(--mj-space-4) var(--mj-space-5);\n }\n @media (max-width: 720px) { .mjc-fields-grid { grid-template-columns: 1fr; } }\n .mjc-fg { min-width: 0; }\n .mjc-fg--span { grid-column: 1 / -1; }\n .mjc-fg .mj-forms-field {\n display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding: 0;\n }\n .mjc-fg .mj-forms-field-label {\n font-size: var(--mj-text-xs); font-weight: 700; letter-spacing: .06em;\n text-transform: uppercase; color: var(--mj-text-muted);\n }\n .mjc-fg .mj-forms-field--editing:hover { margin: 0; padding: 0; }\n"] }]
|
|
901
948
|
}], null, null); })();
|
|
902
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractLifecyclePanel, { className: "MJCContractLifecyclePanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber:
|
|
949
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractLifecyclePanel, { className: "MJCContractLifecyclePanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 622 }); })();
|
|
903
950
|
let MJCContractModificationsPanel = class MJCContractModificationsPanel extends BaseFormPanel {
|
|
904
951
|
Entity = MJC_ENTITIES.ContractTemplateModification;
|
|
905
952
|
OnDataLoad(event) {
|
|
@@ -951,5 +998,5 @@ export { MJCContractModificationsPanel };
|
|
|
951
998
|
`,
|
|
952
999
|
}]
|
|
953
1000
|
}], null, null); })();
|
|
954
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractModificationsPanel, { className: "MJCContractModificationsPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber:
|
|
1001
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractModificationsPanel, { className: "MJCContractModificationsPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 658 }); })();
|
|
955
1002
|
//# sourceMappingURL=contract-form.panels.js.map
|