@mj-biz-apps/orders-ng 5.6.0 → 5.7.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 (59) hide show
  1. package/dist/lib/custom/OrderHeader/order-header-form.component.d.ts +0 -4
  2. package/dist/lib/custom/OrderHeader/order-header-form.component.d.ts.map +1 -1
  3. package/dist/lib/custom/OrderHeader/order-header-form.component.js +139 -284
  4. package/dist/lib/custom/OrderHeader/order-header-form.component.js.map +1 -1
  5. package/dist/lib/custom/OrderHeader/order-lines-editor.component.d.ts +38 -1
  6. package/dist/lib/custom/OrderHeader/order-lines-editor.component.d.ts.map +1 -1
  7. package/dist/lib/custom/OrderHeader/order-lines-editor.component.js +526 -112
  8. package/dist/lib/custom/OrderHeader/order-lines-editor.component.js.map +1 -1
  9. package/dist/lib/custom/OrderHeader/party-address-picker.component.d.ts +67 -0
  10. package/dist/lib/custom/OrderHeader/party-address-picker.component.d.ts.map +1 -0
  11. package/dist/lib/custom/OrderHeader/party-address-picker.component.js +430 -0
  12. package/dist/lib/custom/OrderHeader/party-address-picker.component.js.map +1 -0
  13. package/dist/lib/custom/Product/product-form.component.d.ts +1 -3
  14. package/dist/lib/custom/Product/product-form.component.d.ts.map +1 -1
  15. package/dist/lib/custom/Product/product-form.component.js +6 -7
  16. package/dist/lib/custom/Product/product-form.component.js.map +1 -1
  17. package/dist/lib/custom/Product/widgets/product-accounting-widget.component.js +4 -9
  18. package/dist/lib/custom/Product/widgets/product-accounting-widget.component.js.map +1 -1
  19. package/dist/lib/custom/Product/widgets/product-pricing-widget.component.d.ts +69 -4
  20. package/dist/lib/custom/Product/widgets/product-pricing-widget.component.d.ts.map +1 -1
  21. package/dist/lib/custom/Product/widgets/product-pricing-widget.component.js +845 -314
  22. package/dist/lib/custom/Product/widgets/product-pricing-widget.component.js.map +1 -1
  23. package/dist/lib/custom/custom-forms.module.d.ts +10 -7
  24. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  25. package/dist/lib/custom/custom-forms.module.js +12 -0
  26. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  27. package/dist/lib/data/entity-names.d.ts +2 -0
  28. package/dist/lib/data/entity-names.d.ts.map +1 -1
  29. package/dist/lib/data/entity-names.js +2 -0
  30. package/dist/lib/data/entity-names.js.map +1 -1
  31. package/dist/lib/data/orders-queries.d.ts +11 -2
  32. package/dist/lib/data/orders-queries.d.ts.map +1 -1
  33. package/dist/lib/data/orders-queries.js +29 -41
  34. package/dist/lib/data/orders-queries.js.map +1 -1
  35. package/dist/lib/form-panels/catalog-overviews.panels.d.ts.map +1 -1
  36. package/dist/lib/form-panels/catalog-overviews.panels.js +7 -6
  37. package/dist/lib/form-panels/catalog-overviews.panels.js.map +1 -1
  38. package/dist/lib/form-panels/commercial-overviews.panels.js +1 -1
  39. package/dist/lib/form-panels/commercial-overviews.panels.js.map +1 -1
  40. package/dist/lib/form-panels/product-header.panel.d.ts +4 -0
  41. package/dist/lib/form-panels/product-header.panel.d.ts.map +1 -1
  42. package/dist/lib/form-panels/product-header.panel.js +17 -4
  43. package/dist/lib/form-panels/product-header.panel.js.map +1 -1
  44. package/dist/lib/form-panels/product-widget.panels.d.ts.map +1 -1
  45. package/dist/lib/form-panels/product-widget.panels.js +8 -5
  46. package/dist/lib/form-panels/product-widget.panels.js.map +1 -1
  47. package/dist/lib/generated/Entities/mjBizAppsOrdersProduct/mjbizappsordersproduct.form.component.js +4 -4
  48. package/dist/lib/generated/Entities/mjBizAppsOrdersProduct/mjbizappsordersproduct.form.component.js.map +1 -1
  49. package/dist/lib/generated/Entities/mjBizAppsOrdersProductPrice/mjbizappsordersproductprice.form.component.d.ts.map +1 -1
  50. package/dist/lib/generated/Entities/mjBizAppsOrdersProductPrice/mjbizappsordersproductprice.form.component.js +39 -27
  51. package/dist/lib/generated/Entities/mjBizAppsOrdersProductPrice/mjbizappsordersproductprice.form.component.js.map +1 -1
  52. package/dist/lib/panels/catalog-list-price.d.ts +4 -0
  53. package/dist/lib/panels/catalog-list-price.d.ts.map +1 -0
  54. package/dist/lib/panels/catalog-list-price.js +23 -0
  55. package/dist/lib/panels/catalog-list-price.js.map +1 -0
  56. package/dist/lib/services/pricing-scheduler.service.d.ts.map +1 -1
  57. package/dist/lib/services/pricing-scheduler.service.js +6 -3
  58. package/dist/lib/services/pricing-scheduler.service.js.map +1 -1
  59. package/package.json +6 -4
@@ -28,6 +28,7 @@ export declare class BizAppsProductFormComponent extends mjBizAppsOrdersProductF
28
28
  EventProductLoading: boolean;
29
29
  ProductTypeRecord: mjBizAppsOrdersProductTypeEntity | null;
30
30
  RevenueRecRecord: mjBizAppsOrdersRevenueRecognitionTypeEntity | null;
31
+ ListPriceLabel: string;
31
32
  protected navigationService: NavigationService | null;
32
33
  ngOnInit(): Promise<void>;
33
34
  SelectPane(pane: ProductFormPane): void;
@@ -48,9 +49,6 @@ export declare class BizAppsProductFormComponent extends mjBizAppsOrdersProductF
48
49
  * Resolves the venue and timing summary for Event products.
49
50
  */
50
51
  get EventScheduleSummary(): string;
51
- /**
52
- * Formats the base price into currency.
53
- */
54
52
  get FormattedBasePrice(): string;
55
53
  /**
56
54
  * FontAwesome icon reflecting the specific product category or type.
@@ -1 +1 @@
1
- {"version":3,"file":"product-form.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/Product/product-form.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EACH,4BAA4B,EAC5B,iCAAiC,EACjC,gCAAgC,EAChC,2CAA2C,EAC9C,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mCAAmC,EAAE,MAAM,uFAAuF,CAAC;;AAG5I,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAIhJ;;;;;;;;;;;;;;;GAeG;AACH,qBAMa,2BAA4B,SAAQ,mCAAmC;IACjE,MAAM,EAAE,4BAA4B,CAAC;IAE7C,UAAU,EAAE,eAAe,CAAc;IAEhD,0FAA0F;IACnF,iBAAiB,EAAE,iCAAiC,GAAG,IAAI,CAAQ;IACnE,mBAAmB,UAAS;IAC5B,iBAAiB,EAAE,gCAAgC,GAAG,IAAI,CAAQ;IAClE,gBAAgB,EAAE,2CAA2C,GAAG,IAAI,CAAQ;IAEnF,SAAS,CAAC,iBAAiB,2BAAiD;IAE7D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBjC,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAK9C,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,IAAW,iBAAiB,IAAI,OAAO,CAMtC;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAQnC;IAED;;OAEG;IACH,IAAW,sBAAsB,IAAI,MAAM,CAQ1C;IAED;;OAEG;IACH,IAAW,oBAAoB,IAAI,MAAM,CAOxC;IAED;;OAEG;IACH,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAerC;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,MAAM,CAapC;IAED;;OAEG;YACW,oBAAoB;IA0DlC;;;OAGG;IACM,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAKzD;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;yCAlNxC,2BAA2B;2CAA3B,2BAA2B;CAyNvC;AAED,8CAA8C;AAC9C,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
1
+ {"version":3,"file":"product-form.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/Product/product-form.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EACH,4BAA4B,EAC5B,iCAAiC,EACjC,gCAAgC,EAChC,2CAA2C,EAC9C,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mCAAmC,EAAE,MAAM,uFAAuF,CAAC;;AAG5I,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAIhJ;;;;;;;;;;;;;;;GAeG;AACH,qBAMa,2BAA4B,SAAQ,mCAAmC;IACjE,MAAM,EAAE,4BAA4B,CAAC;IAE7C,UAAU,EAAE,eAAe,CAAc;IAEhD,0FAA0F;IACnF,iBAAiB,EAAE,iCAAiC,GAAG,IAAI,CAAQ;IACnE,mBAAmB,UAAS;IAC5B,iBAAiB,EAAE,gCAAgC,GAAG,IAAI,CAAQ;IAClE,gBAAgB,EAAE,2CAA2C,GAAG,IAAI,CAAQ;IAC5E,cAAc,SAAc;IAEnC,SAAS,CAAC,iBAAiB,2BAAiD;IAE7D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBjC,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAK9C,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,IAAW,iBAAiB,IAAI,OAAO,CAMtC;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAQnC;IAED;;OAEG;IACH,IAAW,sBAAsB,IAAI,MAAM,CAQ1C;IAED;;OAEG;IACH,IAAW,oBAAoB,IAAI,MAAM,CAOxC;IAED,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAerC;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,MAAM,CAapC;IAED;;OAEG;YACW,oBAAoB;IA0DlC;;;OAGG;IACM,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAKzD;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;yCAjNxC,2BAA2B;2CAA3B,2BAA2B;CAwNvC;AAED,8CAA8C;AAC9C,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
@@ -4,7 +4,7 @@ import { UserInfoEngine } from '@memberjunction/core-entities';
4
4
  import { NavigationService } from '@memberjunction/ng-shared';
5
5
  import { DispatchFormNavigation } from '../form-navigation-helper.js';
6
6
  import { mjBizAppsOrdersProductFormComponent } from '../../generated/Entities/mjBizAppsOrdersProduct/mjbizappsordersproduct.form.component.js';
7
- import { FormatMoney } from '../../panels/money-format.js';
7
+ import { LoadProductListPriceLabel } from '../../panels/catalog-list-price.js';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@memberjunction/ng-base-forms";
10
10
  import * as i2 from "./widgets/product-pricing-widget.component.js";
@@ -263,7 +263,7 @@ function BizAppsProductFormComponent_Conditional_0_Template(rf, ctx) { if (rf &
263
263
  i0.ɵɵtext(21);
264
264
  i0.ɵɵelementEnd()()()()();
265
265
  i0.ɵɵelementStart(22, "div", 15)(23, "div", 16)(24, "span", 17);
266
- i0.ɵɵtext(25, "Base List Price");
266
+ i0.ɵɵtext(25, "List price");
267
267
  i0.ɵɵelementEnd();
268
268
  i0.ɵɵelementStart(26, "span", 18);
269
269
  i0.ɵɵtext(27);
@@ -451,6 +451,7 @@ export class BizAppsProductFormComponent extends mjBizAppsOrdersProductFormCompo
451
451
  EventProductLoading = false;
452
452
  ProductTypeRecord = null;
453
453
  RevenueRecRecord = null;
454
+ ListPriceLabel = 'No price';
454
455
  navigationService = inject(NavigationService, { optional: true });
455
456
  async ngOnInit() {
456
457
  await super.ngOnInit();
@@ -468,6 +469,7 @@ export class BizAppsProductFormComponent extends mjBizAppsOrdersProductFormCompo
468
469
  this.ActivePane = savedPane;
469
470
  }
470
471
  await this.syncSubtypeExtension();
472
+ this.ListPriceLabel = await LoadProductListPriceLabel(this.record?.ID);
471
473
  }
472
474
  SelectPane(pane) {
473
475
  this.ActivePane = pane;
@@ -522,11 +524,8 @@ export class BizAppsProductFormComponent extends mjBizAppsOrdersProductFormCompo
522
524
  : 'Date TBD';
523
525
  return `${venue} · ${start}`;
524
526
  }
525
- /**
526
- * Formats the base price into currency.
527
- */
528
527
  get FormattedBasePrice() {
529
- return FormatMoney(this.record?.StandaloneSellingPrice || 0);
528
+ return this.ListPriceLabel;
530
529
  }
