@mj-biz-apps/sales-ng 6.8.2 → 6.9.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.
@@ -54,10 +54,19 @@
54
54
  * when a percentage discount exists, so showing it would be a lie). Nothing here multiplies, discounts,
55
55
  * prorates, sums or rounds: the read-only figures are whatever orders last wrote.
56
56
  *
57
+ * ── CHOOSING AMONG ORDERS' OWN PRICES (golive#270) ──────────────────────────────────────────────
58
+ *
59
+ * A product can carry several named prices — a default plus overrides. The rep may pick one of them
60
+ * with orders' shared `mjo-line-price-picker`, the same control the order line uses, gated by the same
61
+ * `MJ.BizApps.Orders.Price.OverrideList` / `OverrideAny` grants. `AllowCustomAmount` is off: choosing
62
+ * one of orders' rules is not entering a price, and a typed amount would be (D-DL2). A pick away from
63
+ * the default asks for a reason, and the ORDER's save refuses a flagged line without one. The picker's
64
+ * list, its default and the figures beside it all come from orders; this file only passes them through.
65
+ *
57
66
  * @module @mj-biz-apps/sales-ng
58
67
  */
59
68
  import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
60
- import type { mjBizAppsOrdersOrderLineEntity as OrderLineEntity } from '@mj-biz-apps/orders-entities';
69
+ import { type ApplicablePrice, type LineEngineDefault, type PriceOverrideKind, type mjBizAppsOrdersOrderLineEntity as OrderLineEntity } from '@mj-biz-apps/orders-entities';
61
70
  import type { DealEntity } from '@mj-biz-apps/sales-entities';
62
71
  import { type ProductLookup } from '@mj-biz-apps/sales-entities';
63
72
  import * as i0 from "@angular/core";
