@mj-biz-apps/contracts-ng 0.4.1 → 0.4.2

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.
@@ -29,5 +29,18 @@ export declare const MJC_FOREIGN_ENTITIES: {
29
29
  readonly File: "MJ: Files";
30
30
  readonly FileCategory: "MJ: File Categories";
31
31
  readonly FileEntityRecordLink: "MJ: File Entity Record Links";
32
+ /**
33
+ * bizapps-SALES, and read SOFTLY — no manifest dependency, deliberately (golive #219).
34
+ *
35
+ * Sales depends on THIS app: its Close-Won seam is what creates contracts. That is precisely why
36
+ * a contract's provenance is the polymorphic `CreatingEntityID` / `CreatingRecordID` pair rather
37
+ * than a `DealID` column — a hard reference upward would invert the dependency graph, and the
38
+ * Contract entity's own description says so in as many words.
39
+ *
40
+ * So this is a NAME resolved from provider metadata at runtime and nothing more. No import, no
41
+ * entry in `mj-app.json`. An installation without sales finds no such entity, and the Source-record
42
+ * picker does not render — a supported state, not a failure.
43
+ */
44
+ readonly Deal: "MJ_BizApps_Sales: Deals";
32
45
  };
33
46
  //# sourceMappingURL=entity-names.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-names.d.ts","sourceRoot":"","sources":["../../../src/lib/data/entity-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,kCAAkC;AAClC,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAEX,iGAAiG;AACjG,eAAO,MAAM,oBAAoB;;;IAG7B,sFAAsF;;IAEtF,4GAA4G;;;;CAItG,CAAC"}
