@mj-biz-apps/orders-ng 5.1.0 → 5.2.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 (139) hide show
  1. package/dist/checkout-element/main.js +38080 -0
  2. package/dist/lib/checkout-widget/checkout-draft-line.d.ts +25 -0
  3. package/dist/lib/checkout-widget/checkout-draft-line.d.ts.map +1 -0
  4. package/dist/lib/checkout-widget/checkout-draft-line.js +46 -0
  5. package/dist/lib/checkout-widget/checkout-draft-line.js.map +1 -0
  6. package/dist/lib/checkout-widget/checkout-public-host.component.d.ts +80 -0
  7. package/dist/lib/checkout-widget/checkout-public-host.component.d.ts.map +1 -0
  8. package/dist/lib/checkout-widget/checkout-public-host.component.js +360 -0
  9. package/dist/lib/checkout-widget/checkout-public-host.component.js.map +1 -0
  10. package/dist/lib/checkout-widget/checkout-widget.component.d.ts +143 -0
  11. package/dist/lib/checkout-widget/checkout-widget.component.d.ts.map +1 -0
  12. package/dist/lib/checkout-widget/checkout-widget.component.js +873 -0
  13. package/dist/lib/checkout-widget/checkout-widget.component.js.map +1 -0
  14. package/dist/lib/custom/OrderHeader/order-header-form.component.d.ts +1 -0
  15. package/dist/lib/custom/OrderHeader/order-header-form.component.d.ts.map +1 -1
  16. package/dist/lib/custom/OrderHeader/order-header-form.component.js +10 -6
  17. package/dist/lib/custom/OrderHeader/order-header-form.component.js.map +1 -1
  18. package/dist/lib/custom/OrderHeader/order-lines-editor.component.d.ts +2 -0
  19. package/dist/lib/custom/OrderHeader/order-lines-editor.component.d.ts.map +1 -1
  20. package/dist/lib/custom/OrderHeader/order-lines-editor.component.js +37 -11
  21. package/dist/lib/custom/OrderHeader/order-lines-editor.component.js.map +1 -1
  22. package/dist/lib/form-panels/party-order-stats.js +2 -2
  23. package/dist/lib/form-panels/party-order-stats.js.map +1 -1
  24. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutSession/mjbizappsorderscheckoutsession.form.component.d.ts +10 -0
  25. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutSession/mjbizappsorderscheckoutsession.form.component.d.ts.map +1 -0
  26. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutSession/mjbizappsorderscheckoutsession.form.component.js +103 -0
  27. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutSession/mjbizappsorderscheckoutsession.form.component.js.map +1 -0
  28. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutWidget/mjbizappsorderscheckoutwidget.form.component.d.ts +10 -0
  29. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutWidget/mjbizappsorderscheckoutwidget.form.component.d.ts.map +1 -0
  30. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutWidget/mjbizappsorderscheckoutwidget.form.component.js +136 -0
  31. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutWidget/mjbizappsorderscheckoutwidget.form.component.js.map +1 -0
  32. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutWidgetDistribution/mjbizappsorderscheckoutwidgetdistribution.form.component.d.ts +10 -0
  33. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutWidgetDistribution/mjbizappsorderscheckoutwidgetdistribution.form.component.d.ts.map +1 -0
  34. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutWidgetDistribution/mjbizappsorderscheckoutwidgetdistribution.form.component.js +106 -0
  35. package/dist/lib/generated/Entities/mjBizAppsOrdersCheckoutWidgetDistribution/mjbizappsorderscheckoutwidgetdistribution.form.component.js.map +1 -0
  36. package/dist/lib/generated/Entities/mjBizAppsOrdersEventOrderLine/mjbizappsorderseventorderline.form.component.js +9 -9
  37. package/dist/lib/generated/Entities/mjBizAppsOrdersEventOrderLine/mjbizappsorderseventorderline.form.component.js.map +1 -1
  38. package/dist/lib/generated/Entities/mjBizAppsOrdersEventProduct/mjbizappsorderseventproduct.form.component.js +12 -12
  39. package/dist/lib/generated/Entities/mjBizAppsOrdersEventProduct/mjbizappsorderseventproduct.form.component.js.map +1 -1
  40. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderCompanyPolicy/mjbizappsordersordercompanypolicy.form.component.d.ts.map +1 -1
  41. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderCompanyPolicy/mjbizappsordersordercompanypolicy.form.component.js +16 -10
  42. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderCompanyPolicy/mjbizappsordersordercompanypolicy.form.component.js.map +1 -1
  43. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderHeader/mjbizappsordersorderheader.form.component.d.ts.map +1 -1
  44. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderHeader/mjbizappsordersorderheader.form.component.js +78 -52
  45. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderHeader/mjbizappsordersorderheader.form.component.js.map +1 -1
  46. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderLine/mjbizappsordersorderline.form.component.d.ts.map +1 -1
  47. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderLine/mjbizappsordersorderline.form.component.js +88 -82
  48. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderLine/mjbizappsordersorderline.form.component.js.map +1 -1
  49. package/dist/lib/generated/Entities/mjBizAppsOrdersPaymentHeader/mjbizappsorderspaymentheader.form.component.js +3 -3
  50. package/dist/lib/generated/Entities/mjBizAppsOrdersPaymentHeader/mjbizappsorderspaymentheader.form.component.js.map +1 -1
  51. package/dist/lib/generated/Entities/mjBizAppsOrdersPaymentIntent/mjbizappsorderspaymentintent.form.component.d.ts.map +1 -1
  52. package/dist/lib/generated/Entities/mjBizAppsOrdersPaymentIntent/mjbizappsorderspaymentintent.form.component.js +23 -5
  53. package/dist/lib/generated/Entities/mjBizAppsOrdersPaymentIntent/mjbizappsorderspaymentintent.form.component.js.map +1 -1
  54. package/dist/lib/generated/Entities/mjBizAppsOrdersProduct/mjbizappsordersproduct.form.component.d.ts.map +1 -1
  55. package/dist/lib/generated/Entities/mjBizAppsOrdersProduct/mjbizappsordersproduct.form.component.js +75 -69
  56. package/dist/lib/generated/Entities/mjBizAppsOrdersProduct/mjbizappsordersproduct.form.component.js.map +1 -1
  57. package/dist/lib/generated/Entities/mjBizAppsOrdersProductCategory/mjbizappsordersproductcategory.form.component.d.ts.map +1 -1
  58. package/dist/lib/generated/Entities/mjBizAppsOrdersProductCategory/mjbizappsordersproductcategory.form.component.js +37 -31
  59. package/dist/lib/generated/Entities/mjBizAppsOrdersProductCategory/mjbizappsordersproductcategory.form.component.js.map +1 -1
  60. package/dist/lib/generated/Entities/mjBizAppsOrdersProductType/mjbizappsordersproducttype.form.component.d.ts.map +1 -1
  61. package/dist/lib/generated/Entities/mjBizAppsOrdersProductType/mjbizappsordersproducttype.form.component.js +24 -16
  62. package/dist/lib/generated/Entities/mjBizAppsOrdersProductType/mjbizappsordersproducttype.form.component.js.map +1 -1
  63. package/dist/lib/generated/generated-forms.module.d.ts +54 -51
  64. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  65. package/dist/lib/generated/generated-forms.module.js +27 -18
  66. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  67. package/dist/lib/pages/catalog/pricing.page.d.ts +3 -24
  68. package/dist/lib/pages/catalog/pricing.page.d.ts.map +1 -1
  69. package/dist/lib/pages/catalog/pricing.page.js +158 -214
  70. package/dist/lib/pages/catalog/pricing.page.js.map +1 -1
  71. package/dist/lib/pages/catalog/products.page.d.ts +6 -29
  72. package/dist/lib/pages/catalog/products.page.d.ts.map +1 -1
  73. package/dist/lib/pages/catalog/products.page.js +255 -315
  74. package/dist/lib/pages/catalog/products.page.js.map +1 -1
  75. package/dist/lib/pages/orders/fulfillment.page.d.ts +14 -97
  76. package/dist/lib/pages/orders/fulfillment.page.d.ts.map +1 -1
  77. package/dist/lib/pages/orders/fulfillment.page.js +93 -258
  78. package/dist/lib/pages/orders/fulfillment.page.js.map +1 -1
  79. package/dist/lib/pages/orders/order-document.page.js +1 -1
  80. package/dist/lib/pages/orders/order-document.page.js.map +1 -1
  81. package/dist/lib/pages/orders/orders-dashboard.page.d.ts +29 -58
  82. package/dist/lib/pages/orders/orders-dashboard.page.d.ts.map +1 -1
  83. package/dist/lib/pages/orders/orders-dashboard.page.js +602 -352
  84. package/dist/lib/pages/orders/orders-dashboard.page.js.map +1 -1
  85. package/dist/lib/pages/orders/orders-list.page.d.ts +8 -58
  86. package/dist/lib/pages/orders/orders-list.page.d.ts.map +1 -1
  87. package/dist/lib/pages/orders/orders-list.page.js +52 -237
  88. package/dist/lib/pages/orders/orders-list.page.js.map +1 -1
  89. package/dist/lib/pages/payments/account-credit.page.d.ts +7 -17
  90. package/dist/lib/pages/payments/account-credit.page.d.ts.map +1 -1
  91. package/dist/lib/pages/payments/account-credit.page.js +99 -85
  92. package/dist/lib/pages/payments/account-credit.page.js.map +1 -1
  93. package/dist/lib/pages/payments/payments-dashboard.page.d.ts +4 -15
  94. package/dist/lib/pages/payments/payments-dashboard.page.d.ts.map +1 -1
  95. package/dist/lib/pages/payments/payments-dashboard.page.js +76 -111
  96. package/dist/lib/pages/payments/payments-dashboard.page.js.map +1 -1
  97. package/dist/lib/pages/payments/payments-list.page.d.ts +7 -41
  98. package/dist/lib/pages/payments/payments-list.page.d.ts.map +1 -1
  99. package/dist/lib/pages/payments/payments-list.page.js +51 -130
  100. package/dist/lib/pages/payments/payments-list.page.js.map +1 -1
  101. package/dist/lib/pages/receivables/customer-ar.page.d.ts +6 -8
  102. package/dist/lib/pages/receivables/customer-ar.page.d.ts.map +1 -1
  103. package/dist/lib/pages/receivables/customer-ar.page.js +112 -100
  104. package/dist/lib/pages/receivables/customer-ar.page.js.map +1 -1
  105. package/dist/lib/pages/receivables/overdue.page.d.ts +6 -3
  106. package/dist/lib/pages/receivables/overdue.page.d.ts.map +1 -1
  107. package/dist/lib/pages/receivables/overdue.page.js +61 -65
  108. package/dist/lib/pages/receivables/overdue.page.js.map +1 -1
  109. package/dist/lib/pages/receivables/subscriptions.page.d.ts +5 -9
  110. package/dist/lib/pages/receivables/subscriptions.page.d.ts.map +1 -1
  111. package/dist/lib/pages/receivables/subscriptions.page.js +139 -153
  112. package/dist/lib/pages/receivables/subscriptions.page.js.map +1 -1
  113. package/dist/lib/panels/order-stages.d.ts +12 -16
  114. package/dist/lib/panels/order-stages.d.ts.map +1 -1
  115. package/dist/lib/panels/order-stages.js +6 -42
  116. package/dist/lib/panels/order-stages.js.map +1 -1
  117. package/dist/lib/panels/party-orders-overview.component.d.ts +3 -1
  118. package/dist/lib/panels/party-orders-overview.component.d.ts.map +1 -1
  119. package/dist/lib/panels/party-orders-overview.component.js +18 -6
  120. package/dist/lib/panels/party-orders-overview.component.js.map +1 -1
  121. package/dist/lib/panels/status-stepper.component.d.ts +1 -1
  122. package/dist/lib/panels/status-stepper.component.d.ts.map +1 -1
  123. package/dist/lib/services/pricing-scheduler.service.d.ts +3 -4
  124. package/dist/lib/services/pricing-scheduler.service.d.ts.map +1 -1
  125. package/dist/lib/services/pricing-scheduler.service.js +3 -4
  126. package/dist/lib/services/pricing-scheduler.service.js.map +1 -1
  127. package/dist/public-api.d.ts +3 -2
  128. package/dist/public-api.d.ts.map +1 -1
  129. package/dist/public-api.js +3 -2
  130. package/dist/public-api.js.map +1 -1
  131. package/package.json +28 -16
  132. package/dist/lib/pages/orders/order-editor.page.d.ts +0 -547
  133. package/dist/lib/pages/orders/order-editor.page.d.ts.map +0 -1
  134. package/dist/lib/pages/orders/order-editor.page.js +0 -2269
  135. package/dist/lib/pages/orders/order-editor.page.js.map +0 -1
  136. package/dist/lib/pages/orders/order-workspace.page.d.ts +0 -120
  137. package/dist/lib/pages/orders/order-workspace.page.d.ts.map +0 -1
  138. package/dist/lib/pages/orders/order-workspace.page.js +0 -443
  139. package/dist/lib/pages/orders/order-workspace.page.js.map +0 -1
