@mj-biz-apps/orders-ng 5.12.2 → 5.14.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.
Files changed (103) hide show
  1. package/dist/lib/custom/EventOrderLine/event-order-line-form.component.d.ts +24 -0
  2. package/dist/lib/custom/EventOrderLine/event-order-line-form.component.d.ts.map +1 -0
  3. package/dist/lib/custom/EventOrderLine/event-order-line-form.component.js +196 -0
  4. package/dist/lib/custom/EventOrderLine/event-order-line-form.component.js.map +1 -0
  5. package/dist/lib/custom/OrderHeader/line-extension-fields.js +1 -1
  6. package/dist/lib/custom/OrderHeader/order-line-details-panel.component.d.ts +80 -0
  7. package/dist/lib/custom/OrderHeader/order-line-details-panel.component.d.ts.map +1 -0
  8. package/dist/lib/custom/OrderHeader/order-line-details-panel.component.js +355 -0
  9. package/dist/lib/custom/OrderHeader/order-line-details-panel.component.js.map +1 -0
  10. package/dist/lib/custom/OrderHeader/order-lines-editor.component.d.ts +25 -1
  11. package/dist/lib/custom/OrderHeader/order-lines-editor.component.d.ts.map +1 -1
  12. package/dist/lib/custom/OrderHeader/order-lines-editor.component.js +204 -127
  13. package/dist/lib/custom/OrderHeader/order-lines-editor.component.js.map +1 -1
  14. package/dist/lib/custom/Product/product-save-guard-form.component.js +2 -2
  15. package/dist/lib/custom/custom-forms.module.d.ts +13 -12
  16. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  17. package/dist/lib/custom/custom-forms.module.js +8 -2
  18. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  19. package/dist/lib/data/entity-names.d.ts +8 -0
  20. package/dist/lib/data/entity-names.d.ts.map +1 -1
  21. package/dist/lib/data/entity-names.js +8 -0
  22. package/dist/lib/data/entity-names.js.map +1 -1
  23. package/dist/lib/data/orders-grid-state.d.ts +16 -0
  24. package/dist/lib/data/orders-grid-state.d.ts.map +1 -0
  25. package/dist/lib/data/orders-grid-state.js +45 -0
  26. package/dist/lib/data/orders-grid-state.js.map +1 -0
  27. package/dist/lib/data/orders-queries.d.ts +40 -0
  28. package/dist/lib/data/orders-queries.d.ts.map +1 -1
  29. package/dist/lib/data/orders-queries.js +54 -0
  30. package/dist/lib/data/orders-queries.js.map +1 -1
  31. package/dist/lib/form-panels/catalog-overviews.panels.js +6 -6
  32. package/dist/lib/form-panels/commercial-overviews.panels.js +5 -5
  33. package/dist/lib/form-panels/document-forms.module.d.ts +4 -3
  34. package/dist/lib/form-panels/document-forms.module.d.ts.map +1 -1
  35. package/dist/lib/form-panels/document-forms.module.js +4 -0
  36. package/dist/lib/form-panels/document-forms.module.js.map +1 -1
  37. package/dist/lib/form-panels/document-hero.component.js +2 -2
  38. package/dist/lib/form-panels/document-overviews.panels.js +7 -7
  39. package/dist/lib/form-panels/lookup-headers.panels.js +10 -10
  40. package/dist/lib/form-panels/overview-cards.component.js +2 -2
  41. package/dist/lib/form-panels/payment-header.panel.js +2 -2
  42. package/dist/lib/form-panels/price-list-header.panel.js +2 -2
  43. package/dist/lib/form-panels/product-header.panel.js +53 -16
  44. package/dist/lib/form-panels/product-header.panel.js.map +1 -1
  45. package/dist/lib/form-panels/promotion-header.panel.js +2 -2
  46. package/dist/lib/form-panels/subscription-header.panel.d.ts +21 -0
  47. package/dist/lib/form-panels/subscription-header.panel.d.ts.map +1 -1
  48. package/dist/lib/form-panels/subscription-header.panel.js +64 -12
  49. package/dist/lib/form-panels/subscription-header.panel.js.map +1 -1
  50. package/dist/lib/form-panels/subscription-revrec.panel.js +2 -2
  51. package/dist/lib/form-panels/subscription-term-header.panel.js +2 -2
  52. package/dist/lib/form-panels/subscription-term-revrec.panel.js +2 -2
  53. package/dist/lib/form-panels/subscription-terms.panel.js +2 -2
  54. package/dist/lib/generated/Entities/mjBizAppsOrdersEventOrderLine/mjbizappsorderseventorderline.form.component.js +30 -8
  55. package/dist/lib/generated/Entities/mjBizAppsOrdersEventOrderLine/mjbizappsorderseventorderline.form.component.js.map +1 -1
  56. package/dist/lib/generated/Entities/mjBizAppsOrdersEventProduct/mjbizappsorderseventproduct.form.component.d.ts.map +1 -1
  57. package/dist/lib/generated/Entities/mjBizAppsOrdersEventProduct/mjbizappsorderseventproduct.form.component.js +10 -16
  58. package/dist/lib/generated/Entities/mjBizAppsOrdersEventProduct/mjbizappsorderseventproduct.form.component.js.map +1 -1
  59. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderHeader/mjbizappsordersorderheader.form.component.js +9 -9
  60. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderHeader/mjbizappsordersorderheader.form.component.js.map +1 -1
  61. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderLine/mjbizappsordersorderline.form.component.js +89 -85
  62. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderLine/mjbizappsordersorderline.form.component.js.map +1 -1
  63. package/dist/lib/generated/Entities/mjBizAppsOrdersPaymentHeader/mjbizappsorderspaymentheader.form.component.d.ts.map +1 -1
  64. package/dist/lib/generated/Entities/mjBizAppsOrdersPaymentHeader/mjbizappsorderspaymentheader.form.component.js +30 -34
  65. package/dist/lib/generated/Entities/mjBizAppsOrdersPaymentHeader/mjbizappsorderspaymentheader.form.component.js.map +1 -1
  66. package/dist/lib/generated/Entities/mjBizAppsOrdersPriceTier/mjbizappsorderspricetier.form.component.d.ts.map +1 -1
  67. package/dist/lib/generated/Entities/mjBizAppsOrdersPriceTier/mjbizappsorderspricetier.form.component.js +9 -5
  68. package/dist/lib/generated/Entities/mjBizAppsOrdersPriceTier/mjbizappsorderspricetier.form.component.js.map +1 -1
  69. package/dist/lib/generated/Entities/mjBizAppsOrdersProduct/mjbizappsordersproduct.form.component.js +2 -2
  70. package/dist/lib/generated/Entities/mjBizAppsOrdersProductCategory/mjbizappsordersproductcategory.form.component.d.ts.map +1 -1
  71. package/dist/lib/generated/Entities/mjBizAppsOrdersProductCategory/mjbizappsordersproductcategory.form.component.js +41 -35
  72. package/dist/lib/generated/Entities/mjBizAppsOrdersProductCategory/mjbizappsordersproductcategory.form.component.js.map +1 -1
  73. package/dist/lib/generated/Entities/mjBizAppsOrdersSubscription/mjbizappsorderssubscription.form.component.d.ts.map +1 -1
  74. package/dist/lib/generated/Entities/mjBizAppsOrdersSubscription/mjbizappsorderssubscription.form.component.js +43 -46
  75. package/dist/lib/generated/Entities/mjBizAppsOrdersSubscription/mjbizappsorderssubscription.form.component.js.map +1 -1
  76. package/dist/lib/pages/orders/orders-dashboard.page.d.ts +1 -0
  77. package/dist/lib/pages/orders/orders-dashboard.page.d.ts.map +1 -1
  78. package/dist/lib/pages/orders/orders-dashboard.page.js +24 -28
  79. package/dist/lib/pages/orders/orders-dashboard.page.js.map +1 -1
  80. package/dist/lib/pages/orders/orders-list.page.d.ts +1 -0
  81. package/dist/lib/pages/orders/orders-list.page.d.ts.map +1 -1
  82. package/dist/lib/pages/orders/orders-list.page.js +7 -4
  83. package/dist/lib/pages/orders/orders-list.page.js.map +1 -1
  84. package/dist/lib/pages/payments/account-credit.page.d.ts +1 -0
  85. package/dist/lib/pages/payments/account-credit.page.d.ts.map +1 -1
  86. package/dist/lib/pages/payments/account-credit.page.js +7 -4
  87. package/dist/lib/pages/payments/account-credit.page.js.map +1 -1
  88. package/dist/lib/pages/payments/payments-dashboard.page.d.ts.map +1 -1
  89. package/dist/lib/pages/payments/payments-dashboard.page.js +8 -19
  90. package/dist/lib/pages/payments/payments-dashboard.page.js.map +1 -1
  91. package/dist/lib/pages/receivables/customer-ar.page.d.ts +1 -0
  92. package/dist/lib/pages/receivables/customer-ar.page.d.ts.map +1 -1
  93. package/dist/lib/pages/receivables/customer-ar.page.js +7 -4
  94. package/dist/lib/pages/receivables/customer-ar.page.js.map +1 -1
  95. package/dist/lib/pages/receivables/overdue.page.d.ts +1 -0
  96. package/dist/lib/pages/receivables/overdue.page.d.ts.map +1 -1
  97. package/dist/lib/pages/receivables/overdue.page.js +7 -4
  98. package/dist/lib/pages/receivables/overdue.page.js.map +1 -1
  99. package/dist/lib/panels/day-bars.d.ts +37 -0
  100. package/dist/lib/panels/day-bars.d.ts.map +1 -0
  101. package/dist/lib/panels/day-bars.js +49 -0
  102. package/dist/lib/panels/day-bars.js.map +1 -0
  103. package/package.json +5 -4