1
+ {"version":3,"file":"entity-names.d.ts","sourceRoot":"","sources":["../../../src/lib/data/entity-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,kCAAkC;AAClC,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAEX,iGAAiG;AACjG,eAAO,MAAM,oBAAoB;;;IAG7B,sFAAsF;;IAEtF,4GAA4G;;;;IAI5G;;;;;;;;;;;OAWG;;CAEG,CAAC"}
@@ -29,5 +29,18 @@ export const MJC_FOREIGN_ENTITIES = {
29
29
  File: 'MJ: Files',
30
30
  FileCategory: 'MJ: File Categories',
31
31
  FileEntityRecordLink: 'MJ: File Entity Record Links',
32
+ /**
33
+ * bizapps-SALES, and read SOFTLY — no manifest dependency, deliberately (golive #219).
34
+ *
35
+ * Sales depends on THIS app: its Close-Won seam is what creates contracts. That is precisely why
36
+ * a contract's provenance is the polymorphic `CreatingEntityID` / `CreatingRecordID` pair rather
37
+ * than a `DealID` column — a hard reference upward would invert the dependency graph, and the
38
+ * Contract entity's own description says so in as many words.
39
+ *
40
+ * So this is a NAME resolved from provider metadata at runtime and nothing more. No import, no
41
+ * entry in `mj-app.json`. An installation without sales finds no such entity, and the Source-record
42
+ * picker does not render — a supported state, not a failure.
43
+ */
44
+ Deal: 'MJ_BizApps_Sales: Deals',
32
45
  };
33
46
  //# sourceMappingURL=entity-names.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-names.js","sourceRoot":"","sources":["../../../src/lib/data/entity-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,kCAAkC;AAClC,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,QAAQ,EAAE,iCAAiC;IAC3C,YAAY,EAAE,sCAAsC;IACpD,gBAAgB,EAAE,0CAA0C;IAC5D,oBAAoB,EAAE,+CAA+C;IACrE,yBAAyB,EAAE,oDAAoD;IAC/E,4BAA4B,EAAE,uDAAuD;CAC/E,CAAC;AAEX,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,YAAY,EAAE,kCAAkC;IAChD,MAAM,EAAE,2BAA2B;IACnC,sFAAsF;IACtF,OAAO,EAAE,eAAe;IACxB,4GAA4G;IAC5G,IAAI,EAAE,WAAW;IACjB,YAAY,EAAE,qBAAqB;IACnC,oBAAoB,EAAE,8BAA8B;CAC9C,CAAC"}
1
+ {"version":3,"file":"entity-names.js","sourceRoot":"","sources":["../../../src/lib/data/entity-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,kCAAkC;AAClC,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,QAAQ,EAAE,iCAAiC;IAC3C,YAAY,EAAE,sCAAsC;IACpD,gBAAgB,EAAE,0CAA0C;IAC5D,oBAAoB,EAAE,+CAA+C;IACrE,yBAAyB,EAAE,oDAAoD;IAC/E,4BAA4B,EAAE,uDAAuD;CAC/E,CAAC;AAEX,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,YAAY,EAAE,kCAAkC;IAChD,MAAM,EAAE,2BAA2B;IACnC,sFAAsF;IACtF,OAAO,EAAE,eAAe;IACxB,4GAA4G;IAC5G,IAAI,EAAE,WAAW;IACjB,YAAY,EAAE,qBAAqB;IACnC,oBAAoB,EAAE,8BAA8B;IACpD;;;;;;;;;;;OAWG;IACH,IAAI,EAAE,yBAAyB;CACzB,CAAC"}
@@ -1,7 +1,17 @@
1
1
  import { BaseFormPanel } from '@memberjunction/ng-base-forms';
2
2
  import type { AfterDataLoadEventArgs } from '@memberjunction/ng-entity-viewer';
3
- import { ContractEntity, type ContractState } from '@mj-biz-apps/contracts-entities';
3
+ import { ContractEntity, type ContractState, type DealOption } from '@mj-biz-apps/contracts-entities';
4
4
  import * as i0 from "@angular/core";
5
+ /**
6
+ * A deal option with its rendered label attached (golive #219).
7
+ *
8
+ * The label is computed ONCE per row, on load, rather than from a template call: `mj-combobox` reads
9
+ * `TextField` on every change-detection pass and for every option, so a function there re-renders the
10
+ * whole list on each keystroke.
11
+ */
12
+ interface DealChoice extends DealOption {
13
+ Label: string;
14
+ }
5
15
  type ContractFieldType = 'textbox' | 'textarea' | 'number' | 'datepicker' | 'checkbox' | 'select' | 'autocomplete' | 'code' | 'dropdownlist' | 'numerictextbox';
6
16
  interface ContractFieldSpec {
7
17
  name: string;
@@ -69,30 +79,138 @@ export declare class MJCContractNotesPanel extends BaseFormPanel<ContractEntity>
69
79
  static ɵcmp: i0.ɵɵComponentDeclaration<MJCContractNotesPanel, "mjc-contract-notes-panel", never, {}, {}, never, never, true, never>;
70
80
  }
71
81
  export declare class MJCContractProvenanceFieldsPanel extends BaseFormPanel<ContractEntity> {
82
+ private readonly cdr;
72
83
  /**
73
- * READ-ONLY, and the section KEPT a deliberate departure from issue #28 item 18.
74
- *
75
- * Item 18 says to hide this section entirely, on the stated grounds that the hero's Source Deal
76
- * link (item 1) replaces it. That premise does not hold yet. Item 1 renders the stat ONLY when
77
- * `CreatingEntityID` and `CreatingRecordID` are both set, and on this database exactly one contract
78
- * of eleven has them `CTR-000026`, whose pair was typed in by hand: the entity is
79
- * `MJ: Explorer Navigation Items` rather than Deals and the record id is not a valid UUID. So on
80
- * every contract a person can currently open, the replacement is invisible. Hiding this section
81
- * today would remove the only visible provenance for a stat that does not appear.
82
- *
83
- * WHAT ITEM 18 IS ACTUALLY ABOUT, and this half is not in doubt: these two fields rendered as
84
- * ordinary inputs a person could type into, which is how that junk pair got there.
85
- * `CreatingEntityID` is a real FK to `__mj.Entity` and `CreatingRecordID` is the row it names, and
86
- * `CK_Contract_CreatingPairBothOrNeither` requires both or neither so editing one field alone
87
- * produces a save the constraint refuses, and editing both silently re-points a contract's
88
- * provenance at an unrelated record, which is then what the hero's link displays. The server sets
89
- * this pair (`LiveContractsSeam.setProvenance`, on Close-Won) and nothing else should.
90
- *
91
- * Read-only closes that defect and keeps the ids visible beneath the hero's human-readable name
92
- * complements rather than duplicates. Revisit hiding the section once a contract created by a real
93
- * Close-Won deal exists to verify item 1 against.
84
+ * THE RAW IDS STAY, AND STAY READ-ONLY. The lookup above is what WRITES them (golive #219).
85
+ *
86
+ * ── WHY THEY WERE READ-ONLY, WHICH HAS NOT CHANGED ────────────────────────────────────────
87
+ *
88
+ * `CreatingEntityID` is a real FK to `__mj.Entity` and `CreatingRecordID` is the row it names, under
89
+ * `CK_Contract_CreatingPairBothOrNeither`both or neither. Rendered as two ordinary inputs
90
+ * (contracts#28 item 18) they produced exactly the two failures the shape invites: editing one
91
+ * alone is a save the constraint refuses, and editing both silently re-points a contract's
92
+ * provenance at an unrelated record. `CTR-000026` still carries the evidence a hand-typed pair
93
+ * naming `MJ: Explorer Navigation Items` with a record id that is not a UUID.
94
+ *
95
+ * ── WHAT #219 ADDS, AND WHY IT IS NOT A REVERSAL ──────────────────────────────────────────
96
+ *
97
+ * Story C-US1 says finance may attach a MANUALLY created contract to an existing deal. Item 18's
98
+ * read-only made that impossible: the Close Won seam became not just the preferred writer but the
99
+ * only one, and a contract typed in by hand could never show its deal. The answer is not to reopen
100
+ * the fields it is to write them through a control that cannot produce a half pair. The lookup
101
+ * sets both halves from one chosen deal and clears both together; these two remain what they became
102
+ * in item 18, a read-only audit of what the pair actually holds, sitting under a human-readable name.
103
+ *
104
+ * The SECTION is likewise kept rather than hidden (item 18 asked for it gone, on the premise that
105
+ * the hero's Source Deal stat replaces it). With #219 that premise becomes true for deals — but the
106
+ * pair is polymorphic and the stat renders only what it can resolve, so the ids stay as the one
107
+ * place a reader can see the provenance verbatim, which is item 3 of #219.
94
108
  */
95
109
  readonly Fields: ContractFieldSpec[];
110
+ /** Options for the picker. Never read directly — go through the `Deals` getter, which loads. */
111
+ private _deals;
112
+ /** Bound to the combobox. Mirrors `CreatingRecordID`, and is '' whenever the source is not a deal. */
113
+ PickedDealID: string;
114
+ Loading: boolean;
115
+ /** Why the list is empty, when the reason is a failure rather than genuinely nothing. */
116
+ LoadError: string;
117
+ /** The pair names a record of some OTHER entity — surfaced rather than silently shown as blank. */
118
+ ForeignSource: boolean;
119
+ /** This contract arrived with provenance already recorded, so re-pointing takes a second click. */
120
+ Locked: boolean;
121
+ /** Label of the deal currently linked, for the locked line. */
122
+ SelectedLabel: string;
123
+ /**
124
+ * Which contract the picker was loaded for — not merely whether it was.
125
+ *
126
+ * The form reuses one component instance as it navigates, so a boolean leaves the PREVIOUS
127
+ * contract's candidates in the dropdown: a list scoped to the previous customer, which is a wrong
128
+ * list rather than a stale one. Same defect, same fix, as the Supersedes picker (contracts#28
129
+ * item 23).
130
+ */
131
+ private loadedFor;
132
+ private searchTimer;
133
+ /**
134
+ * Is there a Deals entity this user can see?
135
+ *
136
+ * Resolved from METADATA BY NAME, never imported: sales depends on contracts, so this app may not
137
+ * depend on sales (see `MJC_FOREIGN_ENTITIES.Deal`). A host without sales installed, or a user
138
+ * without read permission, simply gets no picker — the read-only ids and the hint below say so
139
+ * rather than rendering a control that can find nothing.
140
+ */
141
+ get DealLookupAvailable(): boolean;
142
+ /**
143
+ * Whether to render the lookup — AND the panel's single load trigger.
144
+ *
145
+ * `BaseFormPanel` has no lifecycle hook and the slot host sets `Record` before view init, so the
146
+ * first template read is the earliest reliable moment to do per-record work. This is the FIRST
147
+ * thing the template reads, which is the whole reason the trigger lives here rather than on
148
+ * `Deals`: the options are read inside the unlocked branch only, so a contract that arrives with
149
+ * provenance would never read them, `syncFromRecord()` would never run, and `Locked` would never
150
+ * become true — the guard silently absent on exactly the records it exists to protect.
151
+ *
152
+ * Keyed on the record so navigating the form to another contract re-syncs and reloads.
153
+ */
154
+ get ShowLookup(): boolean;
155
+ /** The candidate deals. Loaded by {@link ShowLookup}; this is a plain read. */
156
+ get Deals(): DealChoice[];
157
+ /**
158
+ * What the locked line says about the existing link.
159
+ *
160
+ * Deliberately does NOT claim the Close Won automation set it: nothing on the row records who
161
+ * did, and a contract linked by hand, saved and reopened arrives locked the same way. The panel
162
+ * says what it can actually see — the deal's name when the list has it, that the source is not a
163
+ * deal when the entity half says so, and otherwise nothing more than that something is linked.
164
+ * The raw ids sit directly below either way.
165
+ */
166
+ get LockedSummary(): string;
167
+ /** Release the re-point guard. Deliberate, and only ever by a click. */
168
+ Unlock(): void;
169
+ /**
170
+ * Take a chosen deal — and write BOTH halves of the pair, always.
171
+ *
172
+ * This is the whole reason the control exists. There is no path here that sets one column: a
173
+ * chosen deal writes the Deals entity id together with the deal's own id, and an empty selection
174
+ * goes through {@link ClearSource}, which empties both. The database's both-or-neither constraint
175
+ * (and the validator CodeGen derives from it) can therefore never be the thing that reports a
176
+ * mistake this form allowed a person to make.
177
+ */
178
+ PickDeal(dealID: string | null | undefined): void;
179
+ /** Empty BOTH halves. The constraint's other legal state, and #219's third acceptance criterion. */
180
+ ClearSource(): void;
181
+ /**
182
+ * Re-query as the user types, debounced.
183
+ *
184
+ * SERVER-SIDE, with the combobox's own `Filterable` off. Client filtering would need every deal in
185
+ * the database loaded to be correct, and it filters on the option LABEL — so a search that matched
186
+ * a customer whose name the label abbreviates would hide rows the server just returned. One
187
+ * authority for what matches, and it is the query.
188
+ */
189
+ Search(text: string): void;
190
+ /** The Deals entity's id, or null when this installation has no such entity. */
191
+ private dealEntityID;
192
+ /**
193
+ * Read the record's pair into the control's own state.
194
+ *
195
+ * The pair is POLYMORPHIC, so "there is a `CreatingRecordID`" does not mean "a deal is selected".
196
+ * Pre-selecting on the record id alone would show an unrelated record's id as the chosen deal; the
197
+ * entity half has to agree first, and when it does not, `ForeignSource` says so out loud.
198
+ *
199
+ * `Locked` is captured HERE — from what the record ARRIVED with — and never recomputed live. A
200
+ * live "already set, so lock it" would re-lock the instant a user picked a deal, which is the
201
+ * guard eating the very edit it was there to confirm.
202
+ */
203
+ private syncFromRecord;
204
+ /**
205
+ * Load the options.
206
+ *
207
+ * With nothing typed this is the contract's customer's deals — #219 item 2's "prefer deals for the
208
+ * contract's customer organization" — ORed with the deal already linked, so a contract pointed at
209
+ * a deal outside its customer still shows what it is pointed AT rather than a blank box. Typing
210
+ * widens the search to every deal by name, number or customer. The clauses themselves live in
211
+ * `@mj-biz-apps/contracts-entities`, where they can be unit-tested without Angular.
212
+ */
213
+ private load;
96
214
  static ɵfac: i0.ɵɵFactoryDeclaration<MJCContractProvenanceFieldsPanel, never>;
97
215
  static ɵcmp: i0.ɵɵComponentDeclaration<MJCContractProvenanceFieldsPanel, "mjc-contract-provenance-panel", never, {}, {}, never, never, true, never>;
98
216
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contract-form.panels.d.ts","sourceRoot":"","sources":["../../../src/lib/form-panels/contract-form.panels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-form.panels.d.ts","sourceRoot":"","sources":["../../../src/lib/form-panels/contract-form.panels.ts"],"names":[],"mappings":"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"}
@@ -19,14 +19,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
19
19
  *
20
20
  * @module @mj-biz-apps/contracts-ng
21
21
  */
22
- import { Component, ViewEncapsulation } from '@angular/core';
22
+ import { ChangeDetectorRef, Component, ViewEncapsulation, inject } from '@angular/core';
23
23
  import { CommonModule } from '@angular/common';
24
+ import { FormsModule } from '@angular/forms';
24
25
  import { CompositeKey } from '@memberjunction/core';
25
26
  import { RegisterClassEx } from '@memberjunction/global';
26
27
  import { BaseFormPanel, BaseFormsModule } from '@memberjunction/ng-base-forms';
28
+ import { MJAlertComponent, MJButtonDirective, MJComboboxComponent } from '@memberjunction/ng-ui-components';
29
+ import { DealIDClause, DealOptionLabel, DealSearchClause, } from '@mj-biz-apps/contracts-entities';
27
30
  import { MJC_ENTITIES, MJC_FOREIGN_ENTITIES } from '../data/entity-names';
28
31
  import * as i0 from "@angular/core";
29
32
  import * as i1 from "@memberjunction/ng-base-forms";
33
+ import * as i2 from "@angular/forms";
30
34
  function MJCContractOverviewPanel_Conditional_2_For_2_Template(rf, ctx) { if (rf & 1) {
31
35
  i0.ɵɵelementStart(0, "div", 19);
32
36
  i0.ɵɵelement(1, "i", 20);
@@ -167,17 +171,100 @@ function MJCContractNotesPanel_For_3_Template(rf, ctx) { if (rf & 1) {
167
171
  i0.ɵɵadvance();
168
172
  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
173
  } }
170
- function MJCContractProvenanceFieldsPanel_For_3_Template(rf, ctx) { if (rf & 1) {
174
+ function MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
171
175
  const _r1 = i0.ɵɵgetCurrentView();
172
- i0.ɵɵelementStart(0, "div", 3)(1, "mj-form-field", 4);
173
- i0.ɵɵlistener("Navigate", function MJCContractProvenanceFieldsPanel_For_3_Template_mj_form_field_Navigate_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.FormComponent.OnFormNavigate($event)); });
176
+ i0.ɵɵelementStart(0, "span", 7);
177
+ i0.ɵɵtext(1);
178
+ i0.ɵɵelementStart(2, "span", 8);
179
+ i0.ɵɵtext(3, "Already recorded");
174
180
  i0.ɵɵelementEnd()();
181
+ i0.ɵɵelementStart(4, "button", 9);
182
+ i0.ɵɵlistener("click", function MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_5_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.Unlock()); });
183
+ i0.ɵɵtext(5, " Change source ");
184
+ i0.ɵɵelementEnd();
185
+ i0.ɵɵelementStart(6, "div", 10);
186
+ i0.ɵɵtext(7, " This contract already records where it came from \u2014 usually the deal that closed it. Re-pointing that is rewriting history, so it takes a deliberate second click. ");
187
+ i0.ɵɵelementEnd();
188
+ } if (rf & 2) {
189
+ const ctx_r1 = i0.ɵɵnextContext(2);
190
+ i0.ɵɵadvance();
191
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.LockedSummary, " ");
192
+ } }
193
+ function MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
194
+ const _r4 = i0.ɵɵgetCurrentView();
195
+ i0.ɵɵelementStart(0, "button", 9);
196
+ i0.ɵɵlistener("click", function MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.ClearSource()); });
197
+ i0.ɵɵtext(1, " Clear ");
198
+ i0.ɵɵelementEnd();
199
+ } }
200
+ function MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Conditional_4_Template(rf, ctx) { if (rf & 1) {
201
+ i0.ɵɵelementStart(0, "div", 10);
202
+ i0.ɵɵtext(1, "Searching deals\u2026");
203
+ i0.ɵɵelementEnd();
204
+ } }
205
+ function MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Conditional_5_Template(rf, ctx) { if (rf & 1) {
206
+ i0.ɵɵelement(0, "mj-alert", 13);
207
+ } if (rf & 2) {
208
+ const ctx_r1 = i0.ɵɵnextContext(3);
209
+ i0.ɵɵproperty("Message", ctx_r1.LoadError);
210
+ } }
211
+ function MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Conditional_6_Template(rf, ctx) { if (rf & 1) {
212
+ i0.ɵɵelement(0, "mj-alert", 13);
213
+ } if (rf & 2) {
214
+ i0.ɵɵproperty("Message", "This contract\u2019s source is not a deal \u2014 the fields below name the record it points at. Choosing a deal here replaces it.");
215
+ } }
216
+ function MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
217
+ const _r3 = i0.ɵɵgetCurrentView();
218
+ i0.ɵɵelementStart(0, "mj-combobox", 11);
219
+ i0.ɵɵlistener("ngModelChange", function MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Template_mj_combobox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.PickDeal($event)); })("FilterChange", function MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Template_mj_combobox_FilterChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.Search($event)); });
220
+ i0.ɵɵelementEnd();
221
+ i0.ɵɵconditionalCreate(1, MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Conditional_1_Template, 2, 0, "button", 12);
222
+ i0.ɵɵelementStart(2, "div", 10);
223
+ i0.ɵɵtext(3, " Starts with this customer's deals; typing searches every deal by name, number or customer. Choosing one fills both fields below \u2014 Save commits them. ");
224
+ i0.ɵɵelementEnd();
225
+ i0.ɵɵconditionalCreate(4, MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Conditional_4_Template, 2, 0, "div", 10);
226
+ i0.ɵɵconditionalCreate(5, MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Conditional_5_Template, 1, 1, "mj-alert", 13);
227
+ i0.ɵɵconditionalCreate(6, MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Conditional_6_Template, 1, 1, "mj-alert", 13);
228
+ } if (rf & 2) {
229
+ const ctx_r1 = i0.ɵɵnextContext(2);
230
+ i0.ɵɵproperty("Data", ctx_r1.Deals)("ValuePrimitive", true)("Filterable", false)("ngModel", ctx_r1.PickedDealID);
231
+ i0.ɵɵadvance();
232
+ i0.ɵɵconditional(ctx_r1.PickedDealID ? 1 : -1);
233
+ i0.ɵɵadvance(3);
234
+ i0.ɵɵconditional(ctx_r1.Loading ? 4 : -1);
235
+ i0.ɵɵadvance();
236
+ i0.ɵɵconditional(ctx_r1.LoadError ? 5 : -1);
237
+ i0.ɵɵadvance();
238
+ i0.ɵɵconditional(ctx_r1.ForeignSource ? 6 : -1);
239
+ } }
240
+ function MJCContractProvenanceFieldsPanel_Conditional_2_Template(rf, ctx) { if (rf & 1) {
241
+ i0.ɵɵelementStart(0, "div", 2)(1, "div", 4)(2, "label", 5);
242
+ i0.ɵɵtext(3, "Source deal");
243
+ i0.ɵɵelementEnd();
244
+ i0.ɵɵelementStart(4, "div", 6);
245
+ i0.ɵɵconditionalCreate(5, MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_5_Template, 8, 1)(6, MJCContractProvenanceFieldsPanel_Conditional_2_Conditional_6_Template, 7, 8);
246
+ i0.ɵɵelementEnd()()();
175
247
  } if (rf & 2) {
176
- const f_r3 = ctx.$implicit;
177
248
  const ctx_r1 = i0.ɵɵnextContext();
178
- i0.ɵɵclassProp("mjc-fg--span", f_r3.span);
249
+ i0.ɵɵadvance(5);
250
+ i0.ɵɵconditional(ctx_r1.Locked ? 5 : 6);
251
+ } }
252
+ function MJCContractProvenanceFieldsPanel_Conditional_3_Template(rf, ctx) { if (rf & 1) {
253
+ i0.ɵɵelementStart(0, "div", 2)(1, "div", 10);
254
+ i0.ɵɵtext(2, " No deal lookup here: this installation has no Deals entity, or you cannot read it. The fields below stay read-only rather than offering two ids to type by hand. ");
255
+ i0.ɵɵelementEnd()();
256
+ } }
257
+ function MJCContractProvenanceFieldsPanel_For_5_Template(rf, ctx) { if (rf & 1) {
258
+ const _r5 = i0.ɵɵgetCurrentView();
259
+ i0.ɵɵelementStart(0, "div", 14)(1, "mj-form-field", 15);
260
+ i0.ɵɵlistener("Navigate", function MJCContractProvenanceFieldsPanel_For_5_Template_mj_form_field_Navigate_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.FormComponent.OnFormNavigate($event)); });
261
+ i0.ɵɵelementEnd()();
262
+ } if (rf & 2) {
263
+ const f_r6 = ctx.$implicit;
264
+ const ctx_r1 = i0.ɵɵnextContext();
265
+ i0.ɵɵclassProp("mjc-fg--span", f_r6.span);
179
266
  i0.ɵɵadvance();
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");
267
+ i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("FieldName", f_r6.name)("Type", f_r6.type)("EditMode", f_r6.readOnly ? false : ctx_r1.EditMode)("FormContext", ctx_r1.FormContext)("LinkType", f_r6.link ?? "None");
181
268
  } }