@@ -2,45 +2,28 @@ import { ChangeDetectorRef, Component, EventEmitter, Output, inject } from '@ang
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { MJOStatTileComponent, MJOBarListComponent } from '../../panels/stat-tile.component.js';
4
4
  import { MJODayBarsComponent } from '../../panels/day-bars.component.js';
5
- import { FormatMoney, MJOMoneyPipe } from '../../panels/money-format.js';
5
+ import { FormatMoney } from '../../panels/money-format.js';
6
6
  import { MJAlertComponent } from '@memberjunction/ng-ui-components';
7
+ import { EntityViewerModule } from '@memberjunction/ng-entity-viewer';
8
+ import { Metadata } from '@memberjunction/core';
7
9
  import { GetPayments } from '../../data/orders-queries.js';
8
10
  import { LocalDay, ToISODate } from '@mj-biz-apps/orders-entities';
11
+ import { MJO_ENTITIES } from '../../data/entity-names.js';
9
12
  import * as i0 from "@angular/core";
10
- const _forTrack0 = ($index, $item) => $item.ID;
11
- function MJOPaymentsDashboardPageComponent_For_57_Template(rf, ctx) { if (rf & 1) {
13
+ import * as i1 from "@memberjunction/ng-entity-viewer";
14
+ function MJOPaymentsDashboardPageComponent_Conditional_44_Template(rf, ctx) { if (rf & 1) {
12
15
  const _r1 = i0.ɵɵgetCurrentView();
13
- i0.ɵɵelementStart(0, "tr", 26);
14
- i0.ɵɵlistener("click", function MJOPaymentsDashboardPageComponent_For_57_Template_tr_click_0_listener() { const payment_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.PaymentOpened.emit(payment_r2)); });
15
- i0.ɵɵelementStart(1, "td")(2, "span", 27);
16
- i0.ɵɵtext(3);
17
- i0.ɵɵelementEnd()();
18
- i0.ɵɵelementStart(4, "td");
19
- i0.ɵɵtext(5);
16
+ i0.ɵɵelementStart(0, "mj-entity-viewer", 26);
17
+ i0.ɵɵlistener("RecordOpened", function MJOPaymentsDashboardPageComponent_Conditional_44_Template_mj_entity_viewer_RecordOpened_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnRecordOpened($event)); });
20
18
  i0.ɵɵelementEnd();
21
- i0.ɵɵelementStart(6, "td");
22
- i0.ɵɵtext(7);
23
- i0.ɵɵelementEnd();
24
- i0.ɵɵelementStart(8, "td", 20);
25
- i0.ɵɵtext(9);
26
- i0.ɵɵpipe(10, "mjoMoney");
27
- i0.ɵɵelementEnd()();
28
19
  } if (rf & 2) {
29
- const payment_r2 = ctx.$implicit;
30
- const ctx_r2 = i0.ɵɵnextContext();
31
- i0.ɵɵadvance(3);
32
- i0.ɵɵtextInterpolate(payment_r2.PaymentNumber);
33
- i0.ɵɵadvance(2);
34
- i0.ɵɵtextInterpolate(ctx_r2.payerOf(payment_r2));
35
- i0.ɵɵadvance(2);
36
- i0.ɵɵtextInterpolate(payment_r2.PaymentType ?? "\u2014");
37
- i0.ɵɵadvance(2);
38
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 4, payment_r2.Amount ?? 0));
20
+ const ctx_r1 = i0.ɵɵnextContext();
21
+ i0.ɵɵproperty("Entity", ctx_r1.PaymentEntityInfo);
39
22
  } }