@@ -93,6 +102,14 @@ export declare class MJSDealLineEditorComponent implements OnInit, OnDestroy {
93
102
  private readonly service;
94
103
  private readonly cdr;
95
104
  Products: ProductLookup[];
105
+ /** Each product's catalog price, for the picker label — read from orders, keyed by product id. */
106
+ private readonly productPriceLabels;
107
+ /** The signed-in rep's price-override grant; `'none'` hides the price picker. */
108
+ OverrideKind: PriceOverrideKind;
109
+ /** The product's applicable named prices, from orders' `ListApplicablePrices`. */
110
+ Applicable: ApplicablePrice[];
111
+ /** The rules' answer for this line, from the last `Orders.PriceOrder`. Undefined until one reports it. */
112
+ EngineDefault: LineEngineDefault | null | undefined;
96
113
  Working: OrderLineEntity | null;
97
114
  Loading: boolean;
98
115
  Saving: boolean;
@@ -104,6 +121,19 @@ export declare class MJSDealLineEditorComponent implements OnInit, OnDestroy {
104
121
  get Title(): string;
105
122
  ngOnInit(): Promise<void>;
106
123
  ProductOptionLabel(p: ProductLookup): string;
124
+ /**
125
+ * The rep's price-override grant. A grant that cannot be read hides the picker rather than
126
+ * stopping the line from opening: the picker is optional, the line is not.
127
+ */
128
+ private resolveOverrideKind;
129
+ /**
130
+ * Each product's catalog price, as orders' catalog holds it — its active base-channel
131
+ * `ProductPrice` rows. One row reads as its amount, several as "From" the lowest.
132
+ *
133
+ * READ, NOT COMPUTED: these are the catalog's own amounts, chosen between, never multiplied or
134
+ * adjusted. A failed read only drops the prices from the labels; the picker still works.
135
+ */
136
+ private loadProductPriceLabels;
107
137
  private get SelectedProduct();
108
138
  /**
109
139
  * The line's company comes from the PRODUCT, never from the deal.
@@ -113,6 +143,17 @@ export declare class MJSDealLineEditorComponent implements OnInit, OnDestroy {
113
143
  * validation runs where that server subclass does not exist.
114
144
  */
115
145
  OnProductChange(productID: string | null): void;
146
+ /** Offered to a rep holding an override grant, on an open deal, once a product is chosen. */
147
+ get ShowPricePicker(): boolean;
148
+ /** True while the line's price is off its default — see the product select. */
149
+ get ProductLockedByPrice(): boolean;
150
+ /** The default unit price: orders' answer when it has given one, else the unpinned priced figure. */
151
+ get DefaultUnit(): number | null;
152
+ /**
153
+ * The product's applicable named prices, asked of orders with the order's own parties and date —
154
+ * the same context the order line's picker uses, so the two list the same rules.
155
+ */
156
+ private refreshApplicable;
116
157
  /** Stored as a fraction, shown as a percent. */
117
158
  get DiscountPercent(): number;
118
159
  SetDiscountPercent(percent: number | null): void;
@@ -1 +1 @@
1
- {"version":3,"file":"deal-line-editor.component.d.ts","sourceRoot":"","sources":["../../../src/lib/form-panels/deal-line-editor.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deal-line-editor.component.d.ts","sourceRoot":"","sources":["../../../src/lib/form-panels/deal-line-editor.component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,OAAO,EAAgC,YAAY,EAAS,SAAS,EAAE,MAAM,EAAkB,MAAM,eAAe,CAAC;AAIrH,OAAO,EAUH,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,IAAI,eAAe,EACzD,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAQH,KAAK,aAAa,EACrB,MAAM,6BAA6B,CAAC;;AAuDrC,qBAuOa,0BAA2B,YAAW,MAAM,EAAE,SAAS;IAChE;;;;;OAKG;IACM,IAAI,EAAE,UAAU,GAAG,IAAI,CAAQ;IACxC,8CAA8C;IACrC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEtC,0EAA0E;IAC1E;;;;;;;;;;;;;OAaG;IACI,QAAQ,UAAS;IAEd,KAAK,qBAA4B;IAC3C,2DAA2D;IACjD,MAAM,qBAA4B;IAE5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IAE1C,QAAQ,EAAE,aAAa,EAAE,CAAM;IACtC,kGAAkG;IAClG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;IAChE,iFAAiF;IAC1E,YAAY,EAAE,iBAAiB,CAAU;IAChD,kFAAkF;IAC3E,UAAU,EAAE,eAAe,EAAE,CAAM;IAC1C,0GAA0G;IACnG,aAAa,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAa;IAChE,OAAO,EAAE,eAAe,GAAG,IAAI,CAAQ;IACvC,OAAO,UAAQ;IACf,MAAM,UAAS;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,2FAA2F;IACpF,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC7C,gGAAgG;IAChG,OAAO,CAAC,SAAS,CAAS;IAE1B,IAAW,KAAK,IAAI,MAAM,CAAwD;IAErE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAuG/B,kBAAkB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM;IASnD;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;;;;OAMG;YACW,sBAAsB;IAmBpC,OAAO,KAAK,eAAe,GAE1B;IAED;;;;;;OAMG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiBtD,6FAA6F;IAC7F,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED,+EAA+E;IAC/E,IAAW,oBAAoB,IAAI,OAAO,CAEzC;IAED,qGAAqG;IACrG,IAAW,WAAW,IAAI,MAAM,GAAG,IAAI,CAGtC;IAED;;;OAGG;YACW,iBAAiB;IAkD/B,gDAAgD;IAChD,IAAW,eAAe,IAAI,MAAM,CAEnC;IAEM,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiBvD;;;OAGG;IACH,IAAW,aAAa,IAAI,OAAO,CAMlC;IAED,qGAAqG;IACrG,IAAW,cAAc,IAAI,MAAM,GAAG,IAAI,CAIzC;IAED,IAAW,oBAAoB,IAAI,OAAO,CAEzC;IAEM,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOjC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;IAOlD;;;;;;;;;;;;;;;OAeG;IACI,OAAO,UAAS;IACvB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAuB;IACnC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IACzC,OAAO,CAAC,UAAU,CAA8C;IAEhE,2FAA2F;IAC3F,IAAW,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE3C;IAED,IAAW,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE3C;IAED;;;;;;;;;;OAUG;IACI,WAAW,IAAI,IAAI;IAO1B,2EAA2E;IACpE,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAQ9C;;;OAGG;IACI,aAAa,IAAI,IAAI;IAK5B;;;;;;;;;;OAUG;YACW,YAAY;IAoE1B,uFAAuF;IACvF,OAAO,CAAC,SAAS;IAMjB,IAAW,OAAO,IAAI,OAAO,CAQ5B;IAED;;;;;;;;;;;OAWG;IACH,IAAW,aAAa,IAAI,MAAM,CAMjC;IAED;;;;;;OAMG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,sFAAsF;IAC/E,UAAU,UAAS;IAE1B;;;;;;;;;;;;;;;;OAgBG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwClC;;;;;;;OAOG;IACI,MAAM,IAAI,IAAI;yCA5oBZ,0BAA0B;2CAA1B,0BAA0B;CAmpBtC"}
@@ -54,12 +54,23 @@
54
54
  * when a percentage discount exists, so showing it would be a lie). Nothing here multiplies, discounts,
55
55
  * prorates, sums or rounds: the read-only figures are whatever orders last wrote.
56
56
  *
57
+ * ── CHOOSING AMONG ORDERS' OWN PRICES (golive#270) ──────────────────────────────────────────────
58
+ *
59
+ * A product can carry several named prices — a default plus overrides. The rep may pick one of them
60
+ * with orders' shared `mjo-line-price-picker`, the same control the order line uses, gated by the same
61
+ * `MJ.BizApps.Orders.Price.OverrideList` / `OverrideAny` grants. `AllowCustomAmount` is off: choosing
62
+ * one of orders' rules is not entering a price, and a typed amount would be (D-DL2). A pick away from
63
+ * the default asks for a reason, and the ORDER's save refuses a flagged line without one. The picker's
64
+ * list, its default and the figures beside it all come from orders; this file only passes them through.
65
+ *
57
66
  * @module @mj-biz-apps/sales-ng
58
67
  */
59
68
  import { ChangeDetectorRef, Component, EventEmitter, Input, Output, inject } from '@angular/core';
60
69
  import { CommonModule } from '@angular/common';
61
70
  import { Metadata } from '@memberjunction/core';
62
71
  import { FormsModule } from '@angular/forms';
72
+ import { AsDateValue, IsLinePriceOverridden, LineNeedsOverrideReason, ListApplicablePrices, LoadOrdersEngine, OrdersEngine, TodayAsDateValue, loadApplicabilityContext, userPriceOverrideKind, } from '@mj-biz-apps/orders-entities';
73
+ import { MJOLinePricePickerComponent } from '@mj-biz-apps/orders-ng';
63
74
  import { DiscountFractionToPercent, DiscountPercentToFraction, EffectiveTermStart, HasExplicitTermStart as StoresOwnTermStart, ResolveDealLockState, RoundDiscountPercent, ShouldOfferTermStart, } from '@mj-biz-apps/sales-entities';
64
75
  import { DealWorkspaceService } from '../workspace/deal-workspace.service';
65
76
  import * as i0 from "@angular/core";
@@ -99,20 +110,33 @@ function MJSDealLineEditorComponent_Conditional_9_Conditional_18_Template(rf, ct
99
110
  i0.ɵɵadvance();
100
111
  i0.ɵɵtextInterpolate(ctx_r0.DiscountRefusal);
101
112
  } }
102
- function MJSDealLineEditorComponent_Conditional_9_Conditional_19_Conditional_4_Template(rf, ctx) { if (rf & 1) {
103
- i0.ɵɵelementStart(0, "small", 21);
113
+ function MJSDealLineEditorComponent_Conditional_9_Conditional_19_Template(rf, ctx) { if (rf & 1) {
114
+ const _r4 = i0.ɵɵgetCurrentView();
115
+ i0.ɵɵelementStart(0, "div", 8)(1, "span", 9);
116
+ i0.ɵɵtext(2, "Price");
117
+ i0.ɵɵelementEnd();
118
+ i0.ɵɵelementStart(3, "mjo-line-price-picker", 20);
119
+ i0.ɵɵlistener("PriceChanged", function MJSDealLineEditorComponent_Conditional_9_Conditional_19_Template_mjo_line_price_picker_PriceChanged_3_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.SchedulePrice()); });
120
+ i0.ɵɵelementEnd()();
121
+ } if (rf & 2) {
122
+ const ctx_r0 = i0.ɵɵnextContext(2);
123
+ i0.ɵɵadvance(3);
124
+ i0.ɵɵproperty("Line", ctx_r0.Working)("OverrideKind", ctx_r0.OverrideKind)("AllowCustomAmount", false)("Applicable", ctx_r0.Applicable)("EngineDefault", ctx_r0.EngineDefault)("DefaultUnit", ctx_r0.DefaultUnit)("PriceSource", (ctx_r0.EngineDefault == null ? null : ctx_r0.EngineDefault.PriceName) ?? null)("PricedUnit", ctx_r0.DisplayUnitPrice);
125
+ } }
126
+ function MJSDealLineEditorComponent_Conditional_9_Conditional_20_Conditional_4_Template(rf, ctx) { if (rf & 1) {
127
+ i0.ɵɵelementStart(0, "small", 22);
104
128
  i0.ɵɵtext(1, "order date");
105
129
  i0.ɵɵelementEnd();
106
130
  } }
107
- function MJSDealLineEditorComponent_Conditional_9_Conditional_19_Template(rf, ctx) { if (rf & 1) {
108
- const _r4 = i0.ɵɵgetCurrentView();
131
+ function MJSDealLineEditorComponent_Conditional_9_Conditional_20_Template(rf, ctx) { if (rf & 1) {
132
+ const _r5 = i0.ɵɵgetCurrentView();
109
133
  i0.ɵɵelementStart(0, "label", 8)(1, "span", 9);
110
134
  i0.ɵɵtext(2, "Term start");
111
135
  i0.ɵɵelementEnd();
112
- i0.ɵɵelementStart(3, "input", 20);
113
- i0.ɵɵlistener("ngModelChange", function MJSDealLineEditorComponent_Conditional_9_Conditional_19_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.SetTermStart($event)); });
136
+ i0.ɵɵelementStart(3, "input", 21);
137
+ i0.ɵɵlistener("ngModelChange", function MJSDealLineEditorComponent_Conditional_9_Conditional_20_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.SetTermStart($event)); });
114
138
  i0.ɵɵelementEnd();
115
- i0.ɵɵconditionalCreate(4, MJSDealLineEditorComponent_Conditional_9_Conditional_19_Conditional_4_Template, 2, 0, "small", 21);
139
+ i0.ɵɵconditionalCreate(4, MJSDealLineEditorComponent_Conditional_9_Conditional_20_Conditional_4_Template, 2, 0, "small", 22);
116
140
  i0.ɵɵelementEnd();
117
141
  } if (rf & 2) {
118
142
  const ctx_r0 = i0.ɵɵnextContext(2);
@@ -121,16 +145,19 @@ function MJSDealLineEditorComponent_Conditional_9_Conditional_19_Template(rf, ct
121
145
  i0.ɵɵadvance();
122
146
  i0.ɵɵconditional(!ctx_r0.HasExplicitTermStart ? 4 : -1);
123
147
  } }
124
- function MJSDealLineEditorComponent_Conditional_9_Conditional_32_Template(rf, ctx) { if (rf & 1) {
148
+ function MJSDealLineEditorComponent_Conditional_9_Conditional_33_Template(rf, ctx) { if (rf & 1) {
125
149
  i0.ɵɵtext(0);
126
150
  } if (rf & 2) {
127
151
  const ctx_r0 = i0.ɵɵnextContext(2);
128
152
  i0.ɵɵtextInterpolate1(" ", ctx_r0.PricingNote, " ");
129
153
  } }
130
- function MJSDealLineEditorComponent_Conditional_9_Conditional_33_Template(rf, ctx) { if (rf & 1) {
154
+ function MJSDealLineEditorComponent_Conditional_9_Conditional_34_Template(rf, ctx) { if (rf & 1) {
155
+ i0.ɵɵtext(0, " Priced by Orders. Choose another of the product's prices above, or record a discount. ");
156
+ } }
157
+ function MJSDealLineEditorComponent_Conditional_9_Conditional_35_Template(rf, ctx) { if (rf & 1) {
131
158
  i0.ɵɵtext(0, " Priced by Orders. Change the price with a discount \u2014 it is recorded as one. ");
132
159
  } }
133
- function MJSDealLineEditorComponent_Conditional_9_Conditional_34_Template(rf, ctx) { if (rf & 1) {
160
+ function MJSDealLineEditorComponent_Conditional_9_Conditional_36_Template(rf, ctx) { if (rf & 1) {
134
161
  i0.ɵɵelementStart(0, "p", 7);
135
162
  i0.ɵɵtext(1);
136
163
  i0.ɵɵelementEnd();
@@ -139,7 +166,7 @@ function MJSDealLineEditorComponent_Conditional_9_Conditional_34_Template(rf, ct
139
166
  i0.ɵɵadvance();
140
167
  i0.ɵɵtextInterpolate(ctx_r0.Error);
141
168
  } }
142
- function MJSDealLineEditorComponent_Conditional_9_Conditional_40_Template(rf, ctx) { if (rf & 1) {
169
+ function MJSDealLineEditorComponent_Conditional_9_Conditional_42_Template(rf, ctx) { if (rf & 1) {
143
170
  i0.ɵɵelementStart(0, "span", 6);
144
171
  i0.ɵɵtext(1);
145
172
  i0.ɵɵelementEnd();
@@ -148,17 +175,17 @@ function MJSDealLineEditorComponent_Conditional_9_Conditional_40_Template(rf, ct
148
175
  i0.ɵɵadvance();
149
176
  i0.ɵɵtextInterpolate(ctx_r0.BlockedReason);
150
177
  } }
151
- function MJSDealLineEditorComponent_Conditional_9_Conditional_41_Conditional_0_Template(rf, ctx) { if (rf & 1) {
152
- const _r5 = i0.ɵɵgetCurrentView();
153
- i0.ɵɵelementStart(0, "span", 22)(1, "span", 6);
178
+ function MJSDealLineEditorComponent_Conditional_9_Conditional_43_Conditional_0_Template(rf, ctx) { if (rf & 1) {
179
+ const _r6 = i0.ɵɵgetCurrentView();
180
+ i0.ɵɵelementStart(0, "span", 23)(1, "span", 6);
154
181
  i0.ɵɵtext(2, "Remove this product?");
155
182
  i0.ɵɵelementEnd();
156
- i0.ɵɵelementStart(3, "button", 24);
157
- i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Conditional_9_Conditional_41_Conditional_0_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.Remove()); });
183
+ i0.ɵɵelementStart(3, "button", 25);
184
+ i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Conditional_9_Conditional_43_Conditional_0_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.Remove()); });
158
185
  i0.ɵɵtext(4);
159
186
  i0.ɵɵelementEnd();
160
187
  i0.ɵɵelementStart(5, "button", 19);
161
- i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Conditional_9_Conditional_41_Conditional_0_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.Confirming = false); });
188
+ i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Conditional_9_Conditional_43_Conditional_0_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.Confirming = false); });
162
189
  i0.ɵɵtext(6, "Keep");
163
190
  i0.ɵɵelementEnd()();
164
191
  } if (rf & 2) {
@@ -170,18 +197,18 @@ function MJSDealLineEditorComponent_Conditional_9_Conditional_41_Conditional_0_T
170
197
  i0.ɵɵadvance();
171
198
  i0.ɵɵproperty("disabled", ctx_r0.Saving);
172
199
  } }
173
- function MJSDealLineEditorComponent_Conditional_9_Conditional_41_Conditional_1_Template(rf, ctx) { if (rf & 1) {
174
- const _r6 = i0.ɵɵgetCurrentView();
175
- i0.ɵɵelementStart(0, "button", 25);
176
- i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Conditional_9_Conditional_41_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.Confirming = true); });
200
+ function MJSDealLineEditorComponent_Conditional_9_Conditional_43_Conditional_1_Template(rf, ctx) { if (rf & 1) {
201
+ const _r7 = i0.ɵɵgetCurrentView();
202
+ i0.ɵɵelementStart(0, "button", 26);
203
+ i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Conditional_9_Conditional_43_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.Confirming = true); });
177
204
  i0.ɵɵtext(1, "Remove");