@@ -0,0 +1,355 @@
1
+ import { ChangeDetectorRef, Component, EventEmitter, HostListener, Input, Output, inject } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { UUIDsEqual } from '@memberjunction/global';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ const _forTrack0 = ($index, $item) => $item.ID;
8
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵtext(0);
10
+ } if (rf & 2) {
11
+ const ctx_r1 = i0.ɵɵnextContext(2);
12
+ i0.ɵɵtextInterpolate1(" \u00B7 ", ctx_r1.ProductType, " ");
13
+ } }
14
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
15
+ i0.ɵɵtext(0);
16
+ } if (rf & 2) {
17
+ const ctx_r1 = i0.ɵɵnextContext(2);
18
+ i0.ɵɵtextInterpolate1(" \u00B7 Line ", ctx_r1.Line == null ? null : ctx_r1.Line.LineNumber, " ");
19
+ } }
20
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_18_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "p", 12);
22
+ i0.ɵɵtext(1, " This line is booked, so its tag is the one its journal entry already carries and can no longer be changed. ");
23
+ i0.ɵɵelementEnd();
24
+ } }
25
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_19_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementStart(0, "p", 13);
27
+ i0.ɵɵtext(1, " No dimensions are defined. They arrive from Business Central through accounting's ERP sync, so until that has run there is nothing to tag a line with. ");
28
+ i0.ɵɵelementEnd();
29
+ } }
30
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_For_7_Template(rf, ctx) { if (rf & 1) {
31
+ i0.ɵɵelementStart(0, "option", 21);
32
+ i0.ɵɵtext(1);
33
+ i0.ɵɵelementEnd();
34
+ } if (rf & 2) {
35
+ const dimension_r4 = ctx.$implicit;
36
+ i0.ɵɵproperty("value", dimension_r4.ID);
37
+ i0.ɵɵadvance();
38
+ i0.ɵɵtextInterpolate2("", dimension_r4.Code, " \u2014 ", dimension_r4.Name);
39
+ } }
40
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Conditional_8_For_7_Template(rf, ctx) { if (rf & 1) {
41
+ i0.ɵɵelementStart(0, "option", 21);
42
+ i0.ɵɵtext(1);
43
+ i0.ɵɵelementEnd();
44
+ } if (rf & 2) {
45
+ const value_r6 = ctx.$implicit;
46
+ i0.ɵɵproperty("value", value_r6.ID);
47
+ i0.ɵɵadvance();
48
+ i0.ɵɵtextInterpolate2("", value_r6.Code, " \u2014 ", value_r6.Name);
49
+ } }
50
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Conditional_8_Conditional_8_Template(rf, ctx) { if (rf & 1) {
51
+ i0.ɵɵelementStart(0, "span", 13);
52
+ i0.ɵɵtext(1, " No value of this dimension is in effect on this order's date. Clear the dimension, or pick another. ");
53
+ i0.ɵɵelementEnd();
54
+ } }
55
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Conditional_8_Conditional_9_Template(rf, ctx) { if (rf & 1) {
56
+ i0.ɵɵelementStart(0, "span", 24);
57
+ i0.ɵɵtext(1, " Pick a value, or clear the dimension. A dimension names the axis; without a value there is nothing to tag the entry with, and the line will not save. ");
58
+ i0.ɵɵelementEnd();
59
+ } }
60
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Conditional_8_Template(rf, ctx) { if (rf & 1) {
61
+ const _r5 = i0.ɵɵgetCurrentView();
62
+ i0.ɵɵelementStart(0, "div", 17)(1, "label", 22);
63
+ i0.ɵɵtext(2, "Value");
64
+ i0.ɵɵelementEnd();
65
+ i0.ɵɵelementStart(3, "select", 23);
66
+ i0.ɵɵlistener("change", function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Conditional_8_Template_select_change_3_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.SetValue($event)); });
67
+ i0.ɵɵelementStart(4, "option", 20);
68
+ i0.ɵɵtext(5, "\u2014 choose a value \u2014");
69
+ i0.ɵɵelementEnd();
70
+ i0.ɵɵrepeaterCreate(6, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Conditional_8_For_7_Template, 2, 3, "option", 21, _forTrack0);
71
+ i0.ɵɵelementEnd();
72
+ i0.ɵɵconditionalCreate(8, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Conditional_8_Conditional_8_Template, 2, 0, "span", 13)(9, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Conditional_8_Conditional_9_Template, 2, 0, "span", 24);
73
+ i0.ɵɵelementEnd();
74
+ i0.ɵɵelementStart(10, "button", 25);
75
+ i0.ɵɵlistener("click", function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Conditional_8_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.ClearTag()); });
76
+ i0.ɵɵtext(11, " Clear dimension ");
77
+ i0.ɵɵelementEnd();
78
+ } if (rf & 2) {
79
+ const ctx_r1 = i0.ɵɵnextContext(3);
80
+ i0.ɵɵadvance(3);
81
+ i0.ɵɵclassProp("is-required", ctx_r1.NeedsValue);
82
+ i0.ɵɵproperty("value", ctx_r1.SelectedValueID);
83
+ i0.ɵɵadvance(3);
84
+ i0.ɵɵrepeater(ctx_r1.ValuesForSelectedDimension);
85
+ i0.ɵɵadvance(2);
86
+ i0.ɵɵconditional(ctx_r1.ValuesForSelectedDimension.length === 0 ? 8 : ctx_r1.NeedsValue ? 9 : -1);
87
+ } }
88
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Template(rf, ctx) { if (rf & 1) {
89
+ const _r3 = i0.ɵɵgetCurrentView();
90
+ i0.ɵɵelementStart(0, "div", 17)(1, "label", 18);
91
+ i0.ɵɵtext(2, "Dimension");
92
+ i0.ɵɵelementEnd();
93
+ i0.ɵɵelementStart(3, "select", 19);
94
+ i0.ɵɵlistener("change", function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Template_select_change_3_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.SetDimension($event)); });
95
+ i0.ɵɵelementStart(4, "option", 20);
96
+ i0.ɵɵtext(5, "\u2014 none \u2014");
97
+ i0.ɵɵelementEnd();
98
+ i0.ɵɵrepeaterCreate(6, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_For_7_Template, 2, 3, "option", 21, _forTrack0);
99
+ i0.ɵɵelementEnd()();
100
+ i0.ɵɵconditionalCreate(8, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Conditional_8_Template, 12, 4);
101
+ } if (rf & 2) {
102
+ const ctx_r1 = i0.ɵɵnextContext(2);
103
+ i0.ɵɵadvance(3);
104
+ i0.ɵɵproperty("value", ctx_r1.SelectedDimensionID);
105
+ i0.ɵɵadvance(3);
106
+ i0.ɵɵrepeater(ctx_r1.Dimensions);
107
+ i0.ɵɵadvance(2);
108
+ i0.ɵɵconditional(ctx_r1.SelectedDimensionID ? 8 : -1);
109
+ } }
110
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_21_Conditional_4_Template(rf, ctx) { if (rf & 1) {
111
+ i0.ɵɵtext(0);
112
+ } if (rf & 2) {
113
+ const dimension_r7 = ctx;
114
+ i0.ɵɵtextInterpolate2(" ", dimension_r7.Code, " \u2014 ", dimension_r7.Name, " ");
115
+ } }
116
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_21_Conditional_5_Template(rf, ctx) { if (rf & 1) {
117
+ i0.ɵɵtext(0, " \u2014 none \u2014 ");
118
+ } }
119
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_21_Conditional_6_Template(rf, ctx) { if (rf & 1) {
120
+ i0.ɵɵelementStart(0, "div", 17)(1, "span", 26);
121
+ i0.ɵɵtext(2, "Value");
122
+ i0.ɵɵelementEnd();
123
+ i0.ɵɵelementStart(3, "span", 27);
124
+ i0.ɵɵtext(4);
125
+ i0.ɵɵelementEnd()();
126
+ } if (rf & 2) {
127
+ const ctx_r1 = i0.ɵɵnextContext(3);
128
+ i0.ɵɵadvance(4);
129
+ i0.ɵɵtextInterpolate(ctx_r1.SelectedValueLabel);
130
+ } }
131
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_21_Template(rf, ctx) { if (rf & 1) {
132
+ i0.ɵɵelementStart(0, "div", 17)(1, "span", 26);
133
+ i0.ɵɵtext(2, "Dimension");
134
+ i0.ɵɵelementEnd();
135
+ i0.ɵɵelementStart(3, "span", 27);
136
+ i0.ɵɵconditionalCreate(4, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_21_Conditional_4_Template, 1, 2)(5, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_21_Conditional_5_Template, 1, 0);
137
+ i0.ɵɵelementEnd()();
138
+ i0.ɵɵconditionalCreate(6, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_21_Conditional_6_Template, 5, 1, "div", 17);
139
+ } if (rf & 2) {
140
+ let tmp_3_0;
141
+ const ctx_r1 = i0.ɵɵnextContext(2);
142
+ i0.ɵɵadvance(3);
143
+ i0.ɵɵclassProp("is-empty", !ctx_r1.SelectedDimensionID);
144
+ i0.ɵɵadvance();
145
+ i0.ɵɵconditional((tmp_3_0 = ctx_r1.SelectedDimension) ? 4 : 5, tmp_3_0);
146
+ i0.ɵɵadvance(2);
147
+ i0.ɵɵconditional(ctx_r1.SelectedDimensionID ? 6 : -1);
148
+ } }
149
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_24_Template(rf, ctx) { if (rf & 1) {
150
+ i0.ɵɵtext(0, " Needs a value before the order can save. ");
151
+ } }
152
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_25_Template(rf, ctx) { if (rf & 1) {
153
+ i0.ɵɵtext(0, " Changes save with the order. ");
154
+ } }
155
+ function MJOOrderLineDetailsPanelComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
156
+ const _r1 = i0.ɵɵgetCurrentView();
157
+ i0.ɵɵelementStart(0, "button", 0);
158
+ i0.ɵɵlistener("click", function MJOOrderLineDetailsPanelComponent_Conditional_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Close()); });
159
+ i0.ɵɵelementEnd();
160
+ i0.ɵɵelementStart(1, "aside", 1)(2, "header", 2)(3, "div", 3)(4, "div", 4);
161
+ i0.ɵɵtext(5);
162
+ i0.ɵɵelementEnd();
163
+ i0.ɵɵelementStart(6, "div", 5);
164
+ i0.ɵɵtext(7);
165
+ i0.ɵɵconditionalCreate(8, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_8_Template, 1, 1);
166
+ i0.ɵɵconditionalCreate(9, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_9_Template, 1, 1);
167
+ i0.ɵɵelementEnd()();
168
+ i0.ɵɵelementStart(10, "button", 6);
169
+ i0.ɵɵlistener("click", function MJOOrderLineDetailsPanelComponent_Conditional_0_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Close()); });
170
+ i0.ɵɵelement(11, "i", 7);
171
+ i0.ɵɵelementEnd()();
172
+ i0.ɵɵelementStart(12, "div", 8)(13, "section", 9)(14, "h3", 10);
173
+ i0.ɵɵtext(15, "GL Dimension");
174
+ i0.ɵɵelementEnd();
175
+ i0.ɵɵelementStart(16, "p", 11);
176
+ i0.ɵɵtext(17, " Carried onto every journal entry line this order line produces. An untagged line still books \u2014 it just reaches the ledger with nothing to report on. ");
177
+ i0.ɵɵelementEnd();
178
+ i0.ɵɵconditionalCreate(18, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_18_Template, 2, 0, "p", 12);
179
+ i0.ɵɵconditionalCreate(19, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_19_Template, 2, 0, "p", 13)(20, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_20_Template, 9, 2)(21, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_21_Template, 7, 4);
180
+ i0.ɵɵelementEnd()();
181
+ i0.ɵɵelementStart(22, "footer", 14)(23, "span", 15);
182
+ i0.ɵɵconditionalCreate(24, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_24_Template, 1, 0)(25, MJOOrderLineDetailsPanelComponent_Conditional_0_Conditional_25_Template, 1, 0);
183
+ i0.ɵɵelementEnd();
184
+ i0.ɵɵelementStart(26, "button", 16);
185
+ i0.ɵɵlistener("click", function MJOOrderLineDetailsPanelComponent_Conditional_0_Template_button_click_26_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Close()); });
186
+ i0.ɵɵtext(27, "Done");
187
+ i0.ɵɵelementEnd()()();
188
+ } if (rf & 2) {
189
+ const ctx_r1 = i0.ɵɵnextContext();
190
+ i0.ɵɵadvance(5);
191
+ i0.ɵɵtextInterpolate(ctx_r1.ProductName || "Order line");
192
+ i0.ɵɵadvance(2);
193
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.ProductSKU, " ");
194
+ i0.ɵɵadvance();
195
+ i0.ɵɵconditional(ctx_r1.ProductType ? 8 : -1);
196
+ i0.ɵɵadvance();
197
+ i0.ɵɵconditional((ctx_r1.Line == null ? null : ctx_r1.Line.LineNumber) ? 9 : -1);
198
+ i0.ɵɵadvance(9);
199
+ i0.ɵɵconditional(ctx_r1.IsBooked ? 18 : -1);
200
+ i0.ɵɵadvance();
201
+ i0.ɵɵconditional(ctx_r1.Dimensions.length === 0 ? 19 : ctx_r1.CanEdit ? 20 : 21);
202
+ i0.ɵɵadvance(5);
203
+ i0.ɵɵconditional(ctx_r1.NeedsValue ? 24 : ctx_r1.CanEdit ? 25 : -1);
204
+ } }
205
+ /**
206
+ * The details a line has but the line card should not carry.
207
+ *
208
+ * THE GL DIMENSION IS WHY THIS EXISTS (golive #236). `OrderJournalEntryFactory` has ridden dimension
209
+ * tags onto every journal entry line an order line produces since the baseline, but an order line
210
+ * was never tagged, so order-originated entries reached the ledger carrying none. This is where the
211
+ * tag is stated.
212
+ *
213
+ * ONE TAG PER LINE. `OrderLine.DimensionID` / `.DimensionValueID` hold a single axis and a single
214
+ * point on it. A line can therefore be filed under Venture OR Product OR ARR-Type, not all of them
215
+ * — the chart-of-accounts design asks for five axes on a revenue line, and this shape carries one.
216
+ *
217
+ * A PANEL RATHER THAN A ROW ON THE CARD. The card is already dense — product, quantity, price, the
218
+ * override editor, consequence chips, term start and the extension disclosure — and the tag is
219
+ * looked at rarely. The panel shows on request and covers nothing until then.
220
+ *
221
+ * NOTHING HERE SAVES. The pickers write to the line entity in memory; the ORDER's save persists it
222
+ * with everything else, so a line added in the browser and tagged before its first save is written
223
+ * once, in one transaction, like any other field on the line.
224
+ */
225
+ export class MJOOrderLineDetailsPanelComponent {
226
+ cdr = inject(ChangeDetectorRef);
227
+ /** The line whose details are shown. Null closes the panel. */
228
+ Line = null;
229
+ /** What the header calls the line. Passed in because the catalog lives on the editor. */
230
+ ProductName = '';
231
+ ProductSKU = '';
232
+ ProductType = '';
233
+ /** Every dimension a line may be tagged with, each with the values it permits. */
234
+ Dimensions = [];
235
+ EditMode = true;
236
+ Closed = new EventEmitter();
237
+ get IsOpen() {
238
+ return this.Line !== null;
239
+ }
240
+ /**
241
+ * A booked line is frozen — trigger 51003 refuses edits once the order is Confirmed, and the
242
+ * entry its tag produced has already been written. Showing the value read-only is honest;
243
+ * offering pickers that cannot be saved is not.
244
+ */
245
+ get IsBooked() {
246
+ return !!this.Line?.JournalEntryID;
247
+ }
248
+ get CanEdit() {
249
+ return this.EditMode && !this.IsBooked;
250
+ }
251
+ Close() {
252
+ this.Closed.emit();
253
+ }
254
+ OnEscape() {
255
+ if (this.IsOpen)
256
+ this.Close();
257
+ }
258
+ get SelectedDimensionID() {
259
+ return this.Line?.DimensionID ?? '';
260
+ }
261
+ get SelectedValueID() {
262
+ return this.Line?.DimensionValueID ?? '';
263
+ }
264
+ /** The values selectable right now — those of the chosen dimension, or none until one is chosen. */
265
+ get ValuesForSelectedDimension() {
266
+ return this.SelectedDimension?.Values ?? [];
267
+ }
268
+ get SelectedDimension() {
269
+ const id = this.SelectedDimensionID;
270
+ return id ? this.Dimensions.find((d) => UUIDsEqual(d.ID, id)) : undefined;
271
+ }
272
+ /** Display text for the read-only rendering of a booked line. */
273
+ get SelectedValueLabel() {
274
+ const valueID = this.SelectedValueID;
275
+ if (!valueID)
276
+ return '';
277
+ const hit = this.ValuesForSelectedDimension.find((v) => UUIDsEqual(v.ID, valueID));
278
+ return hit ? `${hit.Code} — ${hit.Name}` : valueID;
279
+ }
280
+ /**
281
+ * True when an axis has been chosen but no point on it.
282
+ *
283
+ * `CK_OrderLine_DimensionPair` refuses that row, so the panel says so here rather than letting
284
+ * the order's save come back with a constraint violation naming neither the line nor the field.
285
+ * `OrderLineEntityServer.ValidateAsync` enforces the same rule for every other caller.
286
+ */
287
+ get NeedsValue() {
288
+ return !!this.SelectedDimensionID && !this.SelectedValueID;
289
+ }
290
+ /**
291
+ * Choose the axis.
292
+ *
293
+ * Clearing it clears the value too, and so does CHANGING it: a value belongs to exactly one
294
+ * dimension, so the one already chosen is not a point on the new axis. Leaving it would write a
295
+ * pair that passes the both-or-neither check and is still wrong.
296
+ */
297
+ SetDimension(event) {
298
+ if (!this.CanEdit || !this.Line)
299
+ return;
300
+ const target = event.target;
301
+ if (!(target instanceof HTMLSelectElement))
302
+ return;
303
+ this.Line.DimensionID = target.value || null;
304
+ this.Line.DimensionValueID = null;
305
+ this.cdr.detectChanges();
306
+ }
307
+ SetValue(event) {
308
+ if (!this.CanEdit || !this.Line)
309
+ return;
310
+ const target = event.target;
311
+ if (!(target instanceof HTMLSelectElement))
312
+ return;
313
+ this.Line.DimensionValueID = target.value || null;
314
+ this.cdr.detectChanges();
315
+ }
316
+ /** Clear the tag entirely — both columns, so the pair check holds. */
317
+ ClearTag() {
318
+ if (!this.CanEdit || !this.Line)
319
+ return;
320
+ this.Line.DimensionID = null;
321
+ this.Line.DimensionValueID = null;
322
+ this.cdr.detectChanges();
323
+ }
324
+ static ɵfac = function MJOOrderLineDetailsPanelComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MJOOrderLineDetailsPanelComponent)(); };
325
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJOOrderLineDetailsPanelComponent, selectors: [["mjo-order-line-details-panel"]], hostBindings: function MJOOrderLineDetailsPanelComponent_HostBindings(rf, ctx) { if (rf & 1) {
326
+ i0.ɵɵlistener("keydown.escape", function MJOOrderLineDetailsPanelComponent_keydown_escape_HostBindingHandler() { return ctx.OnEscape(); }, i0.ɵɵresolveDocument);
327
+ } }, inputs: { Line: "Line", ProductName: "ProductName", ProductSKU: "ProductSKU", ProductType: "ProductType", Dimensions: "Dimensions", EditMode: "EditMode" }, outputs: { Closed: "Closed" }, decls: 1, vars: 1, consts: [["type", "button", "aria-hidden", "true", "tabindex", "-1", 1, "mjo-ldp__scrim", 3, "click"], ["role", "dialog", "aria-modal", "true", "aria-labelledby", "mjo-ldp-title", 1, "mjo-ldp"], [1, "mjo-ldp__head"], [1, "mjo-ldp__id"], ["id", "mjo-ldp-title", 1, "mjo-ldp__name"], [1, "mjo-ldp__meta"], ["type", "button", "aria-label", "Close line details", 1, "mjo-ldp__close", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-xmark"], [1, "mjo-ldp__body"], [1, "mjo-ldp__section"], [1, "mjo-ldp__section-title"], [1, "mjo-ldp__section-hint"], [1, "mjo-ldp__locked"], [1, "mjo-ldp__note"], [1, "mjo-ldp__foot"], [1, "mjo-ldp__foot-hint"], ["type", "button", 1, "mjo-ldp__done", 3, "click"], [1, "mjo-ldp__field"], ["for", "mjo-ldp-dimension", 1, "mjo-ldp__label"], ["id", "mjo-ldp-dimension", 1, "mjo-ldp__select", 3, "change", "value"], ["value", ""], [3, "value"], ["for", "mjo-ldp-value", 1, "mjo-ldp__label"], ["id", "mjo-ldp-value", 1, "mjo-ldp__select", 3, "change", "value"], ["role", "alert", 1, "mjo-ldp__required"], ["type", "button", 1, "mjo-ldp__clear", 3, "click"], [1, "mjo-ldp__label"], [1, "mjo-ldp__value"]], template: function MJOOrderLineDetailsPanelComponent_Template(rf, ctx) { if (rf & 1) {
328
+ i0.ɵɵconditionalCreate(0, MJOOrderLineDetailsPanelComponent_Conditional_0_Template, 28, 7);
329
+ } if (rf & 2) {
330
+ i0.ɵɵconditional(ctx.IsOpen ? 0 : -1);
331
+ } }, dependencies: [CommonModule, FormsModule, i1.NgSelectOption, i1.ɵNgSelectMultipleOption], styles: ["[_nghost-%COMP%] { display: contents; }\n\n\n\n\n.mjo-ldp__scrim[_ngcontent-%COMP%] {\n position: fixed;\n inset: 0;\n border: 0;\n padding: 0;\n background: var(--mj-bg-overlay);\n cursor: default;\n z-index: 900;\n}\n\n.mjo-ldp[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n width: 440px;\n max-width: 100vw;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n border-left: 1px solid var(--mj-border-default);\n box-shadow: -8px 0 24px color-mix(in srgb, var(--mj-text-primary) 12%, transparent);\n z-index: 901;\n animation: _ngcontent-%COMP%_mjo-ldp-in 180ms ease;\n}\n\n@keyframes _ngcontent-%COMP%_mjo-ldp-in {\n from { transform: translateX(100%); }\n to { transform: translateX(0); }\n}\n\n\n\n@media (prefers-reduced-motion: reduce) {\n .mjo-ldp[_ngcontent-%COMP%] { animation: none; }\n}\n\n.mjo-ldp__head[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: var(--mj-space-3);\n padding: var(--mj-space-4) var(--mj-space-5);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ldp__id[_ngcontent-%COMP%] { flex: 1; min-width: 0; }\n\n.mjo-ldp__name[_ngcontent-%COMP%] {\n font-size: var(--mj-text-base);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n\n.mjo-ldp__meta[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n margin-top: 2px;\n}\n\n.mjo-ldp__close[_ngcontent-%COMP%] {\n flex: none;\n width: 28px;\n height: 28px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 0;\n background: transparent;\n border-radius: var(--mj-radius-sm);\n color: var(--mj-text-muted);\n cursor: pointer;\n}\n\n.mjo-ldp__close[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n.mjo-ldp__close[_ngcontent-%COMP%]:focus-visible, \n.mjo-ldp__done[_ngcontent-%COMP%]:focus-visible, \n.mjo-ldp__select[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n\n.mjo-ldp__body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: var(--mj-space-5);\n}\n\n.mjo-ldp__error[_ngcontent-%COMP%] {\n margin: 0 0 var(--mj-space-4);\n padding: var(--mj-space-2) var(--mj-space-3);\n border: 1px solid var(--mj-status-warning-border);\n border-radius: var(--mj-radius-sm);\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n font-size: var(--mj-text-xs);\n line-height: 1.5;\n}\n\n.mjo-ldp__section-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-secondary);\n letter-spacing: 0.01em;\n}\n\n.mjo-ldp__section-hint[_ngcontent-%COMP%], \n.mjo-ldp__locked[_ngcontent-%COMP%], \n.mjo-ldp__note[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n line-height: 1.5;\n}\n\n.mjo-ldp__section-hint[_ngcontent-%COMP%] { margin: var(--mj-space-1) 0 var(--mj-space-4); }\n\n.mjo-ldp__locked[_ngcontent-%COMP%] {\n margin: 0 0 var(--mj-space-4);\n padding: var(--mj-space-2) var(--mj-space-3);\n border-radius: var(--mj-radius-sm);\n background: var(--mj-bg-surface-sunken);\n}\n\n.mjo-ldp__note[_ngcontent-%COMP%] { margin: var(--mj-space-1) 0 0; }\n\n.mjo-ldp__field[_ngcontent-%COMP%] { margin-bottom: var(--mj-space-3); }\n\n.mjo-ldp__label[_ngcontent-%COMP%] {\n display: block;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-secondary);\n margin-bottom: var(--mj-space-1);\n}\n\n.mjo-ldp__select[_ngcontent-%COMP%] {\n display: block;\n width: 100%;\n box-sizing: border-box;\n height: 30px;\n padding: 0 6px;\n border: 1px solid var(--mj-border-strong);\n border-radius: var(--mj-radius-sm);\n background: var(--mj-bg-surface);\n color: inherit;\n font: inherit;\n font-size: var(--mj-text-xs);\n}\n\n\n\n\n.mjo-ldp__select.is-required[_ngcontent-%COMP%] { border-color: var(--mj-border-error); }\n\n.mjo-ldp__required[_ngcontent-%COMP%] {\n display: block;\n margin-top: var(--mj-space-1);\n font-size: var(--mj-text-xs);\n line-height: 1.5;\n color: var(--mj-status-error-text);\n}\n\n.mjo-ldp__clear[_ngcontent-%COMP%] {\n padding: 0;\n border: 0;\n background: transparent;\n font: inherit;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-link);\n text-decoration: underline;\n cursor: pointer;\n}\n\n.mjo-ldp__clear[_ngcontent-%COMP%]:hover { color: var(--mj-text-link-hover); }\n\n.mjo-ldp__clear[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n\n.mjo-ldp__value[_ngcontent-%COMP%] {\n display: block;\n font-size: var(--mj-text-sm);\n color: var(--mj-text-primary);\n}\n\n.mjo-ldp__value.is-empty[_ngcontent-%COMP%] { color: var(--mj-text-muted); }\n\n.mjo-ldp__foot[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-3) var(--mj-space-5);\n border-top: 1px solid var(--mj-border-default);\n}\n\n.mjo-ldp__foot-hint[_ngcontent-%COMP%] {\n flex: 1;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ldp__done[_ngcontent-%COMP%] {\n height: 30px;\n padding: 0 14px;\n border: 1px solid var(--mj-border-strong);\n background: var(--mj-bg-surface);\n border-radius: var(--mj-radius-sm);\n font: inherit;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-primary);\n cursor: pointer;\n}\n\n.mjo-ldp__done[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); }\n\n\n\n@media (max-width: 560px) {\n .mjo-ldp[_ngcontent-%COMP%] { width: 100vw; border-left: 0; }\n}"] });
332
+ }
333
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJOOrderLineDetailsPanelComponent, [{
334
+ type: Component,
335
+ args: [{ standalone: true, selector: 'mjo-order-line-details-panel', imports: [CommonModule, FormsModule], template: "@if (IsOpen) {\n <!-- Click-outside-to-close, as a pointer affordance only: it is hidden from assistive technology\n and out of the tab order because it duplicates the Close button and Escape, and a scrim that\n a screen reader announces is one more thing to read past on the way into the panel. -->\n <button\n type=\"button\"\n class=\"mjo-ldp__scrim\"\n (click)=\"Close()\"\n aria-hidden=\"true\"\n tabindex=\"-1\"></button>\n\n <aside class=\"mjo-ldp\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"mjo-ldp-title\">\n\n <header class=\"mjo-ldp__head\">\n <div class=\"mjo-ldp__id\">\n <div class=\"mjo-ldp__name\" id=\"mjo-ldp-title\">{{ ProductName || 'Order line' }}</div>\n <div class=\"mjo-ldp__meta\">\n {{ ProductSKU }}\n @if (ProductType) {\n \u00B7 {{ ProductType }}\n }\n @if (Line?.LineNumber) {\n \u00B7 Line {{ Line?.LineNumber }}\n }\n </div>\n </div>\n <button type=\"button\" class=\"mjo-ldp__close\" (click)=\"Close()\" aria-label=\"Close line details\">\n <i class=\"fa-solid fa-xmark\" aria-hidden=\"true\"></i>\n </button>\n </header>\n\n <div class=\"mjo-ldp__body\">\n <section class=\"mjo-ldp__section\">\n <h3 class=\"mjo-ldp__section-title\">GL Dimension</h3>\n <p class=\"mjo-ldp__section-hint\">\n Carried onto every journal entry line this order line produces. An untagged line\n still books \u2014 it just reaches the ledger with nothing to report on.\n </p>\n\n @if (IsBooked) {\n <p class=\"mjo-ldp__locked\">\n This line is booked, so its tag is the one its journal entry already carries\n and can no longer be changed.\n </p>\n }\n\n @if (Dimensions.length === 0) {\n <p class=\"mjo-ldp__note\">\n No dimensions are defined. They arrive from Business Central through\n accounting's ERP sync, so until that has run there is nothing to tag a line\n with.\n </p>\n } @else if (CanEdit) {\n <div class=\"mjo-ldp__field\">\n <label class=\"mjo-ldp__label\" for=\"mjo-ldp-dimension\">Dimension</label>\n <select\n class=\"mjo-ldp__select\"\n id=\"mjo-ldp-dimension\"\n [value]=\"SelectedDimensionID\"\n (change)=\"SetDimension($event)\">\n <option value=\"\">\u2014 none \u2014</option>\n @for (dimension of Dimensions; track dimension.ID) {\n <option [value]=\"dimension.ID\">{{ dimension.Code }} \u2014 {{ dimension.Name }}</option>\n }\n </select>\n </div>\n\n @if (SelectedDimensionID) {\n <div class=\"mjo-ldp__field\">\n <label class=\"mjo-ldp__label\" for=\"mjo-ldp-value\">Value</label>\n <select\n class=\"mjo-ldp__select\"\n id=\"mjo-ldp-value\"\n [class.is-required]=\"NeedsValue\"\n [value]=\"SelectedValueID\"\n (change)=\"SetValue($event)\">\n <option value=\"\">\u2014 choose a value \u2014</option>\n @for (value of ValuesForSelectedDimension; track value.ID) {\n <option [value]=\"value.ID\">{{ value.Code }} \u2014 {{ value.Name }}</option>\n }\n </select>\n\n @if (ValuesForSelectedDimension.length === 0) {\n <span class=\"mjo-ldp__note\">\n No value of this dimension is in effect on this order's date.\n Clear the dimension, or pick another.\n </span>\n } @else if (NeedsValue) {\n <span class=\"mjo-ldp__required\" role=\"alert\">\n Pick a value, or clear the dimension. A dimension names the axis;\n without a value there is nothing to tag the entry with, and the\n line will not save.\n </span>\n }\n </div>\n\n <button type=\"button\" class=\"mjo-ldp__clear\" (click)=\"ClearTag()\">\n Clear dimension\n </button>\n }\n } @else {\n <div class=\"mjo-ldp__field\">\n <span class=\"mjo-ldp__label\">Dimension</span>\n <span class=\"mjo-ldp__value\" [class.is-empty]=\"!SelectedDimensionID\">\n @if (SelectedDimension; as dimension) {\n {{ dimension.Code }} \u2014 {{ dimension.Name }}\n } @else {\n \u2014 none \u2014\n }\n </span>\n </div>\n @if (SelectedDimensionID) {\n <div class=\"mjo-ldp__field\">\n <span class=\"mjo-ldp__label\">Value</span>\n <span class=\"mjo-ldp__value\">{{ SelectedValueLabel }}</span>\n </div>\n }\n }\n </section>\n </div>\n\n <footer class=\"mjo-ldp__foot\">\n <span class=\"mjo-ldp__foot-hint\">\n @if (NeedsValue) {\n Needs a value before the order can save.\n } @else if (CanEdit) {\n Changes save with the order.\n }\n </span>\n <button type=\"button\" class=\"mjo-ldp__done\" (click)=\"Close()\">Done</button>\n </footer>\n </aside>\n}\n", styles: [":host { display: contents; }\n\n/* Covers the form, not the viewport: the panel belongs to the order being edited, and dimming the\n application chrome around it would claim more than it owns. */\n.mjo-ldp__scrim {\n position: fixed;\n inset: 0;\n border: 0;\n padding: 0;\n background: var(--mj-bg-overlay);\n cursor: default;\n z-index: 900;\n}\n\n.mjo-ldp {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n width: 440px;\n max-width: 100vw;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n border-left: 1px solid var(--mj-border-default);\n box-shadow: -8px 0 24px color-mix(in srgb, var(--mj-text-primary) 12%, transparent);\n z-index: 901;\n animation: mjo-ldp-in 180ms ease;\n}\n\n@keyframes mjo-ldp-in {\n from { transform: translateX(100%); }\n to { transform: translateX(0); }\n}\n\n/* Honour a reduced-motion preference: the slide is decoration, the panel is the content. */\n@media (prefers-reduced-motion: reduce) {\n .mjo-ldp { animation: none; }\n}\n\n.mjo-ldp__head {\n display: flex;\n align-items: flex-start;\n gap: var(--mj-space-3);\n padding: var(--mj-space-4) var(--mj-space-5);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ldp__id { flex: 1; min-width: 0; }\n\n.mjo-ldp__name {\n font-size: var(--mj-text-base);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n\n.mjo-ldp__meta {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n margin-top: 2px;\n}\n\n.mjo-ldp__close {\n flex: none;\n width: 28px;\n height: 28px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 0;\n background: transparent;\n border-radius: var(--mj-radius-sm);\n color: var(--mj-text-muted);\n cursor: pointer;\n}\n\n.mjo-ldp__close:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n.mjo-ldp__close:focus-visible,\n.mjo-ldp__done:focus-visible,\n.mjo-ldp__select:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n\n.mjo-ldp__body {\n flex: 1;\n overflow-y: auto;\n padding: var(--mj-space-5);\n}\n\n.mjo-ldp__error {\n margin: 0 0 var(--mj-space-4);\n padding: var(--mj-space-2) var(--mj-space-3);\n border: 1px solid var(--mj-status-warning-border);\n border-radius: var(--mj-radius-sm);\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n font-size: var(--mj-text-xs);\n line-height: 1.5;\n}\n\n.mjo-ldp__section-title {\n margin: 0;\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-secondary);\n letter-spacing: 0.01em;\n}\n\n.mjo-ldp__section-hint,\n.mjo-ldp__locked,\n.mjo-ldp__note {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n line-height: 1.5;\n}\n\n.mjo-ldp__section-hint { margin: var(--mj-space-1) 0 var(--mj-space-4); }\n\n.mjo-ldp__locked {\n margin: 0 0 var(--mj-space-4);\n padding: var(--mj-space-2) var(--mj-space-3);\n border-radius: var(--mj-radius-sm);\n background: var(--mj-bg-surface-sunken);\n}\n\n.mjo-ldp__note { margin: var(--mj-space-1) 0 0; }\n\n.mjo-ldp__field { margin-bottom: var(--mj-space-3); }\n\n.mjo-ldp__label {\n display: block;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-secondary);\n margin-bottom: var(--mj-space-1);\n}\n\n.mjo-ldp__select {\n display: block;\n width: 100%;\n box-sizing: border-box;\n height: 30px;\n padding: 0 6px;\n border: 1px solid var(--mj-border-strong);\n border-radius: var(--mj-radius-sm);\n background: var(--mj-bg-surface);\n color: inherit;\n font: inherit;\n font-size: var(--mj-text-xs);\n}\n\n/* An axis chosen with no point on it. CK_OrderLine_DimensionPair refuses the row, so the field is\n marked before the save rather than after it comes back. */\n.mjo-ldp__select.is-required { border-color: var(--mj-border-error); }\n\n.mjo-ldp__required {\n display: block;\n margin-top: var(--mj-space-1);\n font-size: var(--mj-text-xs);\n line-height: 1.5;\n color: var(--mj-status-error-text);\n}\n\n.mjo-ldp__clear {\n padding: 0;\n border: 0;\n background: transparent;\n font: inherit;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-link);\n text-decoration: underline;\n cursor: pointer;\n}\n\n.mjo-ldp__clear:hover { color: var(--mj-text-link-hover); }\n\n.mjo-ldp__clear:focus-visible {\n outline: 2px solid var(--mj-border-focus);\n outline-offset: 2px;\n}\n\n.mjo-ldp__value {\n display: block;\n font-size: var(--mj-text-sm);\n color: var(--mj-text-primary);\n}\n\n.mjo-ldp__value.is-empty { color: var(--mj-text-muted); }\n\n.mjo-ldp__foot {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-3) var(--mj-space-5);\n border-top: 1px solid var(--mj-border-default);\n}\n\n.mjo-ldp__foot-hint {\n flex: 1;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ldp__done {\n height: 30px;\n padding: 0 14px;\n border: 1px solid var(--mj-border-strong);\n background: var(--mj-bg-surface);\n border-radius: var(--mj-radius-sm);\n font: inherit;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-primary);\n cursor: pointer;\n}\n\n.mjo-ldp__done:hover { background: var(--mj-bg-surface-hover); }\n\n/* On a phone the panel is the screen \u2014 a 440px drawer beside nothing is just a narrow page. */\n@media (max-width: 560px) {\n .mjo-ldp { width: 100vw; border-left: 0; }\n}\n"] }]
336
+ }], null, { Line: [{
337
+ type: Input
338
+ }], ProductName: [{
339
+ type: Input
340
+ }], ProductSKU: [{
341
+ type: Input
342
+ }], ProductType: [{
343
+ type: Input
344
+ }], Dimensions: [{
345
+ type: Input
346
+ }], EditMode: [{
347
+ type: Input
348
+ }], Closed: [{
349
+ type: Output
350
+ }], OnEscape: [{
351
+ type: HostListener,
352
+ args: ['document:keydown.escape']
353
+ }] }); })();
354
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJOOrderLineDetailsPanelComponent, { className: "MJOOrderLineDetailsPanelComponent", filePath: "lib/custom/OrderHeader/order-line-details-panel.component.ts", lineNumber: 35 }); })();
355
+ //# sourceMappingURL=order-line-details-panel.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-line-details-panel.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/OrderHeader/order-line-details-panel.component.ts","../../../../src/lib/custom/OrderHeader/order-line-details-panel.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAChH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;;;;;ICgB5B,YACJ;;;IADI,0DACJ;;;IAEI,YACJ;;;IADI,gGACJ;;;IAiBA,6BAA2B;IACvB,4HAEJ;IAAA,iBAAI;;;IAIJ,6BAAyB;IACrB,wKAGJ;IAAA,iBAAI;;;IAWQ,kCAA+B;IAAA,YAA2C;IAAA,iBAAS;;;IAA3E,uCAAsB;IAAC,cAA2C;IAA3C,2EAA2C;;;IAgBtE,kCAA2B;IAAA,YAAmC;IAAA,iBAAS;;;IAA/D,mCAAkB;IAAC,cAAmC;IAAnC,mEAAmC;;;IAKlE,gCAA4B;IACxB,qHAEJ;IAAA,iBAAO;;;IAEP,gCAA6C;IACzC,uKAGJ;IAAA,iBAAO;;;;IAvBX,AADJ,+BAA4B,gBAC0B;IAAA,qBAAK;IAAA,iBAAQ;IAC/D,kCAKgC;IAA5B,2OAAU,uBAAgB,KAAC;IAC3B,kCAAiB;IAAA,4CAAkB;IAAA,iBAAS;IAC5C,mJAEC;IACL,iBAAS;IAOP,AALF,gJAA+C,0HAKtB;IAO7B,iBAAM;IAEN,mCAAkE;IAArB,oOAAS,iBAAU,KAAC;IAC7D,kCACJ;IAAA,iBAAS;;;IAzBD,eAAgC;IAAhC,gDAAgC;IAChC,8CAAyB;IAGzB,eAEC;IAFD,gDAEC;IAGL,eAWC;IAXD,iGAWC;;;;IAvCL,AADJ,+BAA4B,gBAC8B;IAAA,yBAAS;IAAA,iBAAQ;IACvE,kCAIoC;IAAhC,6NAAU,2BAAoB,KAAC;IAC/B,kCAAiB;IAAA,kCAAQ;IAAA,iBAAS;IAClC,qIAEC;IAET,AADI,iBAAS,EACP;IAEN,uHAA2B;;;IATnB,eAA6B;IAA7B,kDAA6B;IAG7B,eAEC;IAFD,gCAEC;IAIT,eAgCC;IAhCD,qDAgCC;;;IAMW,YACJ;;;IADI,iFACJ;;;IACI,oCACJ;;;IAKA,AADJ,+BAA4B,eACK;IAAA,qBAAK;IAAA,iBAAO;IACzC,gCAA6B;IAAA,YAAwB;IACzD,AADyD,iBAAO,EAC1D;;;IAD2B,eAAwB;IAAxB,+CAAwB;;;IAZzD,AADJ,+BAA4B,eACK;IAAA,yBAAS;IAAA,iBAAO;IAC7C,gCAAqE;IAG/D,AAFF,sHAAuC,gGAE9B;IAIjB,AADI,iBAAO,EACL;IACN,iIAA2B;;;;IARM,eAAuC;IAAvC,uDAAuC;IAChE,cAIC;IAJD,uEAIC;IAGT,eAKC;IALD,qDAKC;;;IAQD,0DACJ;;;IACI,8CACJ;;;;IA3HZ,iCAKkB;IAFd,qMAAS,cAAO,KAAC;IAEH,iBAAS;IAMf,AADJ,AADJ,AAFJ,gCAAuF,gBAErD,aACD,aACyB;IAAA,YAAiC;IAAA,iBAAM;IACrF,8BAA2B;IACvB,YACA;IAAA,uGAAmB;IAGnB,uGAAwB;IAIhC,AADI,iBAAM,EACJ;IACN,kCAA+F;IAAlD,sMAAS,cAAO,KAAC;IAC1D,wBAAoD;IAE5D,AADI,iBAAS,EACJ;IAID,AADJ,AADJ,+BAA2B,kBACW,cACK;IAAA,6BAAY;IAAA,iBAAK;IACpD,8BAAiC;IAC7B,4KAEJ;IAAA,iBAAI;IAEJ,kHAAgB;IA6Dd,AAhDA,AANF,kHAA+B,mFAMT,mFAgDb;IAmBjB,AADI,iBAAU,EACR;IAGF,AADJ,mCAA8B,gBACO;IAG3B,AAFF,yGAAkB,mFAEI;IAG1B,iBAAO;IACP,mCAA8D;IAAlB,sMAAS,cAAO,KAAC;IAAC,qBAAI;IAE1E,AADI,AADsE,iBAAS,EACtE,EACL;;;IApHkD,eAAiC;IAAjC,wDAAiC;IAE3E,eACA;IADA,kDACA;IAAA,cAEC;IAFD,6CAEC;IACD,cAEC;IAFD,gFAEC;IAgBL,eAKC;IALD,2CAKC;IAED,cAuEC;IAvED,gFAuEC;IAMD,eAIC;IAJD,mEAIC;;ADxHjB;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,MAAM,OAAO,iCAAiC;IACzB,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAEjD,+DAA+D;IAC/C,IAAI,GAA0C,IAAI,CAAC;IAEnE,yFAAyF;IACzE,WAAW,GAAG,EAAE,CAAC;IACjB,UAAU,GAAG,EAAE,CAAC;IAChB,WAAW,GAAG,EAAE,CAAC;IAEjC,kFAAkF;IAClE,UAAU,GAAyB,EAAE,CAAC;IAEtC,QAAQ,GAAG,IAAI,CAAC;IAEf,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;IAEnD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,IAAW,QAAQ;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;IACvC,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAGM,QAAQ;QACX,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,IAAW,mBAAmB;QAC1B,OAAO,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,gBAAgB,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,oGAAoG;IACpG,IAAW,0BAA0B;QACjC,OAAO,IAAI,CAAC,iBAAiB,EAAE,MAAM,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,IAAW,iBAAiB;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IAED,iEAAiE;IACjE,IAAW,kBAAkB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;QACrC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACH,IAAW,UAAU;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,KAAY;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,iBAAiB,CAAC;YAAE,OAAO;QAEnD,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEM,QAAQ,CAAC,KAAY;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,iBAAiB,CAAC;YAAE,OAAO;QAEnD,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,sEAAsE;IAC/D,QAAQ;QACX,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;2HAjHQ,iCAAiC;6DAAjC,iCAAiC;YAAjC,wHAAA,cAAU,0BAAuB;;YClC9C,0FAAc;;YAAd,qCAoIC;4BDtGa,YAAY,EAAE,WAAW;;iFAI1B,iCAAiC;cAP7C,SAAS;6BACM,IAAI,YACN,8BAA8B,WAC/B,CAAC,YAAY,EAAE,WAAW,CAAC;;kBAQnC,KAAK;;kBAGL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAGL,KAAK;;kBAEL,KAAK;;kBAEL,MAAM;;kBAuBN,YAAY;mBAAC,yBAAyB;;kFAvC9B,iCAAiC"}
@@ -2,7 +2,7 @@ import { EventEmitter, OnDestroy } from '@angular/core';
2
2
  import { BaseEntity, type IMetadataProvider } from '@memberjunction/core';