40
- function MJOPaymentsDashboardPageComponent_ForEmpty_58_Template(rf, ctx) { if (rf & 1) {
41
- i0.ɵɵelementStart(0, "tr")(1, "td", 28);
42
- i0.ɵɵtext(2, "No payments yet.");
43
- i0.ɵɵelementEnd()();
23
+ function MJOPaymentsDashboardPageComponent_Conditional_45_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelementStart(0, "div", 21);
25
+ i0.ɵɵtext(1, "Loading payments...");
26
+ i0.ɵɵelementEnd();
44
27
  } }
45
28
  /**
46
29
  * `mjo-payments-dashboard-page` — what came in, and does it tie?
@@ -57,28 +40,24 @@ function MJOPaymentsDashboardPageComponent_ForEmpty_58_Template(rf, ctx) { if (r
57
40
  * ```
58
41
  */
59
42
  export class MJOPaymentsDashboardPageComponent {
60
- /**
61
- * Render what was just loaded.
62
- *
63
- * These pages are created imperatively by the section shell through
64
- * `ViewContainerRef.createComponent`. When an async load assigns across
65
- * Angular's check/verify boundary, dev mode raises NG0100 and ABORTS the DOM
66
- * write. Nothing re-renders afterwards, so the recorded "previous" value stays
67
- * pre-load while the getter returns the loaded one — the mismatch then repeats
68
- * on every tick and the view is frozen for good. It is not a flicker: the
69
- * Orders dashboard sat at "0 open orders / $0.00" against 73 real orders, and
70
- * read as a quiet day rather than a broken screen.
71
- *
72
- * Writing the DOM here ends it: the rendered value matches the getter from the
73
- * first pass on, so later verify passes agree.
74
- */
75
43
  cdr = inject(ChangeDetectorRef);
76
44
  PaymentOpened = new EventEmitter();
45
+ PaymentEntityInfo = null;
77
46
  payments = [];
78
47
  async ngOnInit() {
48
+ const md = new Metadata();
49
+ this.PaymentEntityInfo = md.Entities.find((e) => e.Name === MJO_ENTITIES.PaymentHeader) || null;
50
+ this.cdr.detectChanges();
79
51
  this.payments = await GetPayments({ Preset: 'all' });
80
52
  this.cdr.detectChanges();
81
53
  }
54
+ OnRecordOpened(event) {
55
+ const id = (event.compositeKey?.GetValueByFieldName('ID') ?? event.record?.['ID']);
56
+ if (id) {
57
+ const surrogate = { ID: id };
58
+ this.PaymentOpened.emit(surrogate);
59
+ }
60
+ }
82
61
  get captured() {
83
62
  return this.payments.filter((p) => p.Status === 'Captured');
84
63
  }
@@ -165,7 +144,7 @@ export class MJOPaymentsDashboardPageComponent {
165
144
  .map(([Label, Value]) => ({ Label, Value, Display: FormatMoney(Value, { Round: true }) }));
166
145
  }
167
146
  static ɵfac = function MJOPaymentsDashboardPageComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MJOPaymentsDashboardPageComponent)(); };