178
205
  i0.ɵɵelementEnd();
179
206
  } if (rf & 2) {
180
207
  const ctx_r0 = i0.ɵɵnextContext(3);
181
208
  i0.ɵɵproperty("disabled", ctx_r0.Saving);
182
209
  } }
183
- function MJSDealLineEditorComponent_Conditional_9_Conditional_41_Template(rf, ctx) { if (rf & 1) {
184
- i0.ɵɵconditionalCreate(0, MJSDealLineEditorComponent_Conditional_9_Conditional_41_Conditional_0_Template, 7, 3, "span", 22)(1, MJSDealLineEditorComponent_Conditional_9_Conditional_41_Conditional_1_Template, 2, 1, "button", 23);
210
+ function MJSDealLineEditorComponent_Conditional_9_Conditional_43_Template(rf, ctx) { if (rf & 1) {
211
+ i0.ɵɵconditionalCreate(0, MJSDealLineEditorComponent_Conditional_9_Conditional_43_Conditional_0_Template, 7, 3, "span", 23)(1, MJSDealLineEditorComponent_Conditional_9_Conditional_43_Conditional_1_Template, 2, 1, "button", 24);
185
212
  } if (rf & 2) {
186
213
  const ctx_r0 = i0.ɵɵnextContext(2);
187
214
  i0.ɵɵconditional(ctx_r0.Confirming ? 0 : 1);
@@ -212,39 +239,40 @@ function MJSDealLineEditorComponent_Conditional_9_Template(rf, ctx) { if (rf & 1
212
239
  i0.ɵɵelementEnd();
213
240
  i0.ɵɵconditionalCreate(18, MJSDealLineEditorComponent_Conditional_9_Conditional_18_Template, 2, 1, "span", 7);
214
241
  i0.ɵɵelementEnd()();
215
- i0.ɵɵconditionalCreate(19, MJSDealLineEditorComponent_Conditional_9_Conditional_19_Template, 5, 4, "label", 8);
216
- i0.ɵɵelementStart(20, "div", 15)(21, "div")(22, "span", 9);
217
- i0.ɵɵtext(23, "Unit price");
242
+ i0.ɵɵconditionalCreate(19, MJSDealLineEditorComponent_Conditional_9_Conditional_19_Template, 4, 8, "div", 8);
243
+ i0.ɵɵconditionalCreate(20, MJSDealLineEditorComponent_Conditional_9_Conditional_20_Template, 5, 4, "label", 8);
244
+ i0.ɵɵelementStart(21, "div", 15)(22, "div")(23, "span", 9);
245
+ i0.ɵɵtext(24, "Unit price");
218
246
  i0.ɵɵelementEnd();
219
- i0.ɵɵelementStart(24, "span", 16);
220
- i0.ɵɵtext(25);
247
+ i0.ɵɵelementStart(25, "span", 16);
248
+ i0.ɵɵtext(26);
221
249
  i0.ɵɵelementEnd()();
222
- i0.ɵɵelementStart(26, "div")(27, "span", 9);
223
- i0.ɵɵtext(28, "Line total");
250
+ i0.ɵɵelementStart(27, "div")(28, "span", 9);
251
+ i0.ɵɵtext(29, "Line total");
224
252
  i0.ɵɵelementEnd();
225
- i0.ɵɵelementStart(29, "span", 16);
226
- i0.ɵɵtext(30);
253
+ i0.ɵɵelementStart(30, "span", 16);
254
+ i0.ɵɵtext(31);
227
255
  i0.ɵɵelementEnd()();
228
- i0.ɵɵelementStart(31, "p", 6);
229
- i0.ɵɵconditionalCreate(32, MJSDealLineEditorComponent_Conditional_9_Conditional_32_Template, 1, 1)(33, MJSDealLineEditorComponent_Conditional_9_Conditional_33_Template, 1, 0);
256
+ i0.ɵɵelementStart(32, "p", 6);
257
+ i0.ɵɵconditionalCreate(33, MJSDealLineEditorComponent_Conditional_9_Conditional_33_Template, 1, 1)(34, MJSDealLineEditorComponent_Conditional_9_Conditional_34_Template, 1, 0)(35, MJSDealLineEditorComponent_Conditional_9_Conditional_35_Template, 1, 0);
230
258
  i0.ɵɵelementEnd()();
231
- i0.ɵɵconditionalCreate(34, MJSDealLineEditorComponent_Conditional_9_Conditional_34_Template, 2, 1, "p", 7);
259
+ i0.ɵɵconditionalCreate(36, MJSDealLineEditorComponent_Conditional_9_Conditional_36_Template, 2, 1, "p", 7);
232
260
  i0.ɵɵelementEnd();
233
- i0.ɵɵelementStart(35, "footer", 17)(36, "button", 18);
234
- i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Conditional_9_Template_button_click_36_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.Save()); });
235
- i0.ɵɵtext(37);
261
+ i0.ɵɵelementStart(37, "footer", 17)(38, "button", 18);
262
+ i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Conditional_9_Template_button_click_38_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.Save()); });
263
+ i0.ɵɵtext(39);
236
264
  i0.ɵɵelementEnd();