531
530
  /**
532
531
  * FontAwesome icon reflecting the specific product category or type.
@@ -655,7 +654,7 @@ export class BizAppsProductFormComponent extends mjBizAppsOrdersProductFormCompo
655
654
  }
656
655
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BizAppsProductFormComponent, [{
657
656
  type: Component,
658
- args: [{ standalone: false, selector: 'bizapps-product-form', template: "@if (record) {\n<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n\n <mj-form-panel-slot Entity=\"{{record.EntityInfo.Name}}\" Slot=\"before-fields\" [Record]=\"record\" [FormComponent]=\"this\" [FormContext]=\"formContext\"></mj-form-panel-slot>\n\n <!-- ================================================================\n HERO IDENTITY HEADER CARD & SUMMARY METRIC STRIP\n ================================================================ -->\n <div class=\"mjo-record-header-card\">\n <div class=\"mjo-record-header-top\">\n <div class=\"mjo-record-identity\">\n <div class=\"mjo-record-avatar\">\n <i [class]=\"ProductAvatarIcon\"></i>\n </div>\n <div class=\"mjo-record-title-area\">\n <h1 class=\"mjo-record-title\">\n {{ record.Name || 'New Product Catalog Entry' }}\n </h1>\n <div class=\"mjo-record-badges\">\n <span class=\"mjo-entity-chip\"><i class=\"fa-solid fa-database\"></i> MJ_BizApps_Orders: Products</span>\n <span class=\"mjo-sku-badge\">{{ record.SKU || 'SKU TBD' }}</span>\n <span class=\"mjo-type-chip\">\n <i class=\"fa-solid fa-tag\"></i> {{ ProductTypeName }}\n </span>\n @if (HasEventExtension) {\n <span class=\"mjo-type-chip\">\n <i class=\"fa-solid fa-calendar-check\"></i> Specialized Profile: Event &amp; Conference\n </span>\n }\n <span [class]=\"StatusBadgeClass\">{{ record.Status || 'Draft' }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Quick Summary Metric Strip -->\n <div class=\"mjo-record-summary-bar\">\n <div class=\"mjo-stat-block\">\n <span class=\"mjo-stat-label\">Base List Price</span>\n <span class=\"mjo-stat-val\">{{ FormattedBasePrice }}</span>\n </div>\n <div class=\"mjo-stat-block\">\n <span class=\"mjo-stat-label\">Product Type</span>\n <span class=\"mjo-stat-val\">{{ ProductTypeName }}</span>\n </div>\n <div class=\"mjo-stat-block\">\n <span class=\"mjo-stat-label\">Revenue Recognition</span>\n <span class=\"mjo-stat-val\">{{ RevenueRecognitionName }}</span>\n </div>\n <div class=\"mjo-stat-block\">\n <span class=\"mjo-stat-label\">{{ HasEventExtension ? 'Event Schedule' : 'Tax Status' }}</span>\n <span class=\"mjo-stat-val\">{{ HasEventExtension ? EventScheduleSummary : (record.IsTaxable ? 'Taxable' : 'Tax Exempt') }}</span>\n </div>\n <div class=\"mjo-stat-block\">\n <span class=\"mjo-stat-label\">Price List Assignments</span>\n <span class=\"mjo-stat-val\">{{ GetSectionRowCount('productPrices') || 0 }} Rules</span>\n </div>\n </div>\n </div>\n\n <!-- ================================================================\n TWO-COLUMN RESPONSIVE WORKSPACE: LEFT NAV + ACTIVE PANE\n ================================================================ -->\n <div class=\"mjo-workspace-layout\">\n\n <!-- RESPONSIVE LEFT NAVIGATION RAIL -->\n <aside class=\"mjo-product-left-nav\" role=\"navigation\" aria-label=\"Product sections\">\n <div class=\"mjo-nav-group-title\">Catalog Profile</div>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'overview'\" (click)=\"SelectPane('overview')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-circle-info\"></i>\n <span>Overview &amp; Profile</span>\n </span>\n </button>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'pricing'\" (click)=\"SelectPane('pricing')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-calculator\"></i>\n <span>Pricing &amp; Tiers</span>\n </span>\n <span class=\"mjo-nav-badge\">{{ GetSectionRowCount('productPrices') || 0 }}</span>\n </button>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'promos'\" (click)=\"SelectPane('promos')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-ticket\"></i>\n <span>Promotions &amp; Discounts</span>\n </span>\n </button>\n\n <div class=\"mjo-nav-group-title\">Finance &amp; Operations</div>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'accounting'\" (click)=\"SelectPane('accounting')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-scale-balanced\"></i>\n <span>Tax &amp; Accounting GL</span>\n </span>\n </button>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'fulfillment'\" (click)=\"SelectPane('fulfillment')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-truck-fast\"></i>\n <span>Delivery &amp; Fulfillment</span>\n </span>\n </button>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'subscriptions'\" (click)=\"SelectPane('subscriptions')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n <span>Subscription</span>\n </span>\n </button>\n\n @if (record.ProductType === 'Bundle' || record.ProductType === 'Kit') {\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'bundles'\" (click)=\"SelectPane('bundles')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-boxes-stacked\"></i>\n <span>Bundle Kit Items</span>\n </span>\n <span class=\"mjo-nav-badge\">{{ GetSectionRowCount('productBundleItems') || 0 }}</span>\n </button>\n }\n\n @if (!EditMode) {\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'systemMetadata'\" (click)=\"SelectPane('systemMetadata')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-database\"></i>\n <span>System Metadata</span>\n </span>\n </button>\n }\n </aside>\n\n <!-- ACTIVE CONTENT WORKSPACE -->\n <section class=\"mjo-workspace-content\">\n\n <!-- ============================================================\n PANE 1: OVERVIEW & SPECIALIZED PROFILE\n ============================================================ -->\n @if (ActivePane === 'overview') {\n <div class=\"mjo-pane-wrap\">\n @if (HasEventExtension) {\n <div class=\"mjo-profile-banner\">\n <i class=\"fa-solid fa-calendar-check\" style=\"font-size: 20px; color: #0284c7;\"></i>\n <div>\n <strong>Specialized Event Profile Active:</strong> Venue, scheduling, and attendee requirements are linked directly to this product record.\n </div>\n </div>\n }\n\n <div class=\"mjo-widget-card\">\n <div class=\"mjo-widget-head\">\n <i class=\"fa-solid fa-cube\"></i>\n <span>Core Product Specifications</span>\n </div>\n <div class=\"mjo-fields-grid\">\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Name\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"SKU\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"MaxQuantityPerLine\"\n Type=\"numerictextbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ProductCategoryID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ProductTypeID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Status\"\n Type=\"select\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"CompanyID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n </div>\n <div style=\"margin-top: 12px;\">\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Description\"\n Type=\"textarea\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n </div>\n </div>\n\n <!-- Specialized Profile Form Fields (EventProduct) -->\n @if (HasEventExtension && EventProductChild) {\n <div class=\"mjo-widget-card\" style=\"margin-top: 16px;\">\n <div class=\"mjo-widget-head\">\n <i class=\"fa-solid fa-map-location-dot\"></i>\n <span>Event &amp; Venue Schedule Details</span>\n </div>\n <div class=\"mjo-fields-grid\">\n <mj-form-field \n [Record]=\"EventProductChild\"\n [ShowLabel]=\"true\"\n FieldName=\"EventStartsAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"EventProductChild\"\n [ShowLabel]=\"true\"\n FieldName=\"EventEndsAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"EventProductChild\"\n [ShowLabel]=\"true\"\n FieldName=\"VenueName\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"EventProductChild\"\n [ShowLabel]=\"true\"\n FieldName=\"Capacity\"\n Type=\"number\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"EventProductChild\"\n [ShowLabel]=\"true\"\n FieldName=\"RequiresAttendeeInfo\"\n Type=\"checkbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n </div>\n </div>\n }\n </div>\n }\n\n <!-- ============================================================\n PANE 2: PRICING & VOLUME TIERS (DROPPABLE WIDGET)\n ============================================================ -->\n @if (ActivePane === 'pricing') {\n <bizapps-product-pricing-widget\n [Product]=\"record\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\">\n </bizapps-product-pricing-widget>\n }\n\n <!-- ============================================================\n PANE 3: PROMOTIONS & CAMPAIGNS (DROPPABLE WIDGET)\n ============================================================ -->\n @if (ActivePane === 'promos') {\n <bizapps-product-promotions-widget\n [Product]=\"record\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\">\n </bizapps-product-promotions-widget>\n }\n\n <!-- ============================================================\n PANE 4: TAX & ACCOUNTING GL (DROPPABLE WIDGET)\n ============================================================ -->\n @if (ActivePane === 'accounting') {\n <bizapps-product-accounting-widget\n [Product]=\"record\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\">\n </bizapps-product-accounting-widget>\n }\n\n <!-- ============================================================\n PANE 5: DELIVERY & FULFILLMENT (DROPPABLE WIDGET)\n ============================================================ -->\n @if (ActivePane === 'fulfillment') {\n <bizapps-product-fulfillment-widget\n [Product]=\"record\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\">\n </bizapps-product-fulfillment-widget>\n }\n\n <!-- ============================================================\n PANE 6: SUBSCRIPTIONS & GRANTS (DROPPABLE WIDGET)\n ============================================================ -->\n @if (ActivePane === 'subscriptions') {\n <bizapps-product-subscription-widget\n [Product]=\"record\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\">\n </bizapps-product-subscription-widget>\n }\n\n <!-- ============================================================\n PANE 7: BUNDLE KIT ITEMS\n ============================================================ -->\n @if (ActivePane === 'bundles' && record.IsSaved) {\n <div class=\"mjo-widget-card\">\n <div class=\"mjo-widget-head\">\n <i class=\"fa-solid fa-boxes-stacked\"></i>\n <span>Bundle Components &amp; Kit Items</span>\n </div>\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ_BizApps_Orders: Product Bundle Items','BundleProductID')\"\n [NewRecordValues]=\"NewRecordValues('MJ_BizApps_Orders: Product Bundle Items')\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"true\"\n [ShowNewButton]=\"true\"\n (Navigate)=\"OnFormNavigate($event)\"\n (AfterDataLoad)=\"SetSectionRowCount('productBundleItems', $event.totalRowCount)\">\n </mj-explorer-entity-data-grid>\n </div>\n }\n\n <!-- ============================================================\n PANE 8: SYSTEM METADATA\n ============================================================ -->\n @if (ActivePane === 'systemMetadata' && !EditMode) {\n <div class=\"mjo-widget-card\">\n <div class=\"mjo-widget-head\">\n <i class=\"fa-solid fa-database\"></i>\n <span>System Identifiers &amp; Timestamps</span>\n </div>\n <div class=\"mjo-fields-grid\">\n <mj-form-field [Record]=\"record\" [ShowLabel]=\"true\" FieldName=\"ID\" Type=\"textbox\" [EditMode]=\"false\" [FormContext]=\"formContext\" (Navigate)=\"OnFormNavigate($event)\"></mj-form-field>\n <mj-form-field [Record]=\"record\" [ShowLabel]=\"true\" FieldName=\"__mj_CreatedAt\" Type=\"textbox\" [EditMode]=\"false\" [FormContext]=\"formContext\" (Navigate)=\"OnFormNavigate($event)\"></mj-form-field>\n <mj-form-field [Record]=\"record\" [ShowLabel]=\"true\" FieldName=\"__mj_UpdatedAt\" Type=\"textbox\" [EditMode]=\"false\" [FormContext]=\"formContext\" (Navigate)=\"OnFormNavigate($event)\"></mj-form-field>\n </div>\n </div>\n }\n\n </section>\n </div>\n\n <mj-form-panel-slot Entity=\"{{record.EntityInfo.Name}}\" Slot=\"after-related\" [Record]=\"record\" [FormComponent]=\"this\" [FormContext]=\"formContext\"></mj-form-panel-slot>\n\n</mj-record-form-container>\n}\n", styles: ["/* ============================================================================\n BizApps Orders \u2014 Custom Product Form Component (Responsive Left-Nav Layout)\n ============================================================================ */\n\n/* \u2500\u2500 1. Hero Identity Header Card \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.mjo-record-header-card {\n background: var(--mj-bg-surface-card, #ffffff);\n border: 1px solid var(--mj-border-default, #e2e8f0);\n border-radius: var(--mj-radius-lg, 12px);\n padding: var(--mj-space-4, 16px) var(--mj-space-5, 20px);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);\n margin-bottom: var(--mj-space-4, 16px);\n}\n\n.mjo-record-header-top {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--mj-space-4, 16px);\n flex-wrap: wrap;\n}\n\n.mjo-record-identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4, 16px);\n}\n\n.mjo-record-avatar {\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md, 8px);\n background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);\n color: #ffffff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 22px;\n box-shadow: 0 4px 10px rgba(2, 132, 199, 0.25);\n flex-shrink: 0;\n}\n\n.mjo-record-title-area {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-2, 6px);\n}\n\n.mjo-record-title {\n margin: 0;\n font-size: var(--mj-text-lg, 18px);\n font-weight: var(--mj-font-bold, 700);\n color: var(--mj-text-primary, #0f172a);\n letter-spacing: -0.01em;\n line-height: 1.25;\n}\n\n.mjo-record-badges {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2, 8px);\n flex-wrap: wrap;\n}\n\n.mjo-entity-chip {\n font-size: var(--mj-text-xs, 11.5px);\n font-weight: var(--mj-font-semibold, 600);\n color: var(--mj-brand-primary, #0076b6);\n background: var(--mj-status-info-bg, rgba(0, 118, 182, 0.12));\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm, 4px);\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.mjo-sku-badge {\n font-family: var(--mj-font-family-mono, monospace);\n font-size: var(--mj-text-xs, 11.5px);\n font-weight: 500;\n color: var(--mj-text-secondary, #475569);\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.04));\n border: 1px solid var(--mj-border-default, #cbd5e1);\n padding: 1px 7px;\n border-radius: var(--mj-radius-sm, 4px);\n}\n\n.mjo-type-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n font-size: var(--mj-text-xs, 11.5px);\n font-weight: var(--mj-font-semibold, 600);\n color: #0284c7;\n background: rgba(2, 132, 199, 0.12);\n border: 1px solid rgba(2, 132, 199, 0.35);\n padding: 2px 8px;\n border-radius: var(--mj-radius-full, 9999px);\n}\n\n.mjo-status-chip {\n font-size: var(--mj-text-xs, 11.5px);\n font-weight: var(--mj-font-bold, 700);\n padding: 2px 10px;\n border-radius: var(--mj-radius-full, 9999px);\n text-transform: uppercase;\n letter-spacing: 0.03em;\n}\n\n.mjo-status-chip--active {\n background: var(--mj-color-success-100, #dcfce7);\n color: var(--mj-color-success-700, #15803d);\n border: 1px solid var(--mj-color-success-300, #86efac);\n}\n\n.mjo-status-chip--draft {\n background: var(--mj-color-warning-100, #fef3c7);\n color: var(--mj-color-warning-700, #b45309);\n border: 1px solid var(--mj-color-warning-300, #fcd34d);\n}\n\n.mjo-status-chip--inactive {\n background: var(--mj-bg-surface-sunken, #f1f5f9);\n color: var(--mj-text-muted, #64748b);\n border: 1px solid var(--mj-border-default, #cbd5e1);\n}\n\n/* Summary metric strip */\n.mjo-record-summary-bar {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));\n gap: var(--mj-space-3, 12px);\n margin-top: var(--mj-space-3, 14px);\n padding-top: var(--mj-space-3, 14px);\n border-top: 1px solid var(--mj-border-default, #f1f5f9);\n}\n\n.mjo-stat-block {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.mjo-stat-label {\n font-size: var(--mj-text-xs, 10.5px);\n font-weight: var(--mj-font-semibold, 600);\n color: var(--mj-text-muted, #64748b);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n.mjo-stat-val {\n font-size: var(--mj-text-sm, 13.5px);\n font-weight: var(--mj-font-bold, 700);\n font-family: var(--mj-font-family-mono, monospace);\n color: var(--mj-text-primary, #0f172a);\n}\n\n/* \u2500\u2500 2. Two-Column Workspace Layout \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.mjo-workspace-layout {\n display: grid;\n grid-template-columns: 240px 1fr;\n gap: var(--mj-space-4, 16px);\n align-items: start;\n}\n\n/* Left Nav Rail */\n.mjo-product-left-nav {\n background: var(--mj-bg-surface-card, #ffffff);\n border: 1px solid var(--mj-border-default, #e2e8f0);\n border-radius: var(--mj-radius-lg, 10px);\n padding: 8px;\n display: flex;\n flex-direction: column;\n gap: 3px;\n position: sticky;\n top: 16px;\n}\n\n.mjo-nav-group-title {\n font-size: 10px;\n font-weight: var(--mj-font-bold, 700);\n color: var(--mj-text-muted, #64748b);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n padding: 6px 10px 2px;\n}\n\n.mjo-nav-btn {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: var(--mj-radius-md, 6px);\n font-family: inherit;\n font-size: var(--mj-text-xs, 12.5px);\n font-weight: var(--mj-font-semibold, 600);\n color: var(--mj-text-secondary, #475569);\n cursor: pointer;\n text-align: left;\n transition: all 0.15s ease;\n box-sizing: border-box;\n}\n\n.mjo-nav-btn:hover {\n background: var(--mj-bg-surface-sunken, #f1f5f9);\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-nav-btn.active {\n background: var(--mj-brand-primary, #0076b6);\n color: #ffffff;\n box-shadow: 0 2px 4px rgba(0, 118, 182, 0.25);\n}\n\n.mjo-nav-btn-left {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-nav-btn-left i {\n width: 16px;\n text-align: center;\n font-size: 13px;\n}\n\n.mjo-nav-badge {\n font-size: 10px;\n font-weight: var(--mj-font-bold, 700);\n padding: 1px 6px;\n border-radius: var(--mj-radius-full, 9999px);\n background: rgba(0, 0, 0, 0.07);\n}\n\n.mjo-nav-btn.active .mjo-nav-badge {\n background: rgba(255, 255, 255, 0.25);\n color: #ffffff;\n}\n\n/* Responsive collapse on smaller screens */\n@media (max-width: 900px) {\n .mjo-workspace-layout {\n grid-template-columns: 1fr;\n }\n\n .mjo-product-left-nav {\n position: static;\n flex-direction: row;\n overflow-x: auto;\n padding: 6px;\n gap: 6px;\n }\n\n .mjo-nav-group-title { display: none; }\n .mjo-nav-btn { width: auto; white-space: nowrap; }\n}\n\n/* \u2500\u2500 3. Content Workspace Widgets & Panes \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.mjo-workspace-content {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-3, 12px);\n}\n\n.mjo-pane-wrap {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-3, 12px);\n}\n\n.mjo-profile-banner {\n background: #f0f9ff;\n border: 1px solid #bae6fd;\n border-radius: var(--mj-radius-md, 8px);\n padding: var(--mj-space-3, 12px) var(--mj-space-4, 16px);\n display: flex;\n align-items: center;\n gap: 12px;\n font-size: var(--mj-text-sm, 12.5px);\n color: #0369a1;\n}\n\n.mjo-widget-card {\n background: var(--mj-bg-surface-card, #ffffff);\n border: 1px solid var(--mj-border-default, #e2e8f0);\n border-radius: var(--mj-radius-lg, 10px);\n padding: var(--mj-space-4, 16px);\n}\n\n.mjo-widget-head {\n font-size: var(--mj-text-sm, 13px);\n font-weight: var(--mj-font-bold, 700);\n color: var(--mj-text-primary, #0f172a);\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: var(--mj-space-3, 12px);\n padding-bottom: var(--mj-space-2, 8px);\n border-bottom: 1px solid var(--mj-border-default, #f1f5f9);\n}\n\n.mjo-fields-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n gap: var(--mj-space-3, 12px);\n}\n"] }]
657
+ args: [{ standalone: false, selector: 'bizapps-product-form', template: "@if (record) {\n<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n\n <mj-form-panel-slot Entity=\"{{record.EntityInfo.Name}}\" Slot=\"before-fields\" [Record]=\"record\" [FormComponent]=\"this\" [FormContext]=\"formContext\"></mj-form-panel-slot>\n\n <!-- ================================================================\n HERO IDENTITY HEADER CARD & SUMMARY METRIC STRIP\n ================================================================ -->\n <div class=\"mjo-record-header-card\">\n <div class=\"mjo-record-header-top\">\n <div class=\"mjo-record-identity\">\n <div class=\"mjo-record-avatar\">\n <i [class]=\"ProductAvatarIcon\"></i>\n </div>\n <div class=\"mjo-record-title-area\">\n <h1 class=\"mjo-record-title\">\n {{ record.Name || 'New Product Catalog Entry' }}\n </h1>\n <div class=\"mjo-record-badges\">\n <span class=\"mjo-entity-chip\"><i class=\"fa-solid fa-database\"></i> MJ_BizApps_Orders: Products</span>\n <span class=\"mjo-sku-badge\">{{ record.SKU || 'SKU TBD' }}</span>\n <span class=\"mjo-type-chip\">\n <i class=\"fa-solid fa-tag\"></i> {{ ProductTypeName }}\n </span>\n @if (HasEventExtension) {\n <span class=\"mjo-type-chip\">\n <i class=\"fa-solid fa-calendar-check\"></i> Specialized Profile: Event &amp; Conference\n </span>\n }\n <span [class]=\"StatusBadgeClass\">{{ record.Status || 'Draft' }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Quick Summary Metric Strip -->\n <div class=\"mjo-record-summary-bar\">\n <div class=\"mjo-stat-block\">\n <span class=\"mjo-stat-label\">List price</span>\n <span class=\"mjo-stat-val\">{{ FormattedBasePrice }}</span>\n </div>\n <div class=\"mjo-stat-block\">\n <span class=\"mjo-stat-label\">Product Type</span>\n <span class=\"mjo-stat-val\">{{ ProductTypeName }}</span>\n </div>\n <div class=\"mjo-stat-block\">\n <span class=\"mjo-stat-label\">Revenue Recognition</span>\n <span class=\"mjo-stat-val\">{{ RevenueRecognitionName }}</span>\n </div>\n <div class=\"mjo-stat-block\">\n <span class=\"mjo-stat-label\">{{ HasEventExtension ? 'Event Schedule' : 'Tax Status' }}</span>\n <span class=\"mjo-stat-val\">{{ HasEventExtension ? EventScheduleSummary : (record.IsTaxable ? 'Taxable' : 'Tax Exempt') }}</span>\n </div>\n <div class=\"mjo-stat-block\">\n <span class=\"mjo-stat-label\">Price List Assignments</span>\n <span class=\"mjo-stat-val\">{{ GetSectionRowCount('productPrices') || 0 }} Rules</span>\n </div>\n </div>\n </div>\n\n <!-- ================================================================\n TWO-COLUMN RESPONSIVE WORKSPACE: LEFT NAV + ACTIVE PANE\n ================================================================ -->\n <div class=\"mjo-workspace-layout\">\n\n <!-- RESPONSIVE LEFT NAVIGATION RAIL -->\n <aside class=\"mjo-product-left-nav\" role=\"navigation\" aria-label=\"Product sections\">\n <div class=\"mjo-nav-group-title\">Catalog Profile</div>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'overview'\" (click)=\"SelectPane('overview')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-circle-info\"></i>\n <span>Overview &amp; Profile</span>\n </span>\n </button>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'pricing'\" (click)=\"SelectPane('pricing')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-calculator\"></i>\n <span>Pricing &amp; Tiers</span>\n </span>\n <span class=\"mjo-nav-badge\">{{ GetSectionRowCount('productPrices') || 0 }}</span>\n </button>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'promos'\" (click)=\"SelectPane('promos')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-ticket\"></i>\n <span>Promotions &amp; Discounts</span>\n </span>\n </button>\n\n <div class=\"mjo-nav-group-title\">Finance &amp; Operations</div>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'accounting'\" (click)=\"SelectPane('accounting')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-scale-balanced\"></i>\n <span>Tax &amp; Accounting GL</span>\n </span>\n </button>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'fulfillment'\" (click)=\"SelectPane('fulfillment')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-truck-fast\"></i>\n <span>Delivery &amp; Fulfillment</span>\n </span>\n </button>\n\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'subscriptions'\" (click)=\"SelectPane('subscriptions')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n <span>Subscription</span>\n </span>\n </button>\n\n @if (record.ProductType === 'Bundle' || record.ProductType === 'Kit') {\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'bundles'\" (click)=\"SelectPane('bundles')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-boxes-stacked\"></i>\n <span>Bundle Kit Items</span>\n </span>\n <span class=\"mjo-nav-badge\">{{ GetSectionRowCount('productBundleItems') || 0 }}</span>\n </button>\n }\n\n @if (!EditMode) {\n <button type=\"button\" class=\"mjo-nav-btn\" [class.active]=\"ActivePane === 'systemMetadata'\" (click)=\"SelectPane('systemMetadata')\">\n <span class=\"mjo-nav-btn-left\">\n <i class=\"fa-solid fa-database\"></i>\n <span>System Metadata</span>\n </span>\n </button>\n }\n </aside>\n\n <!-- ACTIVE CONTENT WORKSPACE -->\n <section class=\"mjo-workspace-content\">\n\n <!-- ============================================================\n PANE 1: OVERVIEW & SPECIALIZED PROFILE\n ============================================================ -->\n @if (ActivePane === 'overview') {\n <div class=\"mjo-pane-wrap\">\n @if (HasEventExtension) {\n <div class=\"mjo-profile-banner\">\n <i class=\"fa-solid fa-calendar-check\" style=\"font-size: 20px; color: #0284c7;\"></i>\n <div>\n <strong>Specialized Event Profile Active:</strong> Venue, scheduling, and attendee requirements are linked directly to this product record.\n </div>\n </div>\n }\n\n <div class=\"mjo-widget-card\">\n <div class=\"mjo-widget-head\">\n <i class=\"fa-solid fa-cube\"></i>\n <span>Core Product Specifications</span>\n </div>\n <div class=\"mjo-fields-grid\">\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Name\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"SKU\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"MaxQuantityPerLine\"\n Type=\"numerictextbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ProductCategoryID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ProductTypeID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Status\"\n Type=\"select\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"CompanyID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n </div>\n <div style=\"margin-top: 12px;\">\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Description\"\n Type=\"textarea\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n </div>\n </div>\n\n <!-- Specialized Profile Form Fields (EventProduct) -->\n @if (HasEventExtension && EventProductChild) {\n <div class=\"mjo-widget-card\" style=\"margin-top: 16px;\">\n <div class=\"mjo-widget-head\">\n <i class=\"fa-solid fa-map-location-dot\"></i>\n <span>Event &amp; Venue Schedule Details</span>\n </div>\n <div class=\"mjo-fields-grid\">\n <mj-form-field \n [Record]=\"EventProductChild\"\n [ShowLabel]=\"true\"\n FieldName=\"EventStartsAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"EventProductChild\"\n [ShowLabel]=\"true\"\n FieldName=\"EventEndsAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"EventProductChild\"\n [ShowLabel]=\"true\"\n FieldName=\"VenueName\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"EventProductChild\"\n [ShowLabel]=\"true\"\n FieldName=\"Capacity\"\n Type=\"number\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"EventProductChild\"\n [ShowLabel]=\"true\"\n FieldName=\"RequiresAttendeeInfo\"\n Type=\"checkbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\"\n ></mj-form-field>\n </div>\n </div>\n }\n </div>\n }\n\n <!-- ============================================================\n PANE 2: PRICING & VOLUME TIERS (DROPPABLE WIDGET)\n ============================================================ -->\n @if (ActivePane === 'pricing') {\n <bizapps-product-pricing-widget\n [Product]=\"record\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\">\n </bizapps-product-pricing-widget>\n }\n\n <!-- ============================================================\n PANE 3: PROMOTIONS & CAMPAIGNS (DROPPABLE WIDGET)\n ============================================================ -->\n @if (ActivePane === 'promos') {\n <bizapps-product-promotions-widget\n [Product]=\"record\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\">\n </bizapps-product-promotions-widget>\n }\n\n <!-- ============================================================\n PANE 4: TAX & ACCOUNTING GL (DROPPABLE WIDGET)\n ============================================================ -->\n @if (ActivePane === 'accounting') {\n <bizapps-product-accounting-widget\n [Product]=\"record\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\">\n </bizapps-product-accounting-widget>\n }\n\n <!-- ============================================================\n PANE 5: DELIVERY & FULFILLMENT (DROPPABLE WIDGET)\n ============================================================ -->\n @if (ActivePane === 'fulfillment') {\n <bizapps-product-fulfillment-widget\n [Product]=\"record\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\">\n </bizapps-product-fulfillment-widget>\n }\n\n <!-- ============================================================\n PANE 6: SUBSCRIPTIONS & GRANTS (DROPPABLE WIDGET)\n ============================================================ -->\n @if (ActivePane === 'subscriptions') {\n <bizapps-product-subscription-widget\n [Product]=\"record\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n (Navigate)=\"OnFormNavigate($event)\">\n </bizapps-product-subscription-widget>\n }\n\n <!-- ============================================================\n PANE 7: BUNDLE KIT ITEMS\n ============================================================ -->\n @if (ActivePane === 'bundles' && record.IsSaved) {\n <div class=\"mjo-widget-card\">\n <div class=\"mjo-widget-head\">\n <i class=\"fa-solid fa-boxes-stacked\"></i>\n <span>Bundle Components &amp; Kit Items</span>\n </div>\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ_BizApps_Orders: Product Bundle Items','BundleProductID')\"\n [NewRecordValues]=\"NewRecordValues('MJ_BizApps_Orders: Product Bundle Items')\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"true\"\n [ShowNewButton]=\"true\"\n (Navigate)=\"OnFormNavigate($event)\"\n (AfterDataLoad)=\"SetSectionRowCount('productBundleItems', $event.totalRowCount)\">\n </mj-explorer-entity-data-grid>\n </div>\n }\n\n <!-- ============================================================\n PANE 8: SYSTEM METADATA\n ============================================================ -->\n @if (ActivePane === 'systemMetadata' && !EditMode) {\n <div class=\"mjo-widget-card\">\n <div class=\"mjo-widget-head\">\n <i class=\"fa-solid fa-database\"></i>\n <span>System Identifiers &amp; Timestamps</span>\n </div>\n <div class=\"mjo-fields-grid\">\n <mj-form-field [Record]=\"record\" [ShowLabel]=\"true\" FieldName=\"ID\" Type=\"textbox\" [EditMode]=\"false\" [FormContext]=\"formContext\" (Navigate)=\"OnFormNavigate($event)\"></mj-form-field>\n <mj-form-field [Record]=\"record\" [ShowLabel]=\"true\" FieldName=\"__mj_CreatedAt\" Type=\"textbox\" [EditMode]=\"false\" [FormContext]=\"formContext\" (Navigate)=\"OnFormNavigate($event)\"></mj-form-field>\n <mj-form-field [Record]=\"record\" [ShowLabel]=\"true\" FieldName=\"__mj_UpdatedAt\" Type=\"textbox\" [EditMode]=\"false\" [FormContext]=\"formContext\" (Navigate)=\"OnFormNavigate($event)\"></mj-form-field>\n </div>\n </div>\n }\n\n </section>\n </div>\n\n <mj-form-panel-slot Entity=\"{{record.EntityInfo.Name}}\" Slot=\"after-related\" [Record]=\"record\" [FormComponent]=\"this\" [FormContext]=\"formContext\"></mj-form-panel-slot>\n\n</mj-record-form-container>\n}\n", styles: ["/* ============================================================================\n BizApps Orders \u2014 Custom Product Form Component (Responsive Left-Nav Layout)\n ============================================================================ */\n\n/* \u2500\u2500 1. Hero Identity Header Card \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.mjo-record-header-card {\n background: var(--mj-bg-surface-card, #ffffff);\n border: 1px solid var(--mj-border-default, #e2e8f0);\n border-radius: var(--mj-radius-lg, 12px);\n padding: var(--mj-space-4, 16px) var(--mj-space-5, 20px);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);\n margin-bottom: var(--mj-space-4, 16px);\n}\n\n.mjo-record-header-top {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--mj-space-4, 16px);\n flex-wrap: wrap;\n}\n\n.mjo-record-identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4, 16px);\n}\n\n.mjo-record-avatar {\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md, 8px);\n background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);\n color: #ffffff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 22px;\n box-shadow: 0 4px 10px rgba(2, 132, 199, 0.25);\n flex-shrink: 0;\n}\n\n.mjo-record-title-area {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-2, 6px);\n}\n\n.mjo-record-title {\n margin: 0;\n font-size: var(--mj-text-lg, 18px);\n font-weight: var(--mj-font-bold, 700);\n color: var(--mj-text-primary, #0f172a);\n letter-spacing: -0.01em;\n line-height: 1.25;\n}\n\n.mjo-record-badges {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2, 8px);\n flex-wrap: wrap;\n}\n\n.mjo-entity-chip {\n font-size: var(--mj-text-xs, 11.5px);\n font-weight: var(--mj-font-semibold, 600);\n color: var(--mj-brand-primary, #0076b6);\n background: var(--mj-status-info-bg, rgba(0, 118, 182, 0.12));\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm, 4px);\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.mjo-sku-badge {\n font-family: var(--mj-font-family-mono, monospace);\n font-size: var(--mj-text-xs, 11.5px);\n font-weight: 500;\n color: var(--mj-text-secondary, #475569);\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.04));\n border: 1px solid var(--mj-border-default, #cbd5e1);\n padding: 1px 7px;\n border-radius: var(--mj-radius-sm, 4px);\n}\n\n.mjo-type-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n font-size: var(--mj-text-xs, 11.5px);\n font-weight: var(--mj-font-semibold, 600);\n color: #0284c7;\n background: rgba(2, 132, 199, 0.12);\n border: 1px solid rgba(2, 132, 199, 0.35);\n padding: 2px 8px;\n border-radius: var(--mj-radius-full, 9999px);\n}\n\n.mjo-status-chip {\n font-size: var(--mj-text-xs, 11.5px);\n font-weight: var(--mj-font-bold, 700);\n padding: 2px 10px;\n border-radius: var(--mj-radius-full, 9999px);\n text-transform: uppercase;\n letter-spacing: 0.03em;\n}\n\n.mjo-status-chip--active {\n background: var(--mj-color-success-100, #dcfce7);\n color: var(--mj-color-success-700, #15803d);\n border: 1px solid var(--mj-color-success-300, #86efac);\n}\n\n.mjo-status-chip--draft {\n background: var(--mj-color-warning-100, #fef3c7);\n color: var(--mj-color-warning-700, #b45309);\n border: 1px solid var(--mj-color-warning-300, #fcd34d);\n}\n\n.mjo-status-chip--inactive {\n background: var(--mj-bg-surface-sunken, #f1f5f9);\n color: var(--mj-text-muted, #64748b);\n border: 1px solid var(--mj-border-default, #cbd5e1);\n}\n\n/* Summary metric strip */\n.mjo-record-summary-bar {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));\n gap: var(--mj-space-3, 12px);\n margin-top: var(--mj-space-3, 14px);\n padding-top: var(--mj-space-3, 14px);\n border-top: 1px solid var(--mj-border-default, #f1f5f9);\n}\n\n.mjo-stat-block {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.mjo-stat-label {\n font-size: var(--mj-text-xs, 10.5px);\n font-weight: var(--mj-font-semibold, 600);\n color: var(--mj-text-muted, #64748b);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n.mjo-stat-val {\n font-size: var(--mj-text-sm, 13.5px);\n font-weight: var(--mj-font-bold, 700);\n font-family: var(--mj-font-family-mono, monospace);\n color: var(--mj-text-primary, #0f172a);\n}\n\n/* \u2500\u2500 2. Two-Column Workspace Layout \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.mjo-workspace-layout {\n display: grid;\n grid-template-columns: 240px 1fr;\n gap: var(--mj-space-4, 16px);\n align-items: start;\n}\n\n/* Left Nav Rail */\n.mjo-product-left-nav {\n background: var(--mj-bg-surface-card, #ffffff);\n border: 1px solid var(--mj-border-default, #e2e8f0);\n border-radius: var(--mj-radius-lg, 10px);\n padding: 8px;\n display: flex;\n flex-direction: column;\n gap: 3px;\n position: sticky;\n top: 16px;\n}\n\n.mjo-nav-group-title {\n font-size: 10px;\n font-weight: var(--mj-font-bold, 700);\n color: var(--mj-text-muted, #64748b);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n padding: 6px 10px 2px;\n}\n\n.mjo-nav-btn {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n border: none;\n border-radius: var(--mj-radius-md, 6px);\n font-family: inherit;\n font-size: var(--mj-text-xs, 12.5px);\n font-weight: var(--mj-font-semibold, 600);\n color: var(--mj-text-secondary, #475569);\n cursor: pointer;\n text-align: left;\n transition: all 0.15s ease;\n box-sizing: border-box;\n}\n\n.mjo-nav-btn:hover {\n background: var(--mj-bg-surface-sunken, #f1f5f9);\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-nav-btn.active {\n background: var(--mj-brand-primary, #0076b6);\n color: #ffffff;\n box-shadow: 0 2px 4px rgba(0, 118, 182, 0.25);\n}\n\n.mjo-nav-btn-left {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-nav-btn-left i {\n width: 16px;\n text-align: center;\n font-size: 13px;\n}\n\n.mjo-nav-badge {\n font-size: 10px;\n font-weight: var(--mj-font-bold, 700);\n padding: 1px 6px;\n border-radius: var(--mj-radius-full, 9999px);\n background: rgba(0, 0, 0, 0.07);\n}\n\n.mjo-nav-btn.active .mjo-nav-badge {\n background: rgba(255, 255, 255, 0.25);\n color: #ffffff;\n}\n\n/* Responsive collapse on smaller screens */\n@media (max-width: 900px) {\n .mjo-workspace-layout {\n grid-template-columns: 1fr;\n }\n\n .mjo-product-left-nav {\n position: static;\n flex-direction: row;\n overflow-x: auto;\n padding: 6px;\n gap: 6px;\n }\n\n .mjo-nav-group-title { display: none; }\n .mjo-nav-btn { width: auto; white-space: nowrap; }\n}\n\n/* \u2500\u2500 3. Content Workspace Widgets & Panes \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.mjo-workspace-content {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-3, 12px);\n}\n\n.mjo-pane-wrap {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-3, 12px);\n}\n\n.mjo-profile-banner {\n background: #f0f9ff;\n border: 1px solid #bae6fd;\n border-radius: var(--mj-radius-md, 8px);\n padding: var(--mj-space-3, 12px) var(--mj-space-4, 16px);\n display: flex;\n align-items: center;\n gap: 12px;\n font-size: var(--mj-text-sm, 12.5px);\n color: #0369a1;\n}\n\n.mjo-widget-card {\n background: var(--mj-bg-surface-card, #ffffff);\n border: 1px solid var(--mj-border-default, #e2e8f0);\n border-radius: var(--mj-radius-lg, 10px);\n padding: var(--mj-space-4, 16px);\n}\n\n.mjo-widget-head {\n font-size: var(--mj-text-sm, 13px);\n font-weight: var(--mj-font-bold, 700);\n color: var(--mj-text-primary, #0f172a);\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: var(--mj-space-3, 12px);\n padding-bottom: var(--mj-space-2, 8px);\n border-bottom: 1px solid var(--mj-border-default, #f1f5f9);\n}\n\n.mjo-fields-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n gap: var(--mj-space-3, 12px);\n}\n"] }]
659
658
  }], null, null); })();