168
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJOPaymentsDashboardPageComponent, selectors: [["mjo-payments-dashboard-page"]], outputs: { PaymentOpened: "PaymentOpened" }, decls: 77, vars: 10, consts: [[1, "mj-stat-grid"], ["Label", "Cash received", "Icon", "fa-solid fa-hand-holding-dollar", 3, "Value", "Detail"], ["Label", "Unallocated", "Icon", "fa-solid fa-equals", "Value", "$0.00", "Detail", "Always \u2014 a payment cannot capture unless it balances"], ["Label", "Awaiting capture", "Icon", "fa-solid fa-clock", 3, "Value", "Detail"], ["Label", "Processor fees", "Icon", "fa-solid fa-receipt", "Detail", "Our cost, never netted against a customer's balance", 3, "Value"], [1, "mjo-pd__split", "mjo-pd__split--three"], [1, "mj-card"], [1, "mj-card-head"], ["aria-hidden", "true", 1, "fa-solid", "fa-credit-card"], [1, "mj-card-pad"], ["Unit", "received", 3, "Bars"], [1, "small", "muted", "mjo-pd__note"], ["EmptyText", "No payments yet.", 3, "Rows"], ["aria-hidden", "true", 1, "fa-solid", "fa-shield-halved"], ["Variant", "success", "Icon", "fa-solid fa-circle-check"], ["Variant", "info", "Icon", "fa-solid fa-circle-info", 1, "mjo-pd__note"], [1, "mjo-pd__split"], ["aria-hidden", "true", 1, "fa-solid", "fa-clock-rotate-left"], [1, "mj-table-wrap"], [1, "mj-table", "mj-table--compact"], [1, "num"], [2, "cursor", "pointer"], ["aria-hidden", "true", 1, "fa-solid", "fa-receipt"], [1, "mjo-pd__row"], [1, "small", "muted"], [1, "mj-num"], [2, "cursor", "pointer", 3, "click"], [1, "mono"], ["colspan", "4", 1, "small", "muted"]], template: function MJOPaymentsDashboardPageComponent_Template(rf, ctx) { if (rf & 1) {
147
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJOPaymentsDashboardPageComponent, selectors: [["mjo-payments-dashboard-page"]], outputs: { PaymentOpened: "PaymentOpened" }, decls: 64, vars: 10, consts: [[1, "mj-stat-grid"], ["Label", "Cash received", "Icon", "fa-solid fa-hand-holding-dollar", 3, "Value", "Detail"], ["Label", "Unallocated", "Icon", "fa-solid fa-equals", "Value", "$0.00", "Detail", "Always \u2014 a payment cannot capture unless it balances"], ["Label", "Awaiting capture", "Icon", "fa-solid fa-clock", 3, "Value", "Detail"], ["Label", "Processor fees", "Icon", "fa-solid fa-receipt", "Detail", "Our cost, never netted against a customer's balance", 3, "Value"], [1, "mjo-pd__split", "mjo-pd__split--three"], [1, "mj-card"], [1, "mj-card-head"], ["aria-hidden", "true", 1, "fa-solid", "fa-credit-card"], [1, "mj-card-pad"], ["Unit", "received", 3, "Bars"], [1, "small", "muted", "mjo-pd__note"], ["EmptyText", "No payments yet.", 3, "Rows"], ["aria-hidden", "true", 1, "fa-solid", "fa-shield-halved"], ["Variant", "success", "Icon", "fa-solid fa-circle-check"], ["Variant", "info", "Icon", "fa-solid fa-circle-info", 1, "mjo-pd__note"], [1, "mjo-pd__split"], [1, "mj-card", "mjo-pd__viewer-card"], ["aria-hidden", "true", 1, "fa-solid", "fa-clock-rotate-left"], [1, "mjo-pd__viewer-host"], [3, "Entity"], [1, "small", "muted", 2, "padding", "24px"], ["aria-hidden", "true", 1, "fa-solid", "fa-receipt"], [1, "mjo-pd__row"], [1, "small", "muted"], [1, "mj-num"], [3, "RecordOpened", "Entity"]], template: function MJOPaymentsDashboardPageComponent_Template(rf, ctx) { if (rf & 1) {
169
148
  i0.ɵɵelementStart(0, "div", 0);
170
149
  i0.ɵɵelement(1, "mjo-stat-tile", 1)(2, "mjo-stat-tile", 2)(3, "mjo-stat-tile", 3)(4, "mjo-stat-tile", 4);
171
150
  i0.ɵɵelementEnd();
@@ -204,45 +183,33 @@ export class MJOPaymentsDashboardPageComponent {
204
183
  i0.ɵɵelementEnd();
205
184
  i0.ɵɵtext(36, ", never an edit of the capture \u2014 so chargebacks and reversals show in the refunds list rather than as a mutated original. ");
206
185
  i0.ɵɵelementEnd()()()();
207
- i0.ɵɵelementStart(37, "div", 16)(38, "div", 6)(39, "div", 7);
208
- i0.ɵɵelement(40, "i", 17);
186
+ i0.ɵɵelementStart(37, "div", 16)(38, "div", 17)(39, "div", 7);
187
+ i0.ɵɵelement(40, "i", 18);
209
188
  i0.ɵɵelementStart(41, "h3");
210
- i0.ɵɵtext(42, "Latest payments");
189
+ i0.ɵɵtext(42, "Payments List");
211
190
  i0.ɵɵelementEnd()();
212
- i0.ɵɵelementStart(43, "div", 18)(44, "table", 19)(45, "thead")(46, "tr")(47, "th");
213
- i0.ɵɵtext(48, "Payment");
214
- i0.ɵɵelementEnd();
215
- i0.ɵɵelementStart(49, "th");
216
- i0.ɵɵtext(50, "Payer");
217
- i0.ɵɵelementEnd();
218
- i0.ɵɵelementStart(51, "th");
219
- i0.ɵɵtext(52, "Tender");
220
- i0.ɵɵelementEnd();
221
- i0.ɵɵelementStart(53, "th", 20);
222
- i0.ɵɵtext(54, "Amount");
223
- i0.ɵɵelementEnd()()();
224
- i0.ɵɵelementStart(55, "tbody");
225
- i0.ɵɵrepeaterCreate(56, MJOPaymentsDashboardPageComponent_For_57_Template, 11, 6, "tr", 21, _forTrack0, false, MJOPaymentsDashboardPageComponent_ForEmpty_58_Template, 3, 0, "tr");
226
- i0.ɵɵelementEnd()()()();
227
- i0.ɵɵelementStart(59, "div", 6)(60, "div", 7);
228
- i0.ɵɵelement(61, "i", 22);
229
- i0.ɵɵelementStart(62, "h3");
230
- i0.ɵɵtext(63, "Cost of taking money");
191
+ i0.ɵɵelementStart(43, "div", 19);
192
+ i0.ɵɵconditionalCreate(44, MJOPaymentsDashboardPageComponent_Conditional_44_Template, 1, 1, "mj-entity-viewer", 20)(45, MJOPaymentsDashboardPageComponent_Conditional_45_Template, 2, 0, "div", 21);
231
193
  i0.ɵɵelementEnd()();
232
- i0.ɵɵelementStart(64, "div", 9)(65, "div", 23)(66, "span", 24);
233
- i0.ɵɵtext(67, "Processor fees, captured payments");
194
+ i0.ɵɵelementStart(46, "div", 6)(47, "div", 7);
195
+ i0.ɵɵelement(48, "i", 22);
196
+ i0.ɵɵelementStart(49, "h3");
197
+ i0.ɵɵtext(50, "Cost of taking money");
198
+ i0.ɵɵelementEnd()();
199
+ i0.ɵɵelementStart(51, "div", 9)(52, "div", 23)(53, "span", 24);
200
+ i0.ɵɵtext(54, "Processor fees, captured payments");
234
201
  i0.ɵɵelementEnd();
235
- i0.ɵɵelementStart(68, "b", 25);
236
- i0.ɵɵtext(69);
202
+ i0.ɵɵelementStart(55, "b", 25);
203
+ i0.ɵɵtext(56);
237
204
  i0.ɵɵelementEnd()();
238
- i0.ɵɵelementStart(70, "div", 23)(71, "span", 24);
239
- i0.ɵɵtext(72, "Effective rate on what we took");
205
+ i0.ɵɵelementStart(57, "div", 23)(58, "span", 24);
206
+ i0.ɵɵtext(59, "Effective rate on what we took");
240
207
  i0.ɵɵelementEnd();
241
- i0.ɵɵelementStart(73, "b", 25);
242
- i0.ɵɵtext(74);
208
+ i0.ɵɵelementStart(60, "b", 25);
209
+ i0.ɵɵtext(61);
243
210
  i0.ɵɵelementEnd()();
244
- i0.ɵɵelementStart(75, "div", 11);
245
- i0.ɵɵtext(76, " Booked as OUR expense against gross A/R, never netted into the customer's balance \u2014 netting would leave a residue no payment could ever clear. ");
211
+ i0.ɵɵelementStart(62, "div", 11);
212
+ i0.ɵɵtext(63, " Booked as OUR expense against gross A/R, never netted into the customer's balance \u2014 netting would leave a residue no payment could ever clear. ");
246
213
  i0.ɵɵelementEnd()()()();
247
214
  } if (rf & 2) {
248
215
  i0.ɵɵadvance();
@@ -255,17 +222,29 @@ export class MJOPaymentsDashboardPageComponent {
255
222
  i0.ɵɵproperty("Bars", ctx.CashPerDay);
256
223
  i0.ɵɵadvance(9);
257
224
  i0.ɵɵproperty("Rows", ctx.TenderMix);
258
- i0.ɵɵadvance(35);
259
- i0.ɵɵrepeater(ctx.LatestPayments);
260
- i0.ɵɵadvance(13);
225
+ i0.ɵɵadvance(23);
226
+ i0.ɵɵconditional(ctx.PaymentEntityInfo ? 44 : 45);
227
+ i0.ɵɵadvance(12);
261
228
  i0.ɵɵtextInterpolate(ctx.FeeTotal);
262
229
  i0.ɵɵadvance(5);
263
230
  i0.ɵɵtextInterpolate(ctx.EffectiveRate);
264
- } }, dependencies: [CommonModule, MJOStatTileComponent, MJOBarListComponent, MJODayBarsComponent, MJAlertComponent, MJOMoneyPipe], styles: ["\n\n\n\n\n\n .mjo-pd__split[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);\n gap: var(--mj-space-4);\n margin-top: var(--mj-space-4);\n }\n .mjo-pd__row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: var(--mj-space-3);\n padding: 3px 0;\n }\n .mjo-pd__note[_ngcontent-%COMP%] { margin-top: var(--mj-space-3); }\n @media (max-width: 1000px) {\n .mjo-pd__split[_ngcontent-%COMP%] { grid-template-columns: 1fr; }\n }\n\n [_nghost-%COMP%] {\n display: block;\n height: 100%;\n overflow: auto;\n padding: var(--mj-space-6);\n }\n \n\n\n\n .mjo-pd__split--three[_ngcontent-%COMP%] {\n grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n margin-top: var(--mj-space-6);\n }\n .mjo-pd__note[_ngcontent-%COMP%] { margin-top: var(--mj-space-3); }\n @media (max-width: 1000px) {\n .mjo-pd__split[_ngcontent-%COMP%] { grid-template-columns: 1fr; }\n }\n @media (max-width: 760px) {\n [_nghost-%COMP%] { padding: var(--mj-space-4); }\n }"] });
231
+ } }, dependencies: [CommonModule,
232
+ MJOStatTileComponent,
233
+ MJOBarListComponent,
234
+ MJODayBarsComponent,
235
+ MJAlertComponent,
236
+ EntityViewerModule, i1.EntityViewerComponent], styles: ["\n\n\n\n\n\n .mjo-pd__split[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);\n gap: var(--mj-space-4);\n margin-top: var(--mj-space-4);\n }\n .mjo-pd__viewer-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n height: 560px;\n min-height: 480px;\n }\n .mjo-pd__viewer-host[_ngcontent-%COMP%] {\n flex: 1 1 auto;\n height: 100%;\n min-height: 400px;\n display: flex;\n flex-direction: column;\n }\n mj-entity-viewer[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n height: 100%;\n width: 100%;\n }\n .mjo-pd__row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: var(--mj-space-3);\n padding: 3px 0;\n }\n .mjo-pd__note[_ngcontent-%COMP%] { margin-top: var(--mj-space-3); }\n @media (max-width: 1000px) {\n .mjo-pd__split[_ngcontent-%COMP%] { grid-template-columns: 1fr; }\n }\n\n [_nghost-%COMP%] {\n display: block;\n height: 100%;\n overflow: auto;\n padding: var(--mj-space-6);\n box-sizing: border-box;\n }\n .mjo-pd__split--three[_ngcontent-%COMP%] {\n grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n margin-top: var(--mj-space-6);\n }\n .mjo-pd__note[_ngcontent-%COMP%] { margin-top: var(--mj-space-3); }\n @media (max-width: 1000px) {\n .mjo-pd__split[_ngcontent-%COMP%] { grid-template-columns: 1fr; }\n }\n @media (max-width: 760px) {\n [_nghost-%COMP%] { padding: var(--mj-space-4); }\n }"] });
265
237
  }