3
3
  import { BaseFormComponent, type EntityFormConfig, type FormNavigationEvent } from '@memberjunction/ng-base-forms';
4
4
  import { OrderHeaderEntity, type ApplicablePrice, type PriceOverrideKind, type mjBizAppsOrdersOrderLineEntity } from '@mj-biz-apps/orders-entities';
5
- import { type MJOProductOption } from '../../data/orders-queries.js';
5
+ import { type MJODimensionOption, type MJOProductOption } from '../../data/orders-queries.js';
6
6
  import { type MJOLinePrice, type MJOPricingState } from '../../services/pricing-scheduler.service.js';
7
7
  import * as i0 from "@angular/core";
8
8
  /**
@@ -152,6 +152,30 @@ export declare class MJOOrderLinesEditorComponent implements OnDestroy {
152
152
  ToggleExtension(line: mjBizAppsOrdersOrderLineEntity): void;
153
153
  ExtensionLabel(line: mjBizAppsOrdersOrderLineEntity): string;
154
154
  ExtensionHint(line: mjBizAppsOrdersOrderLineEntity): string;
155
+ /** The line whose details panel is open, or null. One at a time — the panel is modal. */
156
+ DetailsLine: mjBizAppsOrdersOrderLineEntity | null;
157
+ /** Every dimension a line may be tagged with, read once per bound order. */
158
+ DimensionCatalog: MJODimensionOption[];
159
+ OpenDetails(line: mjBizAppsOrdersOrderLineEntity, event: Event): void;
160
+ CloseDetails(): void;
161
+ /**
162
+ * What the card's details button reports without opening anything.
163
+ *
164
+ * Read straight off the line — `DimensionID` / `DimensionValueID` are columns, so they arrive
165
+ * with the line itself and there is nothing to load first. An unknown id still reports as
166
+ * tagged rather than as untagged: a tag pointing at a dimension this order's date has aged out
167
+ * is a thing to go and look at, and "No dimension" would hide it.
168
+ */
169
+ DimensionSummary(line: mjBizAppsOrdersOrderLineEntity): string;
170
+ /**
171
+ * Read the dimension catalog for the order's own date.
172
+ *
173
+ * The order date, not today's: `DimensionValue` is effective-dated, and a back-dated order has
174
+ * to offer the values that were live when it was placed. Failure leaves the catalog empty, and
175
+ * the panel says so rather than rendering an empty picker list that reads as "no dimensions
176
+ * exist".
177
+ */
178
+ private loadDimensionCatalog;
155
179
  ngOnDestroy(): void;
156
180
  private get metadata();
157
181
  private onOrderBound;
@@ -1 +1 @@
1
- {"version":3,"file":"order-lines-editor.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/OrderHeader/order-lines-editor.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order-lines-editor.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/OrderHeader/order-lines-editor.component.ts"],"names":[],"mappings":"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"}