660
659
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BizAppsProductFormComponent, { className: "BizAppsProductFormComponent", filePath: "lib/custom/Product/product-form.component.ts", lineNumber: 42 }); })();
661
660
  /** Tree-shaking prevention anchor function */
@@ -1 +1 @@
1
- {"version":3,"file":"product-form.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/Product/product-form.component.ts","../../../../src/lib/custom/Product/product-form.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-form.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/Product/product-form.component.ts","../../../../src/lib/custom/Product/product-form.component.html"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export class BizAppsProductAccountingWidgetComponent {
11
11
  FormContext;
12
12
  Navigate = new EventEmitter();
13
13
  static ɵfac = function BizAppsProductAccountingWidgetComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BizAppsProductAccountingWidgetComponent)(); };
14
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BizAppsProductAccountingWidgetComponent, selectors: [["bizapps-product-accounting-widget"]], inputs: { Product: "Product", EditMode: "EditMode", FormContext: "FormContext" }, outputs: { Navigate: "Navigate" }, standalone: false, decls: 14, vars: 19, consts: [[1, "mjo-acct-widget-wrap"], [1, "mjo-acct-card"], [1, "mjo-card-head"], [1, "fa-solid", "fa-scale-balanced"], [1, "mjo-card-body"], ["FieldName", "RevenueRecognitionTypeID", "Type", "textbox", "LinkType", "Record", 3, "Navigate", "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "IsTaxable", "Type", "checkbox", 3, "Navigate", "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "TaxCategory", "Type", "textbox", 3, "Navigate", "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "StandaloneSellingPrice", "Type", "number", 3, "Navigate", "Record", "ShowLabel", "EditMode", "FormContext"], [3, "Navigate", "Product", "EditMode", "FormContext"]], template: function BizAppsProductAccountingWidgetComponent_Template(rf, ctx) { if (rf & 1) {
14
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BizAppsProductAccountingWidgetComponent, selectors: [["bizapps-product-accounting-widget"]], inputs: { Product: "Product", EditMode: "EditMode", FormContext: "FormContext" }, outputs: { Navigate: "Navigate" }, standalone: false, decls: 13, vars: 15, consts: [[1, "mjo-acct-widget-wrap"], [1, "mjo-acct-card"], [1, "mjo-card-head"], [1, "fa-solid", "fa-scale-balanced"], [1, "mjo-card-body"], ["FieldName", "RevenueRecognitionTypeID", "Type", "textbox", "LinkType", "Record", 3, "Navigate", "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "IsTaxable", "Type", "checkbox", 3, "Navigate", "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "TaxCategory", "Type", "textbox", 3, "Navigate", "Record", "ShowLabel", "EditMode", "FormContext"], [3, "Navigate", "Product", "EditMode", "FormContext"]], template: function BizAppsProductAccountingWidgetComponent_Template(rf, ctx) { if (rf & 1) {
15
15
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
16
16
  i0.ɵɵelement(3, "i", 3);
17
17
  i0.ɵɵelementStart(4, "span");
@@ -25,12 +25,9 @@ export class BizAppsProductAccountingWidgetComponent {
25
25
  i0.ɵɵelementEnd();
26
26
  i0.ɵɵelementStart(9, "mj-form-field", 7);
27
27
  i0.ɵɵlistener("Navigate", function BizAppsProductAccountingWidgetComponent_Template_mj_form_field_Navigate_9_listener($event) { return ctx.Navigate.emit($event); });
28
- i0.ɵɵelementEnd();
29
- i0.ɵɵelementStart(10, "mj-form-field", 8);
30
- i0.ɵɵlistener("Navigate", function BizAppsProductAccountingWidgetComponent_Template_mj_form_field_Navigate_10_listener($event) { return ctx.Navigate.emit($event); });
31
28
  i0.ɵɵelementEnd()()();
32
- i0.ɵɵelementStart(11, "div", 1)(12, "div", 4)(13, "bizapps-product-gl-links", 9);
33
- i0.ɵɵlistener("Navigate", function BizAppsProductAccountingWidgetComponent_Template_bizapps_product_gl_links_Navigate_13_listener($event) { return ctx.Navigate.emit($event); });
29
+ i0.ɵɵelementStart(10, "div", 1)(11, "div", 4)(12, "bizapps-product-gl-links", 8);
30
+ i0.ɵɵlistener("Navigate", function BizAppsProductAccountingWidgetComponent_Template_bizapps_product_gl_links_Navigate_12_listener($event) { return ctx.Navigate.emit($event); });
34
31
  i0.ɵɵelementEnd()()()();
35
32
  } if (rf & 2) {
36
33
  i0.ɵɵadvance(7);
@@ -39,15 +36,13 @@ export class BizAppsProductAccountingWidgetComponent {
39
36
  i0.ɵɵproperty("Record", ctx.Product)("ShowLabel", true)("EditMode", ctx.EditMode)("FormContext", ctx.FormContext);
40
37
  i0.ɵɵadvance();
41
38
  i0.ɵɵproperty("Record", ctx.Product)("ShowLabel", true)("EditMode", ctx.EditMode)("FormContext", ctx.FormContext);
42
- i0.ɵɵadvance();
43
- i0.ɵɵproperty("Record", ctx.Product)("ShowLabel", true)("EditMode", ctx.EditMode)("FormContext", ctx.FormContext);
44
39
  i0.ɵɵadvance(3);
45
40
  i0.ɵɵproperty("Product", ctx.Product)("EditMode", ctx.EditMode)("FormContext", ctx.FormContext);
46
41
  } }, dependencies: [i1.MjFormFieldComponent, i2.BizAppsProductGLLinksComponent], styles: [".mjo-acct-widget-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4, 16px);\n width: 100%;\n}\n\n.mjo-acct-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n border-radius: var(--mj-radius-lg, 10px);\n overflow: hidden;\n}\n\n.mjo-card-head[_ngcontent-%COMP%] {\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-card-head[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-card-body[_ngcontent-%COMP%] {\n padding: 16px;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n gap: 16px;\n}"] });
47
42
  }
48
43
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BizAppsProductAccountingWidgetComponent, [{
49
44
  type: Component,
50
- args: [{ standalone: false, selector: 'bizapps-product-accounting-widget', template: "<div class=\"mjo-acct-widget-wrap\">\n <div class=\"mjo-acct-card\">\n <div class=\"mjo-card-head\">\n <i class=\"fa-solid fa-scale-balanced\"></i>\n <span>General Ledger &amp; Revenue Recognition Classification</span>\n </div>\n <div class=\"mjo-card-body\">\n <mj-form-field \n [Record]=\"Product\"\n [ShowLabel]=\"true\"\n FieldName=\"RevenueRecognitionTypeID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"FormContext\"\n LinkType=\"Record\"\n (Navigate)=\"Navigate.emit($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"Product\"\n [ShowLabel]=\"true\"\n FieldName=\"IsTaxable\"\n Type=\"checkbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"FormContext\"\n (Navigate)=\"Navigate.emit($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"Product\"\n [ShowLabel]=\"true\"\n FieldName=\"TaxCategory\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"FormContext\"\n (Navigate)=\"Navigate.emit($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"Product\"\n [ShowLabel]=\"true\"\n FieldName=\"StandaloneSellingPrice\"\n Type=\"number\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"FormContext\"\n (Navigate)=\"Navigate.emit($event)\"\n ></mj-form-field>\n </div>\n </div>\n\n <!--\n bizapps-orders#113 \u2014 the GL accounts this product books to.\n\n Andrew expected these HERE, under Accounting, and the section showed only the\n product's own columns. The links live in accounting, but they are polymorphic\n ((EntityID, RecordID)) and accounting must not depend on orders, so its own screen\n cannot even name a product. Rendering them from this side is what makes the pair\n something nobody has to type.\n -->\n <div class=\"mjo-acct-card\">\n <div class=\"mjo-card-body\">\n <bizapps-product-gl-links\n [Product]=\"Product\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"FormContext\"\n (Navigate)=\"Navigate.emit($event)\">\n </bizapps-product-gl-links>\n </div>\n </div>\n</div>\n", styles: [".mjo-acct-widget-wrap {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4, 16px);\n width: 100%;\n}\n\n.mjo-acct-card {\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n border-radius: var(--mj-radius-lg, 10px);\n overflow: hidden;\n}\n\n.mjo-card-head {\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-card-head i {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-card-body {\n padding: 16px;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n gap: 16px;\n}\n"] }]
45
+ args: [{ standalone: false, selector: 'bizapps-product-accounting-widget', template: "<div class=\"mjo-acct-widget-wrap\">\n <div class=\"mjo-acct-card\">\n <div class=\"mjo-card-head\">\n <i class=\"fa-solid fa-scale-balanced\"></i>\n <span>General Ledger &amp; Revenue Recognition Classification</span>\n </div>\n <div class=\"mjo-card-body\">\n <mj-form-field \n [Record]=\"Product\"\n [ShowLabel]=\"true\"\n FieldName=\"RevenueRecognitionTypeID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"FormContext\"\n LinkType=\"Record\"\n (Navigate)=\"Navigate.emit($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"Product\"\n [ShowLabel]=\"true\"\n FieldName=\"IsTaxable\"\n Type=\"checkbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"FormContext\"\n (Navigate)=\"Navigate.emit($event)\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"Product\"\n [ShowLabel]=\"true\"\n FieldName=\"TaxCategory\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"FormContext\"\n (Navigate)=\"Navigate.emit($event)\"\n ></mj-form-field>\n </div>\n </div>\n\n <!--\n bizapps-orders#113 \u2014 the GL accounts this product books to.\n\n Andrew expected these HERE, under Accounting, and the section showed only the\n product's own columns. The links live in accounting, but they are polymorphic\n ((EntityID, RecordID)) and accounting must not depend on orders, so its own screen\n cannot even name a product. Rendering them from this side is what makes the pair\n something nobody has to type.\n -->\n <div class=\"mjo-acct-card\">\n <div class=\"mjo-card-body\">\n <bizapps-product-gl-links\n [Product]=\"Product\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"FormContext\"\n (Navigate)=\"Navigate.emit($event)\">\n </bizapps-product-gl-links>\n </div>\n </div>\n</div>\n", styles: [".mjo-acct-widget-wrap {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4, 16px);\n width: 100%;\n}\n\n.mjo-acct-card {\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n border-radius: var(--mj-radius-lg, 10px);\n overflow: hidden;\n}\n\n.mjo-card-head {\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-card-head i {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-card-body {\n padding: 16px;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n gap: 16px;\n}\n"] }]
51
46
  }], null, { Product: [{
52
47
  type: Input
53
48
  }], EditMode: [{
@@ -1 +1 @@
1
- {"version":3,"file":"product-accounting-widget.component.js","sourceRoot":"","sources":["../../../../../src/lib/custom/Product/widgets/product-accounting-widget.component.ts","../../../../../src/lib/custom/Product/widgets/product-accounting-widget.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;;;AAIvE;;GAEG;AAOH,MAAM,OAAO,uCAAuC;IAChC,OAAO,CAAgC;IACvC,QAAQ,GAAG,KAAK,CAAC;IACjB,WAAW,CAAe;IAEzB,QAAQ,GAAG,IAAI,YAAY,EAAuB,CAAC;iIAL3D,uCAAuC;6DAAvC,uCAAuC;YCX5C,AADJ,AADJ,8BAAkC,aACH,aACI;YACvB,uBAA0C;YAC1C,4BAAM;YAAA,mEAAuD;YACjE,AADiE,iBAAO,EAClE;YAEF,AADJ,8BAA2B,uBAUtB;YADG,uIAAY,yBAAqB,IAAC;YACrC,iBAAgB;YACjB,wCAQC;YADG,uIAAY,yBAAqB,IAAC;YACrC,iBAAgB;YACjB,wCAQC;YADG,uIAAY,yBAAqB,IAAC;YACrC,iBAAgB;YACjB,yCAQC;YADG,wIAAY,yBAAqB,IAAC;YAG9C,AADI,AADK,iBAAgB,EACf,EACJ;YAaE,AADJ,AADJ,+BAA2B,cACI,mCAKgB;YAAnC,mJAAY,yBAAqB,IAAC;YAIlD,AADI,AADI,AADI,iBAA2B,EACzB,EACJ,EACJ;;YA1DU,eAAkB;YAKlB,AADA,AAHA,AADA,oCAAkB,mBACA,0BAGG,gCACM;YAK3B,cAAkB;YAKlB,AADA,AAHA,AADA,oCAAkB,mBACA,0BAGG,gCACM;YAI3B,cAAkB;YAKlB,AADA,AAHA,AADA,oCAAkB,mBACA,0BAGG,gCACM;YAI3B,cAAkB;YAKlB,AADA,AAHA,AADA,oCAAkB,mBACA,0BAGG,gCACM;YAkB3B,eAAmB;YAEnB,AADA,AADA,qCAAmB,0BACE,gCACM;;;iFDhD9B,uCAAuC;cANnD,SAAS;6BACM,KAAK,YACP,mCAAmC;;kBAK5C,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,MAAM;;kFALE,uCAAuC"}
1
+ {"version":3,"file":"product-accounting-widget.component.js","sourceRoot":"","sources":["../../../../../src/lib/custom/Product/widgets/product-accounting-widget.component.ts","../../../../../src/lib/custom/Product/widgets/product-accounting-widget.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;;;AAIvE;;GAEG;AAOH,MAAM,OAAO,uCAAuC;IAChC,OAAO,CAAgC;IACvC,QAAQ,GAAG,KAAK,CAAC;IACjB,WAAW,CAAe;IAEzB,QAAQ,GAAG,IAAI,YAAY,EAAuB,CAAC;iIAL3D,uCAAuC;6DAAvC,uCAAuC;YCX5C,AADJ,AADJ,8BAAkC,aACH,aACI;YACvB,uBAA0C;YAC1C,4BAAM;YAAA,mEAAuD;YACjE,AADiE,iBAAO,EAClE;YAEF,AADJ,8BAA2B,uBAUtB;YADG,uIAAY,yBAAqB,IAAC;YACrC,iBAAgB;YACjB,wCAQC;YADG,uIAAY,yBAAqB,IAAC;YACrC,iBAAgB;YACjB,wCAQC;YADG,uIAAY,yBAAqB,IAAC;YAG9C,AADI,AADK,iBAAgB,EACf,EACJ;YAaE,AADJ,AADJ,+BAA2B,cACI,mCAKgB;YAAnC,mJAAY,yBAAqB,IAAC;YAIlD,AADI,AADI,AADI,iBAA2B,EACzB,EACJ,EACJ;;YAjDU,eAAkB;YAKlB,AADA,AAHA,AADA,oCAAkB,mBACA,0BAGG,gCACM;YAK3B,cAAkB;YAKlB,AADA,AAHA,AADA,oCAAkB,mBACA,0BAGG,gCACM;YAI3B,cAAkB;YAKlB,AADA,AAHA,AADA,oCAAkB,mBACA,0BAGG,gCACM;YAkB3B,eAAmB;YAEnB,AADA,AADA,qCAAmB,0BACE,gCACM;;;iFDvC9B,uCAAuC;cANnD,SAAS;6BACM,KAAK,YACP,mCAAmC;;kBAK5C,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,MAAM;;kFALE,uCAAuC"}
@@ -1,7 +1,10 @@
1
1
  import { EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { type CompositeFilterDescriptor, type FilterFieldInfo } from '@memberjunction/ng-filter-builder';
3
+ import { CdkDragDrop } from '@angular/cdk/drag-drop';
2
4
  import type { FormContext, FormNavigationEvent } from '@memberjunction/ng-base-forms';
3
5
  import type { RunViewParams } from '@memberjunction/core';
4
- import type { mjBizAppsOrdersProductEntity, mjBizAppsOrdersProductPriceEntity } from '@mj-biz-apps/orders-entities';
6
+ import type { mjBizAppsOrdersProductEntity } from '@mj-biz-apps/orders-entities';
7
+ import { ProductPriceEntity } from '@mj-biz-apps/orders-entities';
5
8
  import * as i0 from "@angular/core";
6
9
  export interface PriceChannel {
7
10
  ID: string | null;
@@ -11,7 +14,7 @@ export interface PriceChannel {
11
14
  DiscountDescription?: string;
12
15
  }
13
16
  export interface LadderTierRow {
14
- Record: mjBizAppsOrdersProductPriceEntity;
17
+ Record: ProductPriceEntity;
15
18
  ID: string;
16
19
  TierNumber: number;
17
20
  BracketLabel: string;
@@ -37,6 +40,15 @@ export interface WidgetToast {
37
40
  Message: string;
38
41
  Icon: string;
39
42
  }
43
+ export interface PriceCard {
44
+ ID: string;
45
+ Name: string;
46
+ Amount: number;
47
+ Inherited: boolean;
48
+ SourceLabel: string;
49
+ WhenText: string;
50
+ Record: ProductPriceEntity;
51
+ }
40
52
  /**
41
53
  * World-Class Product Pricing Matrix & Volume Ladder Widget (Option 1).
42
54
  *
@@ -50,18 +62,34 @@ export declare class BizAppsProductPricingWidgetComponent implements OnInit, OnC
50
62
  FormContext?: FormContext;
51
63
  Navigate: EventEmitter<FormNavigationEvent>;
52
64
  PriceChanged: EventEmitter<void>;
53
- TierAdded: EventEmitter<mjBizAppsOrdersProductPriceEntity>;
65
+ TierAdded: EventEmitter<ProductPriceEntity>;
54
66
  private cdr?;
55
67
  private navService?;
56
68
  constructor();
57
69
  IsLoading: boolean;
58
70
  IsSaving: boolean;
59
71
  IsAdvancedGridView: boolean;
72
+ QuoteDrawerOpen: boolean;
73
+ ExpandedPriceID: string | null;
74
+ SelectedPriceID: string | null;
75
+ WhenEditorPriceID: string | null;
76
+ AdvancedEditingID: string | null;
77
+ WhenFilter: CompositeFilterDescriptor | null;
78
+ WhenFields: FilterFieldInfo[];
79
+ NewPriceName: string;
80
+ NewPriceAmount: number;
81
+ QuoteOrgType: string;
82
+ QuoteResult: {
83
+ AmountText: string;
84
+ Why: string;
85
+ Skipped: string;
86
+ };
87
+ InheritedRecords: ProductPriceEntity[];
60
88
  ActiveToast: WidgetToast | null;
61
89
  private toastTimer?;
62
90
  Channels: PriceChannel[];
63
91
  SelectedChannelID: string | null;
64
- AllPriceRecords: mjBizAppsOrdersProductPriceEntity[];
92
+ AllPriceRecords: ProductPriceEntity[];
65
93
  LadderTiers: LadderTierRow[];
66
94
  StepBars: StepCurveBar[];
67
95
  NewTierMin: number;
@@ -80,9 +108,24 @@ export declare class BizAppsProductPricingWidgetComponent implements OnInit, OnC
80
108
  ngOnChanges(changes: SimpleChanges): void;
81
109
  get BaseListPrice(): number;
82
110
  get FormattedBasePrice(): string;
111
+ /** Price-list tabs only when a real list exists. One "Base / Direct List" tab is leftover chrome. */
112
+ get ShowChannelBar(): boolean;
113
+ get PricesForChannel(): ProductPriceEntity[];
114
+ get VisiblePrices(): PriceCard[];
115
+ PriceCanExpand(row: PriceCard): boolean;
116
+ PriceDisplayName(p: ProductPriceEntity): string;
117
+ HasWhen(p: ProductPriceEntity): boolean;
118
+ WhenSentence(p: ProductPriceEntity): string;
119
+ private whenPart;
120
+ private whenFieldLabel;
121
+ OpenPriceRecord(p: ProductPriceEntity, event?: Event): void;
122
+ CloseQuote(): void;
123
+ TogglePrice(row: PriceCard): void;
124
+ OnPriceDrop(event: CdkDragDrop<PriceCard[]>): Promise<void>;
83
125
  get ProductPricesViewParams(): RunViewParams | null;
84
126
  get NewPriceRecordValues(): Record<string, unknown>;
85
127
  LoadPricingData(): Promise<void>;
128
+ private countPricesOnChannel;
86
129
  private buildChannelsList;
87
130
  SelectChannel(channelId: string | null): void;
88
131
  ToggleAdvancedView(): void;
@@ -97,6 +140,28 @@ export declare class BizAppsProductPricingWidgetComponent implements OnInit, OnC
97
140
  DismissToast(): void;
98
141
  private extractErrorMessage;
99
142
  FormatCurrency(val: number): string;
143
+ /** Qty bands, end date, non-standard fee, recurrence — not a default List/Base row. */
144
+ HasAdvanced(p: ProductPriceEntity | null | undefined): boolean;
145
+ OpenAdvanced(id: string, event?: Event): void;
146
+ CloseWhenEditor(): void;
147
+ OpenWhenEditor(row: PriceCard): void;
148
+ OnWhenFilterChange(filter: CompositeFilterDescriptor): void;
149
+ private parseWhenFilter;
150
+ private buildWhenFields;
151
+ private filterTypeFor;
152
+ SaveWhen(row: PriceCard): Promise<void>;
153
+ ClearWhen(row: PriceCard): Promise<void>;
154
+ private syncFromCollection;
155
+ private ensurePricesLoaded;
156
+ /** One graph save — Product + Prices — same as Order.Lines. Never child.Save(). */
157
+ private saveProductGraph;
158
+ private nextPriorityOnChannel;
159
+ SavePrice(p: ProductPriceEntity): Promise<void>;
160
+ AddPrice(): Promise<void>;
161
+ OverrideInherited(row: PriceCard): Promise<void>;
162
+ OpenQuote(): void;
163
+ RunQuote(): void;
164
+ private loadInheritedPrices;
100
165
  static ɵfac: i0.ɵɵFactoryDeclaration<BizAppsProductPricingWidgetComponent, never>;
101
166
  static ɵcmp: i0.ɵɵComponentDeclaration<BizAppsProductPricingWidgetComponent, "bizapps-product-pricing-widget", never, { "Product": { "alias": "Product"; "required": false; }; "EditMode": { "alias": "EditMode"; "required": false; }; "FormContext": { "alias": "FormContext"; "required": false; }; }, { "Navigate": "Navigate"; "PriceChanged": "PriceChanged"; "TierAdded": "TierAdded"; }, never, never, false, never>;
102
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"product-pricing-widget.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/custom/Product/widgets/product-pricing-widget.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-pricing-widget.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/custom/Product/widgets/product-pricing-widget.component.ts"],"names":[],"mappings":"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"}