266
238
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJOPaymentsDashboardPageComponent, [{
267
239
  type: Component,
268
- args: [{ selector: 'mjo-payments-dashboard-page', standalone: true, imports: [CommonModule, MJOStatTileComponent, MJOBarListComponent, MJODayBarsComponent, MJOMoneyPipe, MJAlertComponent], template: `
240
+ args: [{ selector: 'mjo-payments-dashboard-page', standalone: true, imports: [
241
+ CommonModule,
242
+ MJOStatTileComponent,
243
+ MJOBarListComponent,
244
+ MJODayBarsComponent,
245
+ MJAlertComponent,
246
+ EntityViewerModule
247
+ ], template: `
269
248
  <div class="mj-stat-grid">
270
249
  <mjo-stat-tile
271
250
  Label="Cash received"
@@ -334,34 +313,20 @@ export class MJOPaymentsDashboardPageComponent {
334
313
  </div>
335
314
 
336
315
  <div class="mjo-pd__split">
337
- <div class="mj-card">
316
+ <div class="mj-card mjo-pd__viewer-card">
338
317
  <div class="mj-card-head">
339
318
  <i class="fa-solid fa-clock-rotate-left" aria-hidden="true"></i>
340
- <h3>Latest payments</h3>
319
+ <h3>Payments List</h3>
341
320
  </div>
342
- <div class="mj-table-wrap">
343
- <table class="mj-table mj-table--compact">
344
- <thead>
345
- <tr>
346
- <th>Payment</th>
347
- <th>Payer</th>
348
- <th>Tender</th>
349
- <th class="num">Amount</th>
350
- </tr>
351
- </thead>
352
- <tbody>
353
- @for (payment of LatestPayments; track payment.ID) {
354
- <tr (click)="PaymentOpened.emit(payment)" style="cursor: pointer;">
355
- <td><span class="mono">{{ payment.PaymentNumber }}</span></td>
356
- <td>{{ payerOf(payment) }}</td>
357
- <td>{{ payment.PaymentType ?? '—' }}</td>
358
- <td class="num">{{ (payment.Amount ?? 0) | mjoMoney }}</td>
359
- </tr>
360
- } @empty {
361
- <tr><td colspan="4" class="small muted">No payments yet.</td></tr>
362
- }
363
- </tbody>
364
- </table>
321
+ <div class="mjo-pd__viewer-host">
322
+ @if (PaymentEntityInfo) {
323
+ <mj-entity-viewer
324
+ [Entity]="PaymentEntityInfo"
325
+ (RecordOpened)="OnRecordOpened($event)">
326
+ </mj-entity-viewer>
327
+ } @else {
328
+ <div class="small muted" style="padding: 24px;">Loading payments...</div>
329
+ }
365
330
  </div>
366
331
  </div>
367
332
 
@@ -386,9 +351,9 @@ export class MJOPaymentsDashboardPageComponent {
386
351
  </div>
387
352
  </div>
388
353
  </div>
389
- `, styles: ["\n /* NOTE: .mjo-pd__split was declared TWICE in this block with different column\n templates, so the later one silently won and BOTH rows rendered as two equal\n columns. The top row has three cards, so the third landed alone and left an empty\n half-width slot beside it \u2014 a hole that read as a card that had failed to load.\n Two layouts need two names. */\n .mjo-pd__split {\n display: grid;\n grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);\n gap: var(--mj-space-4);\n margin-top: var(--mj-space-4);\n }\n .mjo-pd__row {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: var(--mj-space-3);\n padding: 3px 0;\n }\n .mjo-pd__note { margin-top: var(--mj-space-3); }\n @media (max-width: 1000px) {\n .mjo-pd__split { grid-template-columns: 1fr; }\n }\n\n :host {\n display: block;\n height: 100%;\n overflow: auto;\n padding: var(--mj-space-6);\n }\n /* The three-card row: all three abreast, so nothing is left orphaned on a second\n line. auto-fit rather than a fixed 3 so it reflows to 2 then 1 as the pane\n narrows instead of squeezing three unreadable columns. */\n .mjo-pd__split--three {\n grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n margin-top: var(--mj-space-6);\n }\n .mjo-pd__note { margin-top: var(--mj-space-3); }\n @media (max-width: 1000px) {\n .mjo-pd__split { grid-template-columns: 1fr; }\n }\n @media (max-width: 760px) {\n :host { padding: var(--mj-space-4); }\n }\n "] }]
354
+ `, styles: ["\n /* NOTE: .mjo-pd__split was declared TWICE in this block with different column\n templates, so the later one silently won and BOTH rows rendered as two equal\n columns. The top row has three cards, so the third landed alone and left an empty\n half-width slot beside it \u2014 a hole that read as a card that had failed to load.\n Two layouts need two names. */\n .mjo-pd__split {\n display: grid;\n grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);\n gap: var(--mj-space-4);\n margin-top: var(--mj-space-4);\n }\n .mjo-pd__viewer-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n height: 560px;\n min-height: 480px;\n }\n .mjo-pd__viewer-host {\n flex: 1 1 auto;\n height: 100%;\n min-height: 400px;\n display: flex;\n flex-direction: column;\n }\n mj-entity-viewer {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n height: 100%;\n width: 100%;\n }\n .mjo-pd__row {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: var(--mj-space-3);\n padding: 3px 0;\n }\n .mjo-pd__note { margin-top: var(--mj-space-3); }\n @media (max-width: 1000px) {\n .mjo-pd__split { grid-template-columns: 1fr; }\n }\n\n :host {\n display: block;\n height: 100%;\n overflow: auto;\n padding: var(--mj-space-6);\n box-sizing: border-box;\n }\n .mjo-pd__split--three {\n grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n margin-top: var(--mj-space-6);\n }\n .mjo-pd__note { margin-top: var(--mj-space-3); }\n @media (max-width: 1000px) {\n .mjo-pd__split { grid-template-columns: 1fr; }\n }\n @media (max-width: 760px) {\n :host { padding: var(--mj-space-4); }\n }\n "] }]
390
355
  }], null, { PaymentOpened: [{
391
356
  type: Output
392
357
  }] }); })();