182
269
  function MJCContractLifecyclePanel_For_3_Template(rf, ctx) { if (rf & 1) {
183
270
  const _r1 = i0.ɵɵgetCurrentView();
@@ -672,7 +759,7 @@ export { MJCContractOverviewPanel };
672
759
  </mj-collapsible-panel>
673
760
  `, 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 "] }]
674
761
  }], null, null); })();
675
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractOverviewPanel, { className: "MJCContractOverviewPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 271 }); })();
762
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractOverviewPanel, { className: "MJCContractOverviewPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 291 }); })();
676
763
  function daysUntil(d) {
677
764
  if (!d)
678
765
  return null;
@@ -733,7 +820,7 @@ export { MJCContractAgreementPanel };
733
820
  </mj-collapsible-panel>
734
821
  `, 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"] }]
735
822
  }], null, null); })();
736
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractAgreementPanel, { className: "MJCContractAgreementPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 441 }); })();
823
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractAgreementPanel, { className: "MJCContractAgreementPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 461 }); })();
737
824
  let MJCContractPartiesPanel = class MJCContractPartiesPanel extends BaseFormPanel {
738
825
  /**
739
826
  * Record links on these fields emit `Navigate` from `mj-form-field`. That output must be
@@ -786,7 +873,7 @@ export { MJCContractPartiesPanel };
786
873
  </mj-collapsible-panel>
787
874
  `, 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"] }]
788
875
  }], null, null); })();
789
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractPartiesPanel, { className: "MJCContractPartiesPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 482 }); })();
876
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractPartiesPanel, { className: "MJCContractPartiesPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 502 }); })();
790
877
  let MJCContractNotesPanel = class MJCContractNotesPanel extends BaseFormPanel {
791
878
  Fields = [
792
879
  { name: 'Notes', type: 'textarea', span: true },
@@ -831,45 +918,250 @@ export { MJCContractNotesPanel };
831
918
  </mj-collapsible-panel>
832
919
  `, 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"] }]
833
920
  }], null, null); })();
834
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractNotesPanel, { className: "MJCContractNotesPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 526 }); })();
921
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractNotesPanel, { className: "MJCContractNotesPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 546 }); })();
835
922
  let MJCContractProvenanceFieldsPanel = class MJCContractProvenanceFieldsPanel extends BaseFormPanel {
923
+ cdr = inject(ChangeDetectorRef);
836
924
  /**
837
- * READ-ONLY, and the section KEPT a deliberate departure from issue #28 item 18.
925
+ * THE RAW IDS STAY, AND STAY READ-ONLY. The lookup above is what WRITES them (golive #219).
838
926
  *
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.
927
+ * ── WHY THEY WERE READ-ONLY, WHICH HAS NOT CHANGED ────────────────────────────────────────
846
928
  *
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.
929
+ * `CreatingEntityID` is a real FK to `__mj.Entity` and `CreatingRecordID` is the row it names, under
930
+ * `CK_Contract_CreatingPairBothOrNeither` both or neither. Rendered as two ordinary inputs
931
+ * (contracts#28 item 18) they produced exactly the two failures the shape invites: editing one
932
+ * alone is a save the constraint refuses, and editing both silently re-points a contract's
933
+ * provenance at an unrelated record. `CTR-000026` still carries the evidence a hand-typed pair
934
+ * naming `MJ: Explorer Navigation Items` with a record id that is not a UUID.
854
935
  *
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.
936
+ * ── WHAT #219 ADDS, AND WHY IT IS NOT A REVERSAL ──────────────────────────────────────────
937
+ *
938
+ * Story C-US1 says finance may attach a MANUALLY created contract to an existing deal. Item 18's
939
+ * read-only made that impossible: the Close Won seam became not just the preferred writer but the
940
+ * only one, and a contract typed in by hand could never show its deal. The answer is not to reopen
941
+ * the fields — it is to write them through a control that cannot produce a half pair. The lookup
942
+ * sets both halves from one chosen deal and clears both together; these two remain what they became
943
+ * in item 18, a read-only audit of what the pair actually holds, sitting under a human-readable name.
944
+ *
945
+ * The SECTION is likewise kept rather than hidden (item 18 asked for it gone, on the premise that
946
+ * the hero's Source Deal stat replaces it). With #219 that premise becomes true for deals — but the
947
+ * pair is polymorphic and the stat renders only what it can resolve, so the ids stay as the one
948
+ * place a reader can see the provenance verbatim, which is item 3 of #219.
858
949
  */
859
950
  Fields = [
860
951
  { name: 'CreatingEntityID', type: 'textbox', link: 'Record', readOnly: true },
861
952
  { name: 'CreatingRecordID', type: 'textbox', readOnly: true },
862
953
  ];
954
+ /** Options for the picker. Never read directly — go through the `Deals` getter, which loads. */
955
+ _deals = [];
956
+ /** Bound to the combobox. Mirrors `CreatingRecordID`, and is '' whenever the source is not a deal. */
957
+ PickedDealID = '';
958
+ Loading = false;
959
+ /** Why the list is empty, when the reason is a failure rather than genuinely nothing. */
960
+ LoadError = '';
961
+ /** The pair names a record of some OTHER entity — surfaced rather than silently shown as blank. */
962
+ ForeignSource = false;
963
+ /** This contract arrived with provenance already recorded, so re-pointing takes a second click. */
964
+ Locked = false;
965
+ /** Label of the deal currently linked, for the locked line. */
966
+ SelectedLabel = '';
967
+ /**
968
+ * Which contract the picker was loaded for — not merely whether it was.
969
+ *
970
+ * The form reuses one component instance as it navigates, so a boolean leaves the PREVIOUS
971
+ * contract's candidates in the dropdown: a list scoped to the previous customer, which is a wrong
972
+ * list rather than a stale one. Same defect, same fix, as the Supersedes picker (contracts#28
973
+ * item 23).
974
+ */
975
+ loadedFor = null;
976
+ searchTimer = null;
977
+ /**
978
+ * Is there a Deals entity this user can see?
979
+ *
980
+ * Resolved from METADATA BY NAME, never imported: sales depends on contracts, so this app may not
981
+ * depend on sales (see `MJC_FOREIGN_ENTITIES.Deal`). A host without sales installed, or a user
982
+ * without read permission, simply gets no picker — the read-only ids and the hint below say so
983
+ * rather than rendering a control that can find nothing.
984
+ */
985
+ get DealLookupAvailable() {
986
+ return !!this.dealEntityID();
987
+ }
988
+ /**
989
+ * Whether to render the lookup — AND the panel's single load trigger.
990
+ *
991
+ * `BaseFormPanel` has no lifecycle hook and the slot host sets `Record` before view init, so the
992
+ * first template read is the earliest reliable moment to do per-record work. This is the FIRST
993
+ * thing the template reads, which is the whole reason the trigger lives here rather than on
994
+ * `Deals`: the options are read inside the unlocked branch only, so a contract that arrives with
995
+ * provenance would never read them, `syncFromRecord()` would never run, and `Locked` would never
996
+ * become true — the guard silently absent on exactly the records it exists to protect.
997
+ *
998
+ * Keyed on the record so navigating the form to another contract re-syncs and reloads.
999
+ */
1000
+ get ShowLookup() {
1001
+ if (!this.DealLookupAvailable)
1002
+ return false;
1003
+ const key = this.Record?.ID ?? 'new';
1004
+ if (this.loadedFor !== key) {
1005
+ this.loadedFor = key;
1006
+ this.syncFromRecord();
1007
+ void this.load('');
1008
+ }
1009
+ return true;
1010
+ }
1011
+ /** The candidate deals. Loaded by {@link ShowLookup}; this is a plain read. */
1012
+ get Deals() {
1013
+ return this._deals;
1014
+ }
1015
+ /**
1016
+ * What the locked line says about the existing link.
1017
+ *
1018
+ * Deliberately does NOT claim the Close Won automation set it: nothing on the row records who
1019
+ * did, and a contract linked by hand, saved and reopened arrives locked the same way. The panel
1020
+ * says what it can actually see — the deal's name when the list has it, that the source is not a
1021
+ * deal when the entity half says so, and otherwise nothing more than that something is linked.
1022
+ * The raw ids sit directly below either way.
1023
+ */
1024
+ get LockedSummary() {
1025
+ if (this.SelectedLabel)
1026
+ return this.SelectedLabel;
1027
+ if (this.ForeignSource)
1028
+ return 'Linked to a record that is not a deal';
1029
+ return 'A source record is already linked';
1030
+ }
1031
+ /** Release the re-point guard. Deliberate, and only ever by a click. */
1032
+ Unlock() {
1033
+ this.Locked = false;
1034
+ }
1035
+ /**
1036
+ * Take a chosen deal — and write BOTH halves of the pair, always.
1037
+ *
1038
+ * This is the whole reason the control exists. There is no path here that sets one column: a
1039
+ * chosen deal writes the Deals entity id together with the deal's own id, and an empty selection
1040
+ * goes through {@link ClearSource}, which empties both. The database's both-or-neither constraint
1041
+ * (and the validator CodeGen derives from it) can therefore never be the thing that reports a
1042
+ * mistake this form allowed a person to make.
1043
+ */
1044
+ PickDeal(dealID) {
1045
+ const entityID = this.dealEntityID();
1046
+ const id = (dealID ?? '').trim();
1047
+ if (!entityID || !this.Record)
1048
+ return;
1049
+ if (!id) {
1050
+ this.ClearSource();
1051
+ return;
1052
+ }
1053
+ this.Record.CreatingEntityID = entityID;
1054
+ this.Record.CreatingRecordID = id;
1055
+ this.PickedDealID = id;
1056
+ this.ForeignSource = false;
1057
+ this.SelectedLabel = this._deals.find((d) => d.ID === id)?.Label ?? '';
1058
+ }
1059
+ /** Empty BOTH halves. The constraint's other legal state, and #219's third acceptance criterion. */
1060
+ ClearSource() {
1061
+ if (!this.Record)
1062
+ return;
1063
+ this.Record.CreatingEntityID = null;
1064
+ this.Record.CreatingRecordID = null;
1065
+ this.PickedDealID = '';
1066
+ this.ForeignSource = false;
1067
+ this.SelectedLabel = '';
1068
+ }
1069
+ /**
1070
+ * Re-query as the user types, debounced.
1071
+ *
1072
+ * SERVER-SIDE, with the combobox's own `Filterable` off. Client filtering would need every deal in
1073
+ * the database loaded to be correct, and it filters on the option LABEL — so a search that matched
1074
+ * a customer whose name the label abbreviates would hide rows the server just returned. One
1075
+ * authority for what matches, and it is the query.
1076
+ */
1077
+ Search(text) {
1078
+ if (this.searchTimer)
1079
+ clearTimeout(this.searchTimer);
1080
+ // Long enough that a typed word is one read, short enough to feel immediate.
1081
+ this.searchTimer = setTimeout(() => void this.load(text), 250);
1082
+ }
1083
+ /** The Deals entity's id, or null when this installation has no such entity. */
1084
+ dealEntityID() {
1085
+ const entities = this.FormComponent?.ProviderToUse?.Entities;
1086
+ return entities?.find((e) => e.Name === MJC_FOREIGN_ENTITIES.Deal)?.ID ?? null;
1087
+ }
1088
+ /**
1089
+ * Read the record's pair into the control's own state.
1090
+ *
1091
+ * The pair is POLYMORPHIC, so "there is a `CreatingRecordID`" does not mean "a deal is selected".
1092
+ * Pre-selecting on the record id alone would show an unrelated record's id as the chosen deal; the
1093
+ * entity half has to agree first, and when it does not, `ForeignSource` says so out loud.
1094
+ *
1095
+ * `Locked` is captured HERE — from what the record ARRIVED with — and never recomputed live. A
1096
+ * live "already set, so lock it" would re-lock the instant a user picked a deal, which is the
1097
+ * guard eating the very edit it was there to confirm.
1098
+ */
1099
+ syncFromRecord() {
1100
+ const entityID = this.Record?.CreatingEntityID ?? null;
1101
+ const recordID = this.Record?.CreatingRecordID ?? null;
1102
+ const dealEntityID = this.dealEntityID();
1103
+ const isDeal = !!entityID && !!dealEntityID && entityID.toLowerCase() === dealEntityID.toLowerCase();
1104
+ this.PickedDealID = isDeal ? String(recordID ?? '') : '';
1105
+ this.ForeignSource = !!entityID && !isDeal;
1106
+ this.Locked = !!entityID && !!recordID;
1107
+ this.SelectedLabel = '';
1108
+ }
1109
+ /**
1110
+ * Load the options.
1111
+ *
1112
+ * With nothing typed this is the contract's customer's deals — #219 item 2's "prefer deals for the
1113
+ * contract's customer organization" — ORed with the deal already linked, so a contract pointed at
1114
+ * a deal outside its customer still shows what it is pointed AT rather than a blank box. Typing
1115
+ * widens the search to every deal by name, number or customer. The clauses themselves live in
1116
+ * `@mj-biz-apps/contracts-entities`, where they can be unit-tested without Angular.
1117
+ */
1118
+ async load(searchText) {
1119
+ if (!this.DealLookupAvailable)
1120
+ return;
1121
+ this.Loading = true;
1122
+ this.LoadError = '';
1123
+ try {
1124
+ const { ScopedRunView } = await import('../data/provider');
1125
+ const rv = ScopedRunView(this.FormComponent?.ProviderToUse);
1126
+ const search = (searchText ?? '').trim();
1127
+ const filter = search
1128
+ ? DealSearchClause(null, search)
1129
+ : `(${DealSearchClause(this.Record?.CustomerOrganizationID)}) OR (${DealIDClause(this.Record?.CreatingRecordID)})`;
1130
+ const r = await rv.RunView({
1131
+ EntityName: MJC_FOREIGN_ENTITIES.Deal,
1132
+ Fields: ['ID', 'DealNumber', 'Name', 'Account'],
1133
+ ExtraFilter: filter,
1134
+ OrderBy: 'Name ASC',
1135
+ MaxRows: 100,
1136
+ ResultType: 'simple',
1137
+ });
1138
+ if (!r?.Success)
1139
+ throw new Error(r?.ErrorMessage || 'The deals could not be read.');
1140
+ this._deals = (r.Results ?? []).map((d) => ({ ...d, Label: DealOptionLabel(d) }));
1141
+ this.SelectedLabel = this._deals.find((d) => d.ID === this.PickedDealID)?.Label ?? this.SelectedLabel;
1142
+ }
1143
+ catch (e) {
1144
+ this._deals = [];
1145
+ this.LoadError = e instanceof Error ? e.message : String(e);
1146
+ }
1147
+ finally {
1148
+ this.Loading = false;
1149
+ this.cdr.detectChanges();
1150
+ }
1151
+ }
863
1152
  static ɵfac = /*@__PURE__*/ (() => { let ɵMJCContractProvenanceFieldsPanel_BaseFactory; return function MJCContractProvenanceFieldsPanel_Factory(__ngFactoryType__) { return (ɵMJCContractProvenanceFieldsPanel_BaseFactory || (ɵMJCContractProvenanceFieldsPanel_BaseFactory = i0.ɵɵgetInheritedFactory(MJCContractProvenanceFieldsPanel)))(__ngFactoryType__ || MJCContractProvenanceFieldsPanel); }; })();
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) {
1153
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJCContractProvenanceFieldsPanel, selectors: [["mjc-contract-provenance-panel"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 3, consts: [["SectionKey", "origin", "SectionName", "Provenance", "Icon", "fa-solid fa-diagram-project", 3, "Form", "FormContext"], [1, "mjc-fields-grid"], [1, "mjc-fg", "mjc-fg--span"], [1, "mjc-fg", 3, "mjc-fg--span"], [1, "mj-forms-field"], [1, "mj-forms-field-label"], [1, "mj-forms-field-control"], [1, "mj-forms-field-value"], [1, "mjc-chip", "mjc-chip--muted"], ["mjButton", "", "variant", "flat", "size", "sm", "type", "button", 3, "click"], [1, "mjc-hint"], ["TextField", "Label", "ValueField", "ID", "Placeholder", "Search deals by name, number or customer\u2026", 3, "ngModelChange", "FilterChange", "Data", "ValuePrimitive", "Filterable", "ngModel"], ["mjButton", "", "variant", "flat", "size", "sm", "type", "button"], ["Variant", "warning", "Size", "sm", 3, "Message"], [1, "mjc-fg"], [3, "Navigate", "Record", "ShowLabel", "FieldName", "Type", "EditMode", "FormContext", "LinkType"]], template: function MJCContractProvenanceFieldsPanel_Template(rf, ctx) { if (rf & 1) {
865
1154
  i0.ɵɵelementStart(0, "mj-collapsible-panel", 0)(1, "div", 1);
866
- i0.ɵɵrepeaterCreate(2, MJCContractProvenanceFieldsPanel_For_3_Template, 2, 9, "div", 2, _forTrack0);
1155
+ i0.ɵɵconditionalCreate(2, MJCContractProvenanceFieldsPanel_Conditional_2_Template, 7, 1, "div", 2)(3, MJCContractProvenanceFieldsPanel_Conditional_3_Template, 3, 0, "div", 2);
1156
+ i0.ɵɵrepeaterCreate(4, MJCContractProvenanceFieldsPanel_For_5_Template, 2, 9, "div", 3, _forTrack0);
867
1157
  i0.ɵɵelementEnd()();
868
1158
  } if (rf & 2) {
869
1159
  i0.ɵɵproperty("Form", ctx.FormComponent)("FormContext", ctx.FormContext);
870
1160
  i0.ɵɵadvance(2);
1161
+ i0.ɵɵconditional(ctx.EditMode && ctx.ShowLookup ? 2 : ctx.EditMode ? 3 : -1);
1162
+ i0.ɵɵadvance(2);
871
1163
  i0.ɵɵrepeater(ctx.Fields);
872
- } }, dependencies: [CommonModule, BaseFormsModule, i1.MjFormFieldComponent, i1.MjCollapsiblePanelComponent], styles: [_c0], encapsulation: 2 });
1164
+ } }, dependencies: [CommonModule, FormsModule, i2.NgControlStatus, i2.NgModel, BaseFormsModule, i1.MjFormFieldComponent, i1.MjCollapsiblePanelComponent, MJComboboxComponent, MJButtonDirective, MJAlertComponent], styles: [_c0], encapsulation: 2 });
873
1165
  };