237
- i0.ɵɵelementStart(38, "button", 19);
238
- i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Conditional_9_Template_button_click_38_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.Cancel()); });
239
- i0.ɵɵtext(39, "Cancel");
265
+ i0.ɵɵelementStart(40, "button", 19);
266
+ i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Conditional_9_Template_button_click_40_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.Cancel()); });
267
+ i0.ɵɵtext(41, "Cancel");
240
268
  i0.ɵɵelementEnd();
241
- i0.ɵɵconditionalCreate(40, MJSDealLineEditorComponent_Conditional_9_Conditional_40_Template, 2, 1, "span", 6);
242
- i0.ɵɵconditionalCreate(41, MJSDealLineEditorComponent_Conditional_9_Conditional_41_Template, 2, 1);
269
+ i0.ɵɵconditionalCreate(42, MJSDealLineEditorComponent_Conditional_9_Conditional_42_Template, 2, 1, "span", 6);
270
+ i0.ɵɵconditionalCreate(43, MJSDealLineEditorComponent_Conditional_9_Conditional_43_Template, 2, 1);
243
271
  i0.ɵɵelementEnd();
244
272
  } if (rf & 2) {
245
273
  const ctx_r0 = i0.ɵɵnextContext();
246
274
  i0.ɵɵadvance(4);
247
- i0.ɵɵproperty("ngModel", ctx_r0.Working.ProductID)("disabled", ctx_r0.IsLocked)("title", ctx_r0.BlockedReason);
275
+ i0.ɵɵproperty("ngModel", ctx_r0.Working.ProductID)("disabled", ctx_r0.IsLocked || ctx_r0.ProductLockedByPrice)("title", ctx_r0.ProductLockedByPrice ? "Put the price back on Default before changing the product." : ctx_r0.BlockedReason);
248
276
  i0.ɵɵadvance();
249
277
  i0.ɵɵproperty("ngValue", null);
250
278
  i0.ɵɵadvance(2);
@@ -256,15 +284,17 @@ function MJSDealLineEditorComponent_Conditional_9_Template(rf, ctx) { if (rf & 1
256
284
  i0.ɵɵadvance();
257
285
  i0.ɵɵconditional(ctx_r0.DiscountRefusal ? 18 : -1);
258
286
  i0.ɵɵadvance();
259
- i0.ɵɵconditional(ctx_r0.ShowTermStart ? 19 : -1);
287
+ i0.ɵɵconditional(ctx_r0.ShowPricePicker ? 19 : -1);
288
+ i0.ɵɵadvance();
289
+ i0.ɵɵconditional(ctx_r0.ShowTermStart ? 20 : -1);
260
290
  i0.ɵɵadvance(6);
261
291
  i0.ɵɵtextInterpolate(ctx_r0.Pricing ? "\u2026" : ctx_r0.Money(ctx_r0.DisplayUnitPrice));
262
292
  i0.ɵɵadvance(5);
263
293
  i0.ɵɵtextInterpolate(ctx_r0.Pricing ? "\u2026" : ctx_r0.Money(ctx_r0.DisplayLineTotal));
264
294
  i0.ɵɵadvance(2);
265
- i0.ɵɵconditional(ctx_r0.PricingNote ? 32 : 33);
266
- i0.ɵɵadvance(2);
267
- i0.ɵɵconditional(ctx_r0.Error ? 34 : -1);
295
+ i0.ɵɵconditional(ctx_r0.PricingNote ? 33 : ctx_r0.ShowPricePicker ? 34 : 35);
296
+ i0.ɵɵadvance(3);
297
+ i0.ɵɵconditional(ctx_r0.Error ? 36 : -1);
268
298
  i0.ɵɵadvance(2);
269
299
  i0.ɵɵproperty("disabled", !ctx_r0.CanSave || ctx_r0.Saving);
270
300
  i0.ɵɵadvance();
@@ -272,9 +302,9 @@ function MJSDealLineEditorComponent_Conditional_9_Template(rf, ctx) { if (rf & 1
272
302
  i0.ɵɵadvance();
273
303
  i0.ɵɵproperty("disabled", ctx_r0.Saving);
274
304
  i0.ɵɵadvance(2);
275
- i0.ɵɵconditional(!ctx_r0.CanSave && !ctx_r0.Saving ? 40 : -1);
305
+ i0.ɵɵconditional(!ctx_r0.CanSave && !ctx_r0.Saving ? 42 : -1);
276
306
  i0.ɵɵadvance();
277
- i0.ɵɵconditional(ctx_r0.CanRemove ? 41 : -1);
307
+ i0.ɵɵconditional(ctx_r0.CanRemove ? 43 : -1);
278
308
  } }
279
309
  /** `<input type="date">` wants `yyyy-MM-dd`, and nothing else renders. */
280
310
  function toDateInput(d) {
@@ -317,6 +347,14 @@ export class MJSDealLineEditorComponent {
317
347
  service = inject(DealWorkspaceService);
318
348
  cdr = inject(ChangeDetectorRef);
319
349
  Products = [];
350
+ /** Each product's catalog price, for the picker label — read from orders, keyed by product id. */
351
+ productPriceLabels = new Map();
352
+ /** The signed-in rep's price-override grant; `'none'` hides the price picker. */
353
+ OverrideKind = 'none';
354
+ /** The product's applicable named prices, from orders' `ListApplicablePrices`. */
355
+ Applicable = [];
356
+ /** The rules' answer for this line, from the last `Orders.PriceOrder`. Undefined until one reports it. */
357
+ EngineDefault = undefined;
320
358
  Working = null;
321
359
  Loading = true;
322
360
  Saving = false;
@@ -337,6 +375,8 @@ export class MJSDealLineEditorComponent {
337
375
  const persisted = this.Deal?.GetFieldByName('DealStatusTypeID')?.OldValue;
338
376
  this.IsLocked = (await ResolveDealLockState(persisted)).IsLocked;
339
377
  this.Products = await this.service.LoadProducts();
378
+ await this.loadProductPriceLabels();
379
+ this.OverrideKind = this.resolveOverrideKind();
340
380
  /**
341
381
  * RESOLVE THE FK, AND DECIDE, BEFORE `Ensure()` IS ALLOWED TO RUN (DN-17).
342
382
  *
@@ -409,6 +449,12 @@ export class MJSDealLineEditorComponent {
409
449
  // legal value rather than at the one the database refuses.
410
450
  this.Working.Quantity = 1;
411
451
  }
452
+ if (this.ShowPricePicker) {
453
+ // The picker's Default row needs orders' answer before anything is changed, and its list
454
+ // needs the applicable prices; a saved line otherwise opens with Default disabled.
455
+ void this.refreshApplicable();
456
+ this.SchedulePrice();
457
+ }
412
458
  }
413
459
  catch (err) {
414
460
  this.Error = `This line could not be opened: ${err instanceof Error ? err.message : String(err)}`;
@@ -420,9 +466,51 @@ export class MJSDealLineEditorComponent {
420
466
  }
421
467
  ProductOptionLabel(p) {
422
468
  const sku = p.SKU ? ` (${p.SKU})` : '';
423
- // The company is named because two companies can each sell an identically-named product, and
424
- // the choice decides which company's books the revenue lands in.
425
- return p.Company ? `${p.Name}${sku} — ${p.Company}` : `${p.Name}${sku}`;
469
+ // The price is named because two products can share a name and differ only in their price band
470
+ // (golive#270); the company because the choice decides which company's books the revenue lands in.
471
+ const price = this.productPriceLabels.get(p.ID);
472
+ const name = price ? `${p.Name}${sku} · ${price}` : `${p.Name}${sku}`;
473
+ return p.Company ? `${name} — ${p.Company}` : name;
474
+ }
475
+ /**
476
+ * The rep's price-override grant. A grant that cannot be read hides the picker rather than
477
+ * stopping the line from opening: the picker is optional, the line is not.
478
+ */
479
+ resolveOverrideKind() {
480
+ try {
481
+ return userPriceOverrideKind(Metadata.Provider.CurrentUser, Metadata.Provider);
482
+ }
483
+ catch {
484
+ return 'none';
485
+ }
486
+ }
487
+ /**
488
+ * Each product's catalog price, as orders' catalog holds it — its active base-channel
489
+ * `ProductPrice` rows. One row reads as its amount, several as "From" the lowest.
490
+ *
491
+ * READ, NOT COMPUTED: these are the catalog's own amounts, chosen between, never multiplied or
492
+ * adjusted. A failed read only drops the prices from the labels; the picker still works.
493
+ */
494
+ async loadProductPriceLabels() {
495
+ this.productPriceLabels.clear();
496
+ if (!this.Products.length)
497
+ return;
498
+ try {
499
+ await LoadOrdersEngine(Metadata.Provider, Metadata.Provider.CurrentUser);
500
+ for (const p of this.Products) {
501
+ const amounts = OrdersEngine.Instance.BaseProductPrices(p.ID)
502
+ .map((row) => Number(row.Amount))
503
+ .filter((n) => Number.isFinite(n));
504
+ if (!amounts.length)
505
+ continue;
506
+ const lowest = Math.min(...amounts);
507
+ const label = this.Money(lowest);
508
+ this.productPriceLabels.set(p.ID, amounts.every((n) => n === lowest) ? label : `From ${label}`);
509
+ }
510
+ }
511
+ catch {
512
+ this.productPriceLabels.clear();
513
+ }
426
514
  }
427
515
  get SelectedProduct() {
428
516
  return this.Products.find((p) => p.ID === this.Working?.ProductID) ?? null;
@@ -443,8 +531,76 @@ export class MJSDealLineEditorComponent {
443
531
  if (product) {
444
532
  this.Working.CompanyID = product.CompanyID;
445
533
  }
534
+ // The previous product's default and named prices say nothing about this one.
535
+ this.EngineDefault = undefined;
536
+ this.Applicable = [];
537
+ void this.refreshApplicable();
446
538
  this.cdr.detectChanges();
447
539
  }
540
+ /* ── Choosing among orders' prices (golive#270) ─────────────────────────────── */
541
+ /** Offered to a rep holding an override grant, on an open deal, once a product is chosen. */
542
+ get ShowPricePicker() {
543
+ return !this.IsLocked && this.OverrideKind !== 'none' && !!this.Working?.ProductID;
544
+ }
545
+ /** True while the line's price is off its default — see the product select. */
546
+ get ProductLockedByPrice() {
547
+ return !!this.Working && IsLinePriceOverridden(this.Working, this.EngineDefault);
548
+ }
549
+ /** The default unit price: orders' answer when it has given one, else the unpinned priced figure. */
550
+ get DefaultUnit() {
551
+ if (this.EngineDefault !== undefined)
552
+ return this.EngineDefault?.UnitPrice ?? null;
553
+ return this.ProductLockedByPrice ? null : this.DisplayUnitPrice;
554
+ }
555
+ /**
556
+ * The product's applicable named prices, asked of orders with the order's own parties and date —
557
+ * the same context the order line's picker uses, so the two list the same rules.
558
+ */
559
+ async refreshApplicable() {
560
+ const line = this.Working;
561
+ const order = this.Deal?.OrderID_Object;
562
+ const user = Metadata.Provider.CurrentUser;
563
+ if (!this.ShowPricePicker || !line?.ProductID || !order || !user) {
564
+ this.Applicable = [];
565
+ return;
566
+ }
567
+ const productID = String(line.ProductID);
568
+ try {
569
+ await LoadOrdersEngine(Metadata.Provider, user);
570
+ const product = OrdersEngine.Instance.ProductByID(productID);
571
+ const companyID = product?.CompanyID ?? order.CompanyID;
572
+ if (!companyID)
573
+ return;
574
+ const applicable = await ListApplicablePrices({
575
+ ProductID: productID,
576
+ ProductCategoryID: product?.ProductCategoryID ?? null,
577
+ CompanyID: companyID,
578
+ Quantity: Number(line.Quantity ?? 0),
579
+ AsOf: AsDateValue(order.OrderDate) ?? TodayAsDateValue(),
580
+ OrganizationID: order.BillToOrganizationID ?? null,
581
+ PersonID: order.BillToPersonID ?? null,
582
+ ApplicabilityContext: await loadApplicabilityContext({
583
+ OrderHeaderID: order.IsSaved ? order.ID : null,
584
+ ProductID: productID,
585
+ BillToPersonID: order.BillToPersonID ?? null,
586
+ BillToOrganizationID: order.BillToOrganizationID ?? null,
587
+ ShipToPersonID: order.ShipToPersonID ?? null,
588
+ ShipToOrganizationID: order.ShipToOrganizationID ?? null,
589
+ BillToAddressID: order.BillToAddressID ?? null,
590
+ ShipToAddressID: order.ShipToAddressID ?? null,
591
+ }, Metadata.Provider, user),
592
+ }, Metadata.Provider, user);
593
+ // A reply for a product the rep has since moved off is dropped rather than shown.
594
+ if (this.Working?.ProductID === productID)
595
+ this.Applicable = applicable;
596
+ }
597
+ catch {
598
+ this.Applicable = [];
599
+ }
600
+ finally {
601
+ this.cdr.detectChanges();
602
+ }
603
+ }
448
604
  /** Stored as a fraction, shown as a percent. */
449
605
  get DiscountPercent() {
450
606
  return DiscountFractionToPercent(this.Working?.DiscountPct);
@@ -544,6 +700,8 @@ export class MJSDealLineEditorComponent {
544
700
  return;
545
701
  this.Working.Quantity = Number(value);
546
702
  this.SchedulePrice();
703
+ // A named price can be banded by quantity, so the list is asked for again.
704
+ void this.refreshApplicable();
547
705
  }
548
706
  /**
549
707
  * Debounced because a rep types: a quantity of 12 passes through 1 on its way there, and three
@@ -568,9 +726,11 @@ export class MJSDealLineEditorComponent {
568
726
  async refreshPrice() {
569
727
  const line = this.Working;
570
728
  const companyID = this.Deal?.CompanyID;
729
+ const order = this.Deal?.OrderID_Object;
571
730
  if (!line?.ProductID || !companyID) {
572
731
  this.pricedUnit = null;
573
732
  this.pricedTotal = null;
733
+ this.EngineDefault = undefined;
574
734
  this.PricingNote = null;
575
735
  this.cdr.detectChanges();
576
736
  return;
@@ -582,9 +742,17 @@ export class MJSDealLineEditorComponent {
582
742
  const router = Metadata.Provider;
583
743
  const envelope = await router.RouteOperation('Orders.PriceOrder', {
584
744
  CompanyID: companyID,
745
+ // The buyer and the date steer which rule is the default, so they are sent: without
746
+ // them the picker's Default row could name a different rule than the order's save.
747
+ BillToPersonID: order?.BillToPersonID ?? null,
748
+ BillToOrganizationID: order?.BillToOrganizationID ?? null,
749
+ OrderDate: this.IsoOrNull(order?.OrderDate),
585
750
  Lines: [{
586
751
  ProductID: String(line.ProductID),
587
752
  Quantity: Number(line.Quantity) || 1,
753
+ // A picked price PINS the line, as it will on the order's save; otherwise orders
754
+ // resolves it.
755
+ UnitPrice: IsLinePriceOverridden(line, this.EngineDefault) ? Number(line.UnitPrice) : null,
588
756
  DiscountPct: line.DiscountPct ?? null,
589
757
  ServicePeriodStart: this.IsoOrNull(line.ServicePeriodStart),
590
758
  ServicePeriodEnd: this.IsoOrNull(line.ServicePeriodEnd),
@@ -600,15 +768,18 @@ export class MJSDealLineEditorComponent {
600
768
  if (!row) {
601
769
  this.pricedUnit = null;
602
770
  this.pricedTotal = null;
771
+ this.EngineDefault = undefined;
603
772
  this.PricingNote = 'Orders could not price this line yet. It is priced on save.';
604
773
  return;
605
774
  }
606
775
  this.pricedUnit = row.UnitPrice;
607
776
  this.pricedTotal = row.LineTotalNet;
777
+ this.EngineDefault = row.Default;
608
778
  }
609
779
  catch {
610
780
  this.pricedUnit = null;
611
781
  this.pricedTotal = null;
782
+ this.EngineDefault = undefined;
612
783
  this.PricingNote = 'Orders could not price this line yet. It is priced on save.';
613
784
  }
614
785
  finally {
@@ -626,7 +797,10 @@ export class MJSDealLineEditorComponent {
626
797
  get CanSave() {
627
798
  if (this.IsLocked)
628
799
  return false;
629
- return !!this.Working?.ProductID && !this.DiscountRefusal && !!this.Deal?.OrderID_Object;
800
+ return (!!this.Working?.ProductID &&
801
+ !this.DiscountRefusal &&
802
+ !!this.Deal?.OrderID_Object &&
803
+ !LineNeedsOverrideReason(this.Working, this.EngineDefault));
630
804
  }
631
805
  /**
632
806
  * Why Save is disabled, in the words a rep needs.
@@ -647,6 +821,8 @@ export class MJSDealLineEditorComponent {
647
821
  return 'Save the deal first — a product line needs its order.';
648
822
  if (!this.Working?.ProductID)
649
823
  return 'Choose a product.';
824
+ if (LineNeedsOverrideReason(this.Working, this.EngineDefault))
825
+ return 'Enter a reason for the price override.';
650
826
  return this.DiscountRefusal ?? '';
651
827
  }
652
828
  /**
@@ -765,7 +941,7 @@ export class MJSDealLineEditorComponent {
765
941
  this.Closed.emit();
766
942
  }
767
943
  static ɵfac = function MJSDealLineEditorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MJSDealLineEditorComponent)(); };
768
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJSDealLineEditorComponent, selectors: [["mjs-deal-line-editor"]], inputs: { Deal: "Deal", LineID: "LineID" }, outputs: { Saved: "Saved", Closed: "Closed" }, decls: 10, vars: 3, consts: [[1, "mjs-le__scrim", 3, "click"], ["role", "dialog", "aria-modal", "true", "data-testid", "line-editor", 1, "mjs-le"], [1, "mjs-le__head"], ["type", "button", "aria-label", "Close", 1, "mjs-le__x", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-xmark"], [1, "mjs-le__body"], [1, "mjs-le__muted"], [1, "mjs-le__error"], [1, "mjs-le__field"], [1, "mjs-le__label"], ["data-testid", "line-product", 3, "ngModelChange", "ngModel", "disabled", "title"], [3, "ngValue"], [1, "mjs-le__row"], ["type", "number", "data-testid", "line-quantity", "min", "1", "step", "1", 3, "ngModelChange", "ngModel", "disabled", "title"], ["type", "number", "data-testid", "line-discount", "min", "0", "max", "100", "step", "0.01", 3, "ngModelChange", "ngModel", "disabled", "title"], [1, "mjs-le__readonly"], [1, "mjs-le__ro-val"], [1, "mjs-le__foot"], ["type", "button", "data-testid", "line-save", 1, "mjs-le__btn", "mjs-le__btn--primary", 3, "click", "disabled"], ["type", "button", 1, "mjs-le__btn", 3, "click", "disabled"], ["type", "date", "data-testid", "line-term-start", 3, "ngModelChange", "ngModel", "disabled", "title"], [1, "mjs-le__hint"], [1, "mjs-le__confirm"], ["type", "button", "data-testid", "line-remove", 1, "mjs-le__btn", "mjs-le__btn--quiet", 3, "disabled"], ["type", "button", "data-testid", "line-remove-confirm", 1, "mjs-le__btn", "mjs-le__btn--danger", 3, "click", "disabled"], ["type", "button", "data-testid", "line-remove", 1, "mjs-le__btn", "mjs-le__btn--quiet", 3, "click", "disabled"]], template: function MJSDealLineEditorComponent_Template(rf, ctx) { if (rf & 1) {
944
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJSDealLineEditorComponent, selectors: [["mjs-deal-line-editor"]], inputs: { Deal: "Deal", LineID: "LineID" }, outputs: { Saved: "Saved", Closed: "Closed" }, decls: 10, vars: 3, consts: [[1, "mjs-le__scrim", 3, "click"], ["role", "dialog", "aria-modal", "true", "data-testid", "line-editor", 1, "mjs-le"], [1, "mjs-le__head"], ["type", "button", "aria-label", "Close", 1, "mjs-le__x", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-xmark"], [1, "mjs-le__body"], [1, "mjs-le__muted"], [1, "mjs-le__error"], [1, "mjs-le__field"], [1, "mjs-le__label"], ["data-testid", "line-product", 3, "ngModelChange", "ngModel", "disabled", "title"], [3, "ngValue"], [1, "mjs-le__row"], ["type", "number", "data-testid", "line-quantity", "min", "1", "step", "1", 3, "ngModelChange", "ngModel", "disabled", "title"], ["type", "number", "data-testid", "line-discount", "min", "0", "max", "100", "step", "0.01", 3, "ngModelChange", "ngModel", "disabled", "title"], [1, "mjs-le__readonly"], [1, "mjs-le__ro-val"], [1, "mjs-le__foot"], ["type", "button", "data-testid", "line-save", 1, "mjs-le__btn", "mjs-le__btn--primary", 3, "click", "disabled"], ["type", "button", 1, "mjs-le__btn", 3, "click", "disabled"], [3, "PriceChanged", "Line", "OverrideKind", "AllowCustomAmount", "Applicable", "EngineDefault", "DefaultUnit", "PriceSource", "PricedUnit"], ["type", "date", "data-testid", "line-term-start", 3, "ngModelChange", "ngModel", "disabled", "title"], [1, "mjs-le__hint"], [1, "mjs-le__confirm"], ["type", "button", "data-testid", "line-remove", 1, "mjs-le__btn", "mjs-le__btn--quiet", 3, "disabled"], ["type", "button", "data-testid", "line-remove-confirm", 1, "mjs-le__btn", "mjs-le__btn--danger", 3, "click", "disabled"], ["type", "button", "data-testid", "line-remove", 1, "mjs-le__btn", "mjs-le__btn--quiet", 3, "click", "disabled"]], template: function MJSDealLineEditorComponent_Template(rf, ctx) { if (rf & 1) {
769
945
  i0.ɵɵelementStart(0, "div", 0);
770
946
  i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Template_div_click_0_listener() { return ctx.Cancel(); });
771
947
  i0.ɵɵelementEnd();
@@ -776,7 +952,7 @@ export class MJSDealLineEditorComponent {
776
952
  i0.ɵɵlistener("click", function MJSDealLineEditorComponent_Template_button_click_5_listener() { return ctx.Cancel(); });
777
953
  i0.ɵɵelement(6, "i", 4);
778
954
  i0.ɵɵelementEnd()();
779
- i0.ɵɵconditionalCreate(7, MJSDealLineEditorComponent_Conditional_7_Template, 3, 0, "div", 5)(8, MJSDealLineEditorComponent_Conditional_8_Template, 3, 1, "div", 5)(9, MJSDealLineEditorComponent_Conditional_9_Template, 42, 21);
955
+ i0.ɵɵconditionalCreate(7, MJSDealLineEditorComponent_Conditional_7_Template, 3, 0, "div", 5)(8, MJSDealLineEditorComponent_Conditional_8_Template, 3, 1, "div", 5)(9, MJSDealLineEditorComponent_Conditional_9_Template, 44, 22);
780
956
  i0.ɵɵelementEnd();
781
957
  } if (rf & 2) {
782
958
  i0.ɵɵadvance();
@@ -785,11 +961,11 @@ export class MJSDealLineEditorComponent {
785
961
  i0.ɵɵtextInterpolate(ctx.Title);
786
962
  i0.ɵɵadvance(3);
787
963
  i0.ɵɵconditional(ctx.Loading ? 7 : !ctx.Working ? 8 : 9);
788
- } }, dependencies: [CommonModule, FormsModule, i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.NumberValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.MinValidator, i1.MaxValidator, i1.NgModel], styles: [".mjs-le__scrim[_ngcontent-%COMP%] {\n position: fixed; inset: 0; background: rgba(0, 0, 0, .35); z-index: 1000;\n }\n .mjs-le[_ngcontent-%COMP%] {\n position: fixed; z-index: 1001; top: 50%; left: 50%; transform: translate(-50%, -50%);\n width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 64px); overflow: auto;\n display: flex; flex-direction: column;\n background: var(--mj-bg-surface-card); color: var(--mj-text-default);\n border: 1px solid var(--mj-border-default); border-radius: var(--mj-radius-xl, 16px);\n box-shadow: var(--mj-shadow-lg, 0 12px 32px rgba(0, 0, 0, .22));\n }\n .mjs-le__head[_ngcontent-%COMP%] {\n display: flex; align-items: center; justify-content: space-between; gap: var(--mj-space-3);\n padding: var(--mj-space-4) var(--mj-space-5); border-bottom: 1px solid var(--mj-border-subtle);\n }\n .mjs-le__head[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] { margin: 0; font-size: var(--mj-text-lg); font-weight: 700; }\n .mjs-le__x[_ngcontent-%COMP%] {\n border: 0; background: transparent; cursor: pointer; color: var(--mj-text-muted);\n font-size: var(--mj-text-lg); padding: 4px 8px; border-radius: var(--mj-radius-md, 8px);\n }\n .mjs-le__x[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-default); }\n .mjs-le__body[_ngcontent-%COMP%] {\n padding: var(--mj-space-5); display: flex; flex-direction: column; gap: var(--mj-space-4);\n }\n .mjs-le__row[_ngcontent-%COMP%] { display: flex; gap: var(--mj-space-4); flex-wrap: wrap; }\n .mjs-le__row[_ngcontent-%COMP%] > .mjs-le__field[_ngcontent-%COMP%] { flex: 1 1 180px; }\n .mjs-le__field[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 4px; }\n .mjs-le__label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs); text-transform: uppercase; letter-spacing: .04em;\n color: var(--mj-text-muted); font-weight: 700;\n }\n .mjs-le__field[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .mjs-le__field[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n padding: 8px 10px; border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px); background: var(--mj-bg-surface);\n color: var(--mj-text-default); font: inherit; width: 100%;\n }\n .mjs-le__readonly[_ngcontent-%COMP%] {\n display: flex; gap: var(--mj-space-5); flex-wrap: wrap; align-items: flex-start;\n padding: var(--mj-space-4); border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-bg-surface-subtle, var(--mj-bg-surface-hover));\n }\n .mjs-le__readonly[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 4px; }\n .mjs-le__ro-val[_ngcontent-%COMP%] { font-weight: 650; font-variant-numeric: tabular-nums; }\n .mjs-le__readonly[_ngcontent-%COMP%] .mjs-le__muted[_ngcontent-%COMP%] { flex: 1 1 100%; margin: 0; }\n .mjs-le__muted[_ngcontent-%COMP%] { color: var(--mj-text-muted); font-size: var(--mj-text-sm); }\n .mjs-le__hint[_ngcontent-%COMP%] { color: var(--mj-text-muted); font-size: var(--mj-text-xs); }\n .mjs-le__error[_ngcontent-%COMP%] { color: var(--mj-text-danger, #b3261e); font-size: var(--mj-text-sm); }\n .mjs-le__foot[_ngcontent-%COMP%] {\n display: flex; align-items: center; gap: var(--mj-space-3);\n padding: var(--mj-space-4) var(--mj-space-5); border-top: 1px solid var(--mj-border-subtle);\n flex-wrap: wrap;\n }\n .mjs-le__btn[_ngcontent-%COMP%] {\n padding: 8px 16px; border-radius: var(--mj-radius-md, 8px); cursor: pointer; font: inherit;\n font-weight: 600; border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface); color: var(--mj-text-default);\n }\n .mjs-le__btn--primary[_ngcontent-%COMP%] {\n background: var(--mj-color-primary, #1268cf); border-color: var(--mj-color-primary, #1268cf);\n color: #fff;\n }\n .mjs-le__btn[disabled][_ngcontent-%COMP%] { opacity: .55; cursor: not-allowed; }\n .mjs-le__btn--quiet[_ngcontent-%COMP%] { margin-left: auto; color: var(--mj-status-error, #b3261e); }\n .mjs-le__btn--danger[_ngcontent-%COMP%] {\n background: var(--mj-status-error, #b3261e); color: #fff; border-color: transparent;\n }\n .mjs-le__confirm[_ngcontent-%COMP%] { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; }\n @media (max-width: 480px) {\n .mjs-le__row[_ngcontent-%COMP%] { flex-direction: column; }\n }"] });
964
+ } }, dependencies: [CommonModule, FormsModule, i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.NumberValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.MinValidator, i1.MaxValidator, i1.NgModel, MJOLinePricePickerComponent], styles: [".mjs-le__scrim[_ngcontent-%COMP%] {\n position: fixed; inset: 0; background: rgba(0, 0, 0, .35); z-index: 1000;\n }\n .mjs-le[_ngcontent-%COMP%] {\n position: fixed; z-index: 1001; top: 50%; left: 50%; transform: translate(-50%, -50%);\n width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 64px); overflow: auto;\n display: flex; flex-direction: column;\n background: var(--mj-bg-surface-card); color: var(--mj-text-default);\n border: 1px solid var(--mj-border-default); border-radius: var(--mj-radius-xl, 16px);\n box-shadow: var(--mj-shadow-lg, 0 12px 32px rgba(0, 0, 0, .22));\n }\n .mjs-le__head[_ngcontent-%COMP%] {\n display: flex; align-items: center; justify-content: space-between; gap: var(--mj-space-3);\n padding: var(--mj-space-4) var(--mj-space-5); border-bottom: 1px solid var(--mj-border-subtle);\n }\n .mjs-le__head[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] { margin: 0; font-size: var(--mj-text-lg); font-weight: 700; }\n .mjs-le__x[_ngcontent-%COMP%] {\n border: 0; background: transparent; cursor: pointer; color: var(--mj-text-muted);\n font-size: var(--mj-text-lg); padding: 4px 8px; border-radius: var(--mj-radius-md, 8px);\n }\n .mjs-le__x[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-default); }\n .mjs-le__body[_ngcontent-%COMP%] {\n padding: var(--mj-space-5); display: flex; flex-direction: column; gap: var(--mj-space-4);\n }\n .mjs-le__row[_ngcontent-%COMP%] { display: flex; gap: var(--mj-space-4); flex-wrap: wrap; }\n .mjs-le__row[_ngcontent-%COMP%] > .mjs-le__field[_ngcontent-%COMP%] { flex: 1 1 180px; }\n .mjs-le__field[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 4px; }\n .mjs-le__label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs); text-transform: uppercase; letter-spacing: .04em;\n color: var(--mj-text-muted); font-weight: 700;\n }\n .mjs-le__field[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .mjs-le__field[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n padding: 8px 10px; border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px); background: var(--mj-bg-surface);\n color: var(--mj-text-default); font: inherit; width: 100%;\n }\n .mjs-le__readonly[_ngcontent-%COMP%] {\n display: flex; gap: var(--mj-space-5); flex-wrap: wrap; align-items: flex-start;\n padding: var(--mj-space-4); border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-bg-surface-subtle, var(--mj-bg-surface-hover));\n }\n .mjs-le__readonly[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 4px; }\n .mjs-le__ro-val[_ngcontent-%COMP%] { font-weight: 650; font-variant-numeric: tabular-nums; }\n .mjs-le__readonly[_ngcontent-%COMP%] .mjs-le__muted[_ngcontent-%COMP%] { flex: 1 1 100%; margin: 0; }\n .mjs-le__muted[_ngcontent-%COMP%] { color: var(--mj-text-muted); font-size: var(--mj-text-sm); }\n .mjs-le__hint[_ngcontent-%COMP%] { color: var(--mj-text-muted); font-size: var(--mj-text-xs); }\n .mjs-le__error[_ngcontent-%COMP%] { color: var(--mj-text-danger, #b3261e); font-size: var(--mj-text-sm); }\n .mjs-le__foot[_ngcontent-%COMP%] {\n display: flex; align-items: center; gap: var(--mj-space-3);\n padding: var(--mj-space-4) var(--mj-space-5); border-top: 1px solid var(--mj-border-subtle);\n flex-wrap: wrap;\n }\n .mjs-le__btn[_ngcontent-%COMP%] {\n padding: 8px 16px; border-radius: var(--mj-radius-md, 8px); cursor: pointer; font: inherit;\n font-weight: 600; border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface); color: var(--mj-text-default);\n }\n .mjs-le__btn--primary[_ngcontent-%COMP%] {\n background: var(--mj-color-primary, #1268cf); border-color: var(--mj-color-primary, #1268cf);\n color: #fff;\n }\n .mjs-le__btn[disabled][_ngcontent-%COMP%] { opacity: .55; cursor: not-allowed; }\n .mjs-le__btn--quiet[_ngcontent-%COMP%] { margin-left: auto; color: var(--mj-status-error, #b3261e); }\n .mjs-le__btn--danger[_ngcontent-%COMP%] {\n background: var(--mj-status-error, #b3261e); color: #fff; border-color: transparent;\n }\n .mjs-le__confirm[_ngcontent-%COMP%] { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; }\n @media (max-width: 480px) {\n .mjs-le__row[_ngcontent-%COMP%] { flex-direction: column; }\n }"] });
789
965
  }
790
966
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJSDealLineEditorComponent, [{
791
967
  type: Component,
792
- args: [{ selector: 'mjs-deal-line-editor', standalone: true, imports: [CommonModule, FormsModule], template: `
968
+ args: [{ selector: 'mjs-deal-line-editor', standalone: true, imports: [CommonModule, FormsModule, MJOLinePricePickerComponent], template: `
793
969
  <div class="mjs-le__scrim" (click)="Cancel()"></div>
794
970
  <div class="mjs-le" role="dialog" aria-modal="true" data-testid="line-editor" [attr.aria-label]="Title">
795
971
  <header class="mjs-le__head">
@@ -812,8 +988,11 @@ export class MJSDealLineEditorComponent {
812
988
  may sell any company's product, and the LINE takes its company from whichever
813
989
  is chosen. Each option names its owner because two companies can both sell an
814
990
  "Onboarding Fee". -->
991
+ <!-- Locked while the price is off its default: a pick belongs to one product's
992
+ rules, and carrying it onto another product would pin a price nobody chose. -->
815
993
  <select data-testid="line-product" [ngModel]="Working.ProductID" (ngModelChange)="OnProductChange($event)"
816
- [disabled]="IsLocked" [title]="BlockedReason">
994
+ [disabled]="IsLocked || ProductLockedByPrice"
995
+ [title]="ProductLockedByPrice ? 'Put the price back on Default before changing the product.' : BlockedReason">
817
996
  <option [ngValue]="null">— choose a product —</option>
818
997
  @for (p of Products; track p.ID) {
819
998
  <option [ngValue]="p.ID">{{ ProductOptionLabel(p) }}</option>
@@ -847,6 +1026,24 @@ export class MJSDealLineEditorComponent {
847
1026
  </label>
848
1027
  </div>
849
1028
 
1029
+ @if (ShowPricePicker) {
1030
+ <div class="mjs-le__field">
1031
+ <span class="mjs-le__label">Price</span>
1032
+ <!-- Orders' named prices only. AllowCustomAmount is off because a typed amount
1033
+ is a price field in the rep's hands (D-DL2); a named rule is not. -->
1034
+ <mjo-line-price-picker
1035
+ [Line]="Working"
1036
+ [OverrideKind]="OverrideKind"
1037
+ [AllowCustomAmount]="false"
1038
+ [Applicable]="Applicable"
1039
+ [EngineDefault]="EngineDefault"
1040
+ [DefaultUnit]="DefaultUnit"
1041
+ [PriceSource]="EngineDefault?.PriceName ?? null"
1042
+ [PricedUnit]="DisplayUnitPrice"
1043
+ (PriceChanged)="SchedulePrice()"></mjo-line-price-picker>
1044
+ </div>
1045
+ }
1046
+
850
1047
  @if (ShowTermStart) {
851
1048
  <label class="mjs-le__field">
852
1049
  <span class="mjs-le__label">Term start</span>
@@ -872,6 +1069,8 @@ export class MJSDealLineEditorComponent {
872
1069
  <p class="mjs-le__muted">
873
1070
  @if (PricingNote) {
874
1071
  {{ PricingNote }}
1072
+ } @else if (ShowPricePicker) {
1073
+ Priced by Orders. Choose another of the product's prices above, or record a discount.
875
1074
  } @else {
876
1075
  Priced by Orders. Change the price with a discount — it is recorded as one.
877
1076
  }
@@ -929,5 +1128,5 @@ export class MJSDealLineEditorComponent {
929
1128
  }], Closed: [{
930
1129
  type: Output
931
1130
  }] }); })();
932
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJSDealLineEditorComponent, { className: "MJSDealLineEditorComponent", filePath: "lib/form-panels/deal-line-editor.component.ts", lineNumber: 326 }); })();
1131
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJSDealLineEditorComponent, { className: "MJSDealLineEditorComponent", filePath: "lib/form-panels/deal-line-editor.component.ts", lineNumber: 384 }); })();
933
1132
  //# sourceMappingURL=deal-line-editor.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deal-line-editor.component.js","sourceRoot":"","sources":["../../../src/lib/form-panels/deal-line-editor.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deal-line-editor.component.js","sourceRoot":"","sources":["../../../src/lib/form-panels/deal-line-editor.component.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mj-biz-apps/sales-ng",
3
3
  "type": "module",
4
- "version": "6.8.2",
4
+ "version": "6.9.0",
5
5
  "description": "BizApps Sales Angular bootstrap - generated form components and module for the deal-pipeline Open App",
6
6
  "main": "dist/public-api.js",
7
7
  "types": "dist/public-api.d.ts",
@@ -16,8 +16,9 @@
16
16
  "dependencies": {
17
17
  "@mj-biz-apps/common-entities": "^5.44.0",
18
18
  "@mj-biz-apps/common-ng": "^5.44.0",
19
- "@mj-biz-apps/orders-entities": "^5.14.0",
20
- "@mj-biz-apps/sales-entities": "6.8.2"
19
+ "@mj-biz-apps/orders-entities": "^5.18.0",
20
+ "@mj-biz-apps/orders-ng": "^5.18.0",
21
+ "@mj-biz-apps/sales-entities": "6.9.0"
21
22
  },
22
23
  "peerDependencies": {
23
24
  "@angular/animations": ">=21.0.0 <22.0.0",