393
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJOPaymentsDashboardPageComponent, { className: "MJOPaymentsDashboardPageComponent", filePath: "lib/pages/payments/payments-dashboard.page.ts", lineNumber: 199 }); })();
358
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJOPaymentsDashboardPageComponent, { className: "MJOPaymentsDashboardPageComponent", filePath: "lib/pages/payments/payments-dashboard.page.ts", lineNumber: 217 }); })();
394
359
  //# sourceMappingURL=payments-dashboard.page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payments-dashboard.page.js","sourceRoot":"","sources":["../../../../src/lib/pages/payments/payments-dashboard.page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payments-dashboard.page.js","sourceRoot":"","sources":["../../../../src/lib/pages/payments/payments-dashboard.page.ts"],"names":[],"mappings":"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"}
@@ -1,51 +1,17 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
- import { type MJOColumn, type MJOPreset } from '../../panels/worklist-table.component.js';
3
- import type { mjBizAppsOrdersPaymentHeaderEntity } from '@mj-biz-apps/orders-entities';
2
+ import { type RecordOpenedEvent } from '@memberjunction/ng-entity-viewer';
3
+ import { type EntityInfo } from '@memberjunction/core';
4
+ import { type mjBizAppsOrdersPaymentHeaderEntity } from '@mj-biz-apps/orders-entities';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
- * `mjo-payments-list-page` — find any payment, and see exactly what it settled.
7
- *
8
- * THERE IS NO "UNAPPLIED" COLUMN because there is no unapplied cash. A payment's
9
- * amount always equals the sum of its allocations, so every row reconciles by
10
- * construction. A column for something that cannot happen would imply it can.
11
- *
12
- * A refund is a NEW payment rather than an edit of the capture, which is why
13
- * reversals appear as their own rows in their own preset rather than as a state
14
- * on the original.
15
- *
16
- * ## Example
17
- *
18
- * ```html
19
- * <mjo-payments-list-page (PaymentOpened)="openPreview($event)" />
20
- * ```
7
+ * `mjo-payments-list-page` — All Payments view powered by MemberJunction's native `<mj-entity-viewer>`.
21
8
  */