874
1166
  MJCContractProvenanceFieldsPanel = __decorate([
875
1167
  RegisterClassEx(BaseFormPanel, {
@@ -884,10 +1176,73 @@ MJCContractProvenanceFieldsPanel = __decorate([
884
1176
  export { MJCContractProvenanceFieldsPanel };
885
1177
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJCContractProvenanceFieldsPanel, [{
886
1178
  type: Component,
887
- args: [{ selector: 'mjc-contract-provenance-panel', standalone: true, encapsulation: ViewEncapsulation.None, imports: [CommonModule, BaseFormsModule], template: `
1179
+ args: [{ selector: 'mjc-contract-provenance-panel', standalone: true, encapsulation: ViewEncapsulation.None, imports: [CommonModule, FormsModule, BaseFormsModule, MJComboboxComponent, MJButtonDirective, MJAlertComponent], template: `
888
1180
  <mj-collapsible-panel SectionKey="origin" SectionName="Provenance" Icon="fa-solid fa-diagram-project"
889
1181
  [Form]="FormComponent" [FormContext]="FormContext">
890
1182
  <div class="mjc-fields-grid">
1183
+ @if (EditMode && ShowLookup) {
1184
+ <div class="mjc-fg mjc-fg--span">
1185
+ <!-- Mirrors mj-form-field's own markup (mj-forms-field / -label / -control) so this
1186
+ reads as an ordinary form line. It cannot BE an mj-form-field: that binds ONE
1187
+ field, and the whole point here is that the two halves move together. -->
1188
+ <div class="mj-forms-field">
1189
+ <label class="mj-forms-field-label">Source deal</label>
1190
+ <div class="mj-forms-field-control">
1191
+ @if (Locked) {
1192
+ <span class="mj-forms-field-value">
1193
+ {{ LockedSummary }}
1194
+ <span class="mjc-chip mjc-chip--muted">Already recorded</span>
1195
+ </span>
1196
+ <button mjButton variant="flat" size="sm" type="button" (click)="Unlock()">
1197
+ Change source
1198
+ </button>
1199
+ <div class="mjc-hint">
1200
+ This contract already records where it came from — usually the deal that
1201
+ closed it. Re-pointing that is rewriting history, so it takes a deliberate
1202
+ second click.
1203
+ </div>
1204
+ } @else {
1205
+ <mj-combobox
1206
+ [Data]="Deals"
1207
+ TextField="Label"
1208
+ ValueField="ID"
1209
+ [ValuePrimitive]="true"
1210
+ [Filterable]="false"
1211
+ Placeholder="Search deals by name, number or customer…"
1212
+ [ngModel]="PickedDealID"
1213
+ (ngModelChange)="PickDeal($event)"
1214
+ (FilterChange)="Search($event)" />
1215
+
1216
+ @if (PickedDealID) {
1217
+ <button mjButton variant="flat" size="sm" type="button" (click)="ClearSource()">
1218
+ Clear
1219
+ </button>
1220
+ }
1221
+
1222
+ <div class="mjc-hint">
1223
+ Starts with this customer's deals; typing searches every deal by name,
1224
+ number or customer. Choosing one fills both fields below — Save commits them.
1225
+ </div>
1226
+ <!-- Said out loud, because the combobox's own empty state reads "No data
1227
+ found" — indistinguishable from a search that genuinely matched nothing. -->
1228
+ @if (Loading) { <div class="mjc-hint">Searching deals…</div> }
1229
+ @if (LoadError) { <mj-alert Variant="warning" Size="sm" [Message]="LoadError" /> }
1230
+ @if (ForeignSource) {
1231
+ <mj-alert Variant="warning" Size="sm"
1232
+ [Message]="'This contract’s source is not a deal — the fields below name the record it points at. Choosing a deal here replaces it.'" />
1233
+ }
1234
+ }
1235
+ </div>
1236
+ </div>
1237
+ </div>
1238
+ } @else if (EditMode) {
1239
+ <div class="mjc-fg mjc-fg--span">
1240
+ <div class="mjc-hint">
1241
+ No deal lookup here: this installation has no Deals entity, or you cannot read it.
1242
+ The fields below stay read-only rather than offering two ids to type by hand.
1243
+ </div>
1244
+ </div>
1245
+ }
891
1246
  @for (f of Fields; track f.name) {
892
1247
  <div class="mjc-fg" [class.mjc-fg--span]="f.span">
893
1248
  <mj-form-field [Record]="Record" [ShowLabel]="true" [FieldName]="f.name" [Type]="f.type"
@@ -900,7 +1255,7 @@ export { MJCContractProvenanceFieldsPanel };
900
1255
  </mj-collapsible-panel>
901
1256
  `, 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"] }]
902
1257
  }], null, null); })();
903
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractProvenanceFieldsPanel, { className: "MJCContractProvenanceFieldsPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 562 }); })();
1258
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractProvenanceFieldsPanel, { className: "MJCContractProvenanceFieldsPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 645 }); })();
904
1259
  let MJCContractLifecyclePanel = class MJCContractLifecyclePanel extends BaseFormPanel {
905
1260
  Fields = [
906
1261
  { name: 'ParentContractID', type: 'textbox', link: 'Record' },
@@ -946,7 +1301,7 @@ export { MJCContractLifecyclePanel };
946
1301
  </mj-collapsible-panel>
947
1302
  `, 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"] }]
948
1303
  }], null, null); })();
949
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractLifecyclePanel, { className: "MJCContractLifecyclePanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 622 }); })();
1304
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractLifecyclePanel, { className: "MJCContractLifecyclePanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 912 }); })();
950
1305
  let MJCContractModificationsPanel = class MJCContractModificationsPanel extends BaseFormPanel {
951
1306
  Entity = MJC_ENTITIES.ContractTemplateModification;
952
1307
  OnDataLoad(event) {
@@ -998,5 +1353,5 @@ export { MJCContractModificationsPanel };
998
1353
  `,
999
1354
  }]
1000
1355
  }], null, null); })();
1001
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractModificationsPanel, { className: "MJCContractModificationsPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 658 }); })();
1356
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJCContractModificationsPanel, { className: "MJCContractModificationsPanel", filePath: "lib/form-panels/contract-form.panels.ts", lineNumber: 948 }); })();
1002
1357
  //# sourceMappingURL=contract-form.panels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-form.panels.js","sourceRoot":"","sources":["../../../src/lib/form-panels/contract-form.panels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-form.panels.js","sourceRoot":"","sources":["../../../src/lib/form-panels/contract-form.panels.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "mjdevManaged": "MJDEV-MANAGED: mjdev owns parts of this file — the \"packages/dev-apps/*\" workspaces glob, any dev-linked open-app dependencies (e.g. \"@mj-biz-apps/*\"), and the Angular \"overrides\" pin set. Do not hand-edit those; the tool wires and reverts them. They are left visible in git status, but the git-tree guard blocks committing them. See .mjdev-docs/MANAGED-FILES.md; revert with `mjdev git:stage-clean <slug> package.json`.",
3
3
  "name": "@mj-biz-apps/contracts-ng",
4
- "version": "0.4.1",
4
+ "version": "0.4.2",
5
5
  "type": "module",
6
6
  "description": "Client bootstrap package - Angular components loaded by MJExplorer via the generated open-app bootstrap import. TODO(template): rename.",
7
7
  "main": "dist/public-api.js",
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "license": "BUSL-1.1",
14
14
  "dependencies": {
15
- "@mj-biz-apps/contracts-entities": "^0.4.1"
15
+ "@mj-biz-apps/contracts-entities": "^0.4.2"
16
16
  },
17
17
  "peerDependencies": {
18
18
  "@angular/common": ">=21.0.0 <22.0.0",