22
9
  export declare class MJOPaymentsListPageComponent implements OnInit {
23
- /**
24
- * Render what was just loaded.
25
- *
26
- * These pages are created imperatively by the section shell through
27
- * `ViewContainerRef.createComponent`. When an async load assigns across
28
- * Angular's check/verify boundary, dev mode raises NG0100 and ABORTS the DOM
29
- * write. Nothing re-renders afterwards, so the recorded "previous" value stays
30
- * pre-load while the getter returns the loaded one — the mismatch then repeats
31
- * on every tick and the view is frozen for good. It is not a flicker: the
32
- * Orders dashboard sat at "0 open orders / $0.00" against 73 real orders, and
33
- * read as a quiet day rather than a broken screen.
34
- *
35
- * Writing the DOM here ends it: the rendered value matches the getter from the
36
- * first pass on, so later verify passes agree.
37
- */
38
10
  private readonly cdr;
39
11
  PaymentOpened: EventEmitter<mjBizAppsOrdersPaymentHeaderEntity>;
40
- Rows: mjBizAppsOrdersPaymentHeaderEntity[];
41
- Preset: string;
42
- Search: string;
43
- readonly Presets: MJOPreset[];
44
- readonly Columns: MJOColumn<mjBizAppsOrdersPaymentHeaderEntity>[];
45
- ngOnInit(): Promise<void>;
46
- OnPreset(preset: string): Promise<void>;
47
- OnSearch(text: string): Promise<void>;
48
- private load;
12
+ PaymentEntityInfo: EntityInfo | null;
13
+ ngOnInit(): void;
14
+ OnRecordOpened(event: RecordOpenedEvent): void;
49
15
  static ɵfac: i0.ɵɵFactoryDeclaration<MJOPaymentsListPageComponent, never>;
50
16
  static ɵcmp: i0.ɵɵComponentDeclaration<MJOPaymentsListPageComponent, "mjo-payments-list-page", never, {}, { "PaymentOpened": "PaymentOpened"; }, never, never, true, never>;
51
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"payments-list.page.d.ts","sourceRoot":"","sources":["../../../../src/lib/pages/payments/payments-list.page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,YAAY,EAAE,MAAM,EAAkB,MAAM,eAAe,CAAC;AAEnG,OAAO,EAA6B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAIlH,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;;AAEvF;;;;;;;;;;;;;;;;GAgBG;AACH,qBAmCa,4BAA6B,YAAW,MAAM;IACvD;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IAEvC,aAAa,mDAA0D;IAE1E,IAAI,EAAE,kCAAkC,EAAE,CAAM;IAChD,MAAM,SAAS;IACf,MAAM,SAAM;IAEnB,SAAgB,OAAO,EAAE,SAAS,EAAE,CAKlC;IAEF,SAAgB,OAAO,EAAE,SAAS,CAAC,kCAAkC,CAAC,EAAE,CAkDtE;IAEW,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAMpC,IAAI;yCAnGT,4BAA4B;2CAA5B,4BAA4B;CAuGxC"}
1
+ {"version":3,"file":"payments-list.page.d.ts","sourceRoot":"","sources":["../../../../src/lib/pages/payments/payments-list.page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,YAAY,EAAE,MAAM,EAAkB,MAAM,eAAe,CAAC;AAEnG,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC9F,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,KAAK,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;;AAGvF;;GAEG;AACH,qBA6Da,4BAA6B,YAAW,MAAM;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IAEvC,aAAa,mDAA0D;IAE1E,iBAAiB,EAAE,UAAU,GAAG,IAAI,CAAQ;IAE5C,QAAQ,IAAI,IAAI;IAMhB,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;yCAb5C,4BAA4B;2CAA5B,4BAA4B;CAoBxC"}
@@ -1,150 +1,71 @@
1
1
  import { ChangeDetectorRef, Component, EventEmitter, Output, inject } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { MJOWorklistTableComponent } from '../../panels/worklist-table.component.js';
4
- import { FormatDate, FormatMoney } from '../../panels/money-format.js';
5
- import { GetPayments } from '../../data/orders-queries.js';
3
+ import { EntityViewerModule } from '@memberjunction/ng-entity-viewer';
4
+ import { Metadata } from '@memberjunction/core';
5
+ import { MJO_ENTITIES } from '../../data/entity-names.js';
6
6
  import * as i0 from "@angular/core";
7
+ import * as i1 from "@memberjunction/ng-entity-viewer";
8
+ function MJOPaymentsListPageComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
9
+ const _r1 = i0.ɵɵgetCurrentView();
10
+ i0.ɵɵelementStart(0, "mj-entity-viewer", 4);
11
+ i0.ɵɵlistener("RecordOpened", function MJOPaymentsListPageComponent_Conditional_2_Template_mj_entity_viewer_RecordOpened_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnRecordOpened($event)); });
12
+ i0.ɵɵelementEnd();
13
+ } if (rf & 2) {
14
+ const ctx_r1 = i0.ɵɵnextContext();
15
+ i0.ɵɵproperty("Entity", ctx_r1.PaymentEntityInfo);
16
+ } }
17
+ function MJOPaymentsListPageComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
18
+ i0.ɵɵelementStart(0, "div", 3);
19
+ i0.ɵɵtext(1, "Loading payment metadata...");
20
+ i0.ɵɵelementEnd();
21
+ } }
7
22
  /**
8
- * `mjo-payments-list-page` — find any payment, and see exactly what it settled.
9
- *
10
- * THERE IS NO "UNAPPLIED" COLUMN because there is no unapplied cash. A payment's
11
- * amount always equals the sum of its allocations, so every row reconciles by
12
- * construction. A column for something that cannot happen would imply it can.
13
- *
14
- * A refund is a NEW payment rather than an edit of the capture, which is why
15
- * reversals appear as their own rows in their own preset rather than as a state
16
- * on the original.
17
- *
18
- * ## Example
19
- *
20
- * ```html
21
- * <mjo-payments-list-page (PaymentOpened)="openPreview($event)" />
22
- * ```
23
+ * `mjo-payments-list-page` — All Payments view powered by MemberJunction's native `<mj-entity-viewer>`.
23
24
  */
24
25
  export class MJOPaymentsListPageComponent {
25
- /**
26
- * Render what was just loaded.
27
- *
28
- * These pages are created imperatively by the section shell through
29
- * `ViewContainerRef.createComponent`. When an async load assigns across
30
- * Angular's check/verify boundary, dev mode raises NG0100 and ABORTS the DOM
31
- * write. Nothing re-renders afterwards, so the recorded "previous" value stays
32
- * pre-load while the getter returns the loaded one — the mismatch then repeats
33
- * on every tick and the view is frozen for good. It is not a flicker: the
34
- * Orders dashboard sat at "0 open orders / $0.00" against 73 real orders, and
35
- * read as a quiet day rather than a broken screen.
36
- *
37
- * Writing the DOM here ends it: the rendered value matches the getter from the
38
- * first pass on, so later verify passes agree.
39
- */
40
26
  cdr = inject(ChangeDetectorRef);
41
27
  PaymentOpened = new EventEmitter();
42
- Rows = [];
43
- Preset = 'all';
44
- Search = '';
45
- Presets = [
46
- { Key: 'all', Label: 'All' },
47
- { Key: 'captured', Label: 'Captured' },
48
- { Key: 'pending', Label: 'Awaiting capture', Icon: 'fa-solid fa-clock' },
49
- { Key: 'refunds', Label: 'Refunds', Icon: 'fa-solid fa-arrow-rotate-left' },
50
- ];
51
- Columns = [
52
- { Key: 'PaymentNumber', Label: 'Payment', Kind: 'mono', Width: '118px', Sortable: true },
53
- {
54
- Key: 'PaymentDate',
55
- Label: 'Date',
56
- Width: '96px',
57
- Sortable: true,
58
- Format: (r) => FormatDate(r.PaymentDate, { Short: true }),
59
- },
60
- {
61
- Key: 'From',
62
- Label: 'From',
63
- Format: (r) => (r.BillToOrganization ?? r.BillToPerson ?? '—'),
64
- },
65
- { Key: 'PaymentType', Label: 'Tender', Width: '130px', HideBelow: 760 },
66
- { Key: 'Company', Label: 'Into', Width: '96px', HideBelow: 1000 },
67
- {
68
- Key: 'Status',
69
- Label: 'Status',
70
- Kind: 'chip',
71
- Width: '110px',
72
- ChipClass: (r) => r.Status === 'Captured'
73
- ? 'mj-chip--success'
74
- : r.Status === 'Pending'
75
- ? 'mj-chip--warning'
76
- : r.Status === 'Refunded'
77
- ? 'mj-chip--violet'
78
- : r.Status === 'Failed' || r.Status === 'Disputed'
79
- ? 'mj-chip--error'
80
- : '',
81
- },
82
- {
83
- Key: 'Amount',
84
- Label: 'Amount',
85
- Kind: 'money',
86
- Width: '116px',
87
- Sortable: true,
88
- // A refund stores a positive magnitude with negative lines, so the sign
89
- // here comes from the STATUS rather than from the stored number.
90
- Format: (r) => (r.Status === 'Refunded' ? '−' : '') + FormatMoney(r.Amount, { Sign: 'absolute' }),
91
- },
92
- {
93
- Key: 'ProcessingFeeAmount',
94
- Label: 'Fee',
95
- Kind: 'money',
96
- Width: '92px',
97
- HideBelow: 560,
98
- Format: (r) => FormatMoney(r.ProcessingFeeAmount, { Zero: '—' }),
99
- },
100
- ];
101
- async ngOnInit() {
102
- await this.load();
103
- }
104
- async OnPreset(preset) {
105
- this.Preset = preset;
106
- await this.load();
107
- this.cdr.detectChanges();
108
- }
109
- async OnSearch(text) {
110
- this.Search = text;
111
- await this.load();
28
+ PaymentEntityInfo = null;
29
+ ngOnInit() {
30
+ const md = new Metadata();
31
+ this.PaymentEntityInfo = md.Entities.find((e) => e.Name === MJO_ENTITIES.PaymentHeader) || null;
112
32
  this.cdr.detectChanges();
113
33
  }
114
- async load() {
115
- this.Rows = await GetPayments({ Preset: this.Preset, Search: this.Search });
116
- this.cdr.detectChanges();
34
+ OnRecordOpened(event) {
35
+ const id = (event.compositeKey?.GetValueByFieldName('ID') ?? event.record?.['ID']);
36
+ if (id) {
37
+ const surrogate = { ID: id };
38
+ this.PaymentOpened.emit(surrogate);
39
+ }
117
40
  }
118
41
  static ɵfac = function MJOPaymentsListPageComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MJOPaymentsListPageComponent)(); };
119
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJOPaymentsListPageComponent, selectors: [["mjo-payments-list-page"]], outputs: { PaymentOpened: "PaymentOpened" }, decls: 1, vars: 5, consts: [["SearchPlaceholder", "Payment \u2116, customer, or reference\u2026", "RowKey", "ID", "EmptyIcon", "fa-solid fa-money-check-dollar", "EmptyTitle", "No payments match", "EmptyHint", "Try a different preset, or clear the search.", "FootNote", "Every row reconciles: a payment's amount always equals the sum of its allocations, so there is no unapplied-cash column because there is no unapplied cash.", 3, "PresetChanged", "SearchChanged", "RowClicked", "Columns", "Rows", "Presets", "ActivePreset", "Search"]], template: function MJOPaymentsListPageComponent_Template(rf, ctx) { if (rf & 1) {
120
- i0.ɵɵelementStart(0, "mjo-worklist-table", 0);
121
- i0.ɵɵlistener("PresetChanged", function MJOPaymentsListPageComponent_Template_mjo_worklist_table_PresetChanged_0_listener($event) { return ctx.OnPreset($event); })("SearchChanged", function MJOPaymentsListPageComponent_Template_mjo_worklist_table_SearchChanged_0_listener($event) { return ctx.OnSearch($event); })("RowClicked", function MJOPaymentsListPageComponent_Template_mjo_worklist_table_RowClicked_0_listener($event) { return ctx.PaymentOpened.emit($event); });
122
- i0.ɵɵelementEnd();
42
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJOPaymentsListPageComponent, selectors: [["mjo-payments-list-page"]], outputs: { PaymentOpened: "PaymentOpened" }, decls: 4, vars: 1, consts: [[1, "mjo-list-page-container"], [1, "mjo-viewer-wrapper"], [3, "Entity"], [1, "small", "muted", 2, "padding", "24px"], [3, "RecordOpened", "Entity"]], template: function MJOPaymentsListPageComponent_Template(rf, ctx) { if (rf & 1) {
43
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
44
+ i0.ɵɵconditionalCreate(2, MJOPaymentsListPageComponent_Conditional_2_Template, 1, 1, "mj-entity-viewer", 2)(3, MJOPaymentsListPageComponent_Conditional_3_Template, 2, 0, "div", 3);
45
+ i0.ɵɵelementEnd()();
123
46
  } if (rf & 2) {
124
- i0.ɵɵproperty("Columns", ctx.Columns)("Rows", ctx.Rows)("Presets", ctx.Presets)("ActivePreset", ctx.Preset)("Search", ctx.Search);
125
- } }, dependencies: [CommonModule, MJOWorklistTableComponent], styles: ["[_nghost-%COMP%] {\n display: block;\n height: 100%;\n overflow: auto;\n padding: var(--mj-space-6);\n }\n @media (max-width: 760px) {\n [_nghost-%COMP%] { padding: var(--mj-space-4); }\n }"] });
47
+ i0.ɵɵadvance(2);
48
+ i0.ɵɵconditional(ctx.PaymentEntityInfo ? 2 : 3);
49
+ } }, dependencies: [CommonModule, EntityViewerModule, i1.EntityViewerComponent], styles: ["[_nghost-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n min-height: 0;\n overflow: hidden;\n }\n .mjo-list-page-container[_ngcontent-%COMP%] {\n height: 100%;\n width: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n padding: var(--mj-space-6);\n box-sizing: border-box;\n }\n .mjo-viewer-wrapper[_ngcontent-%COMP%] {\n flex: 1 1 auto;\n height: 100%;\n min-height: 500px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n mj-entity-viewer[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n height: 100%;\n width: 100%;\n }\n @media (max-width: 760px) {\n .mjo-list-page-container[_ngcontent-%COMP%] { padding: var(--mj-space-4); }\n }"] });
126
50
  }
127
51
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJOPaymentsListPageComponent, [{
128
52
  type: Component,
129
- args: [{ selector: 'mjo-payments-list-page', standalone: true, imports: [CommonModule, MJOWorklistTableComponent], template: `
130
- <mjo-worklist-table
131
- [Columns]="Columns"
132
- [Rows]="Rows"
133
- [Presets]="Presets"
134
- [ActivePreset]="Preset"
135
- [Search]="Search"
136
- SearchPlaceholder="Payment №, customer, or reference…"
137
- RowKey="ID"
138
- EmptyIcon="fa-solid fa-money-check-dollar"
139
- EmptyTitle="No payments match"
140
- EmptyHint="Try a different preset, or clear the search."
141
- FootNote="Every row reconciles: a payment's amount always equals the sum of its allocations, so there is no unapplied-cash column because there is no unapplied cash."
142
- (PresetChanged)="OnPreset($event)"
143
- (SearchChanged)="OnSearch($event)"
144
- (RowClicked)="PaymentOpened.emit($any($event))" />
145
- `, styles: ["\n :host {\n display: block;\n height: 100%;\n overflow: auto;\n padding: var(--mj-space-6);\n }\n @media (max-width: 760px) {\n :host { padding: var(--mj-space-4); }\n }\n "] }]
53
+ args: [{ selector: 'mjo-payments-list-page', standalone: true, imports: [CommonModule, EntityViewerModule], template: `
54
+ <div class="mjo-list-page-container">
55
+ <div class="mjo-viewer-wrapper">
56
+ @if (PaymentEntityInfo) {
57
+ <mj-entity-viewer
58
+ [Entity]="PaymentEntityInfo"
59
+ (RecordOpened)="OnRecordOpened($event)">
60
+ </mj-entity-viewer>
61
+ } @else {
62
+ <div class="small muted" style="padding: 24px;">Loading payment metadata...</div>
63
+ }
64
+ </div>
65
+ </div>
66
+ `, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n min-height: 0;\n overflow: hidden;\n }\n .mjo-list-page-container {\n height: 100%;\n width: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n padding: var(--mj-space-6);\n box-sizing: border-box;\n }\n .mjo-viewer-wrapper {\n flex: 1 1 auto;\n height: 100%;\n min-height: 500px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n mj-entity-viewer {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n height: 100%;\n width: 100%;\n }\n @media (max-width: 760px) {\n .mjo-list-page-container { padding: var(--mj-space-4); }\n }\n "] }]
146
67
  }], null, { PaymentOpened: [{
147
68
  type: Output
148
69
  }] }); })();
149
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJOPaymentsListPageComponent, { className: "MJOPaymentsListPageComponent", filePath: "lib/pages/payments/payments-list.page.ts", lineNumber: 61 }); })();
70
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJOPaymentsListPageComponent, { className: "MJOPaymentsListPageComponent", filePath: "lib/pages/payments/payments-list.page.ts", lineNumber: 72 }); })();
150
71
  //# sourceMappingURL=payments-list.page.js.map