techlify-inventory-common 18.36.0 → 18.37.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 (114) hide show
  1. package/esm2022/lib/inventory-common/inventory-common-routing.module.mjs +2 -2
  2. package/esm2022/lib/inventory-common/product/product-list/product-list.component.mjs +15 -17
  3. package/esm2022/lib/inventory-common/product/product-quick-search/product-quick-search.component.mjs +17 -36
  4. package/esm2022/lib/inventory-common/product/product-view-page/product-view-page.component.mjs +8 -8
  5. package/esm2022/lib/inventory-common/product/product.module.mjs +10 -10
  6. package/esm2022/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.mjs +3 -3
  7. package/esm2022/lib/inventory-common/stock-issue/stock-issue-form/stock-issue-form.component.mjs +165 -0
  8. package/esm2022/lib/inventory-common/stock-issue/stock-issue-import-page/stock-issue-import-page.component.mjs +59 -0
  9. package/esm2022/lib/inventory-common/stock-issue/stock-issue-list/stock-issue-list.component.mjs +140 -0
  10. package/esm2022/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.component.mjs +96 -0
  11. package/esm2022/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.module.mjs +87 -0
  12. package/esm2022/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.mjs +35 -0
  13. package/esm2022/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product-form/stock-issue-product-form.component.mjs +1 -1
  14. package/esm2022/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product.service.mjs +1 -1
  15. package/esm2022/lib/inventory-common/stock-issue/stock-issue-products-list/stock-issue-products-list.component.mjs +138 -0
  16. package/esm2022/lib/inventory-common/stock-issue/stock-issue-routing.module.mjs +46 -0
  17. package/esm2022/lib/inventory-common/stock-issue/stock-issue-simple-form/stock-issue-form-button/stock-issue-form-button.component.mjs +48 -0
  18. package/esm2022/lib/inventory-common/stock-issue/stock-issue-simple-form/stock-issue-form.module.mjs +43 -0
  19. package/esm2022/lib/inventory-common/stock-issue/stock-issue-simple-form/stock-issue-simple-form/stock-issue-simple-form.component.mjs +201 -0
  20. package/esm2022/lib/inventory-common/stock-issue/stock-issue-view/stock-issue-view.component.mjs +66 -0
  21. package/esm2022/lib/inventory-common/stock-issue/stock-issue.module.mjs +51 -0
  22. package/esm2022/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue.service.mjs +1 -1
  23. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.component.mjs +221 -0
  24. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-list/stock-receipt-list.component.mjs +153 -0
  25. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-list/stock-receipt-product-list.component.mjs +146 -0
  26. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-form-button/stock-receipt-form-button.component.mjs +42 -0
  27. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-simple-form/stock-receipt-simple-form.component.mjs +180 -0
  28. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-simple-form.module.mjs +51 -0
  29. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.mjs +4 -5
  30. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-page/stock-receipts-page.component.mjs +70 -0
  31. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-routing.module.mjs +8 -8
  32. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts.module.mjs +20 -25
  33. package/esm2022/lib/inventory-common/supplier/supplier-view/supplier-view.component.mjs +4 -4
  34. package/esm2022/lib/inventory-common/supplier/supplier.module.mjs +8 -9
  35. package/esm2022/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.mjs +3 -4
  36. package/esm2022/public-api.mjs +16 -17
  37. package/fesm2022/{techlify-inventory-common-category.module-CUqub2ML.mjs → techlify-inventory-common-category.module-CJbYoRGj.mjs} +4 -4
  38. package/fesm2022/{techlify-inventory-common-category.module-CUqub2ML.mjs.map → techlify-inventory-common-category.module-CJbYoRGj.mjs.map} +1 -1
  39. package/fesm2022/{techlify-inventory-common-measure.module-CIonhS7Z.mjs → techlify-inventory-common-measure.module-D8oqfZTV.mjs} +4 -4
  40. package/fesm2022/{techlify-inventory-common-measure.module-CIonhS7Z.mjs.map → techlify-inventory-common-measure.module-D8oqfZTV.mjs.map} +1 -1
  41. package/fesm2022/{techlify-inventory-common-purchase-order-view.component-5zmdBnE-.mjs → techlify-inventory-common-purchase-order-view.component-BDuk0Xek.mjs} +4 -4
  42. package/fesm2022/{techlify-inventory-common-purchase-order-view.component-5zmdBnE-.mjs.map → techlify-inventory-common-purchase-order-view.component-BDuk0Xek.mjs.map} +1 -1
  43. package/fesm2022/techlify-inventory-common-stock-issue-form.component-B0-TBlZL.mjs +164 -0
  44. package/fesm2022/techlify-inventory-common-stock-issue-form.component-B0-TBlZL.mjs.map +1 -0
  45. package/fesm2022/techlify-inventory-common-stock-issue-view.component-DJIQ6dVF.mjs +66 -0
  46. package/fesm2022/techlify-inventory-common-stock-issue-view.component-DJIQ6dVF.mjs.map +1 -0
  47. package/fesm2022/{techlify-inventory-common-techlify-inventory-common-DVM9NowZ.mjs → techlify-inventory-common-techlify-inventory-common-CQSzjNhk.mjs} +1700 -1857
  48. package/fesm2022/techlify-inventory-common-techlify-inventory-common-CQSzjNhk.mjs.map +1 -0
  49. package/fesm2022/techlify-inventory-common.mjs +1 -1
  50. package/lib/inventory-common/product/product-view-page/product-view-page.component.d.ts +4 -4
  51. package/lib/inventory-common/product/product.module.d.ts +4 -4
  52. package/lib/inventory-common/{stock-issuances/stock-issue-batch-form/stock-issue-batch-form.component.d.ts → stock-issue/stock-issue-form/stock-issue-form.component.d.ts} +6 -4
  53. package/lib/inventory-common/{stock-issuances/grouped-stock-issue-list/grouped-stock-issue-list.component.d.ts → stock-issue/stock-issue-list/stock-issue-list.component.d.ts} +3 -3
  54. package/lib/inventory-common/{stock-issuances/stock-issue-list/stock-issue-list.component.d.ts → stock-issue/stock-issue-page/stock-issue-page.component.d.ts} +3 -3
  55. package/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.module.d.ts +20 -0
  56. package/lib/inventory-common/{stock-issuances/itemized-stock-issue-products-list/itemized-stock-issue-products-list.component.d.ts → stock-issue/stock-issue-products-list/stock-issue-products-list.component.d.ts} +3 -3
  57. package/lib/inventory-common/{stock-issuances/stock-issue-form → stock-issue/stock-issue-simple-form}/stock-issue-form.module.d.ts +2 -2
  58. package/lib/inventory-common/{stock-issuances/stock-issue-form/stock-issue-form/stock-issue-form.component.d.ts → stock-issue/stock-issue-simple-form/stock-issue-simple-form/stock-issue-simple-form.component.d.ts} +3 -3
  59. package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-view/stock-issue-view.component.d.ts +1 -1
  60. package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue.module.d.ts +4 -4
  61. package/lib/inventory-common/stock-receipts/{stock-receipt-batch-form/stock-receipt-batch-form.component.d.ts → stock-receipt-form/stock-receipt-form.component.d.ts} +6 -4
  62. package/lib/inventory-common/stock-receipts/{grouped-stock-receipt-list/grouped-stock-receipt-list.component.d.ts → stock-receipt-list/stock-receipt-list.component.d.ts} +3 -3
  63. package/lib/inventory-common/stock-receipts/{itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component.d.ts → stock-receipt-product-list/stock-receipt-product-list.component.d.ts} +3 -3
  64. package/lib/inventory-common/stock-receipts/{stock-receipt-form/stock-receipt-form/stock-receipt-form.component.d.ts → stock-receipt-simple-form/stock-receipt-simple-form/stock-receipt-simple-form.component.d.ts} +1 -1
  65. package/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-simple-form.module.d.ts +15 -0
  66. package/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.d.ts +2 -2
  67. package/lib/inventory-common/stock-receipts/{stock-receipts-list-page/stock-receipts-list-page.component.d.ts → stock-receipts-page/stock-receipts-page.component.d.ts} +3 -3
  68. package/lib/inventory-common/stock-receipts/stock-receipts.module.d.ts +18 -19
  69. package/lib/inventory-common/supplier/supplier.module.d.ts +6 -7
  70. package/package.json +5 -2
  71. package/public-api.d.ts +15 -16
  72. package/esm2022/lib/inventory-common/stock-issuances/grouped-stock-issue-list/grouped-stock-issue-list.component.mjs +0 -139
  73. package/esm2022/lib/inventory-common/stock-issuances/itemized-stock-issue-products-list/itemized-stock-issue-products-list.component.mjs +0 -138
  74. package/esm2022/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.component.mjs +0 -47
  75. package/esm2022/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.module.mjs +0 -19
  76. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-batch-form/stock-issue-batch-form.component.mjs +0 -163
  77. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form/stock-issue-form.component.mjs +0 -201
  78. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form-button/stock-issue-form-button.component.mjs +0 -48
  79. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form.module.mjs +0 -43
  80. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-import-page/stock-issue-import-page.component.mjs +0 -59
  81. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.component.mjs +0 -96
  82. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.module.mjs +0 -91
  83. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.mjs +0 -35
  84. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-routing.module.mjs +0 -46
  85. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-view/stock-issue-view.component.mjs +0 -68
  86. package/esm2022/lib/inventory-common/stock-issuances/stock-issue.module.mjs +0 -51
  87. package/esm2022/lib/inventory-common/stock-receipts/grouped-stock-receipt-list/grouped-stock-receipt-list.component.mjs +0 -151
  88. package/esm2022/lib/inventory-common/stock-receipts/itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component.mjs +0 -146
  89. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-batch-form/stock-receipt-batch-form.component.mjs +0 -208
  90. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-delete-button/stock-receipt-delete-button.component.mjs +0 -47
  91. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form/stock-receipt-form.component.mjs +0 -180
  92. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form-button/stock-receipt-form-button.component.mjs +0 -42
  93. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.module.mjs +0 -51
  94. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-list-page/stock-receipts-list-page.component.mjs +0 -70
  95. package/esm2022/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.mjs +0 -64
  96. package/fesm2022/techlify-inventory-common-stock-issue-batch-form.component-CnRySjgj.mjs +0 -162
  97. package/fesm2022/techlify-inventory-common-stock-issue-batch-form.component-CnRySjgj.mjs.map +0 -1
  98. package/fesm2022/techlify-inventory-common-stock-issue-view.component-D1sTvEWD.mjs +0 -66
  99. package/fesm2022/techlify-inventory-common-stock-issue-view.component-D1sTvEWD.mjs.map +0 -1
  100. package/fesm2022/techlify-inventory-common-techlify-inventory-common-DVM9NowZ.mjs.map +0 -1
  101. package/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.component.d.ts +0 -18
  102. package/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.module.d.ts +0 -9
  103. package/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.module.d.ts +0 -21
  104. package/lib/inventory-common/stock-receipts/stock-receipt-delete-button/stock-receipt-delete-button.component.d.ts +0 -18
  105. package/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.module.d.ts +0 -15
  106. package/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.d.ts +0 -18
  107. /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-import-page/stock-issue-import-page.component.d.ts +0 -0
  108. /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.d.ts +0 -0
  109. /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product-form/stock-issue-product-form.component.d.ts +0 -0
  110. /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product.service.d.ts +0 -0
  111. /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-routing.module.d.ts +0 -0
  112. /package/lib/inventory-common/{stock-issuances/stock-issue-form → stock-issue/stock-issue-simple-form}/stock-issue-form-button/stock-issue-form-button.component.d.ts +0 -0
  113. /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue.service.d.ts +0 -0
  114. /package/lib/inventory-common/stock-receipts/{stock-receipt-form → stock-receipt-simple-form}/stock-receipt-form-button/stock-receipt-form-button.component.d.ts +0 -0
@@ -1,26 +1,24 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { InfiniteScrollDirective } from 'ngx-infinite-scroll';
3
- import { MatCard, MatCardContent } from '@angular/material/card';
4
- import { MatCell, MatCellDef, MatColumnDef, MatHeaderCell, MatHeaderCellDef, MatHeaderRow, MatHeaderRowDef, MatRow, MatRowDef, MatTable, } from '@angular/material/table';
5
- import { TechlifyListingControllerInterface } from 'ngx-techlify-core';
3
+ import { TechlifyIconModule, TechlifyListingControllerInterface } from 'ngx-techlify-core';
6
4
  import { RouterLink, RouterLinkActive } from '@angular/router';
7
- import { MatProgressBar } from '@angular/material/progress-bar';
8
5
  import { NgForOf, NgIf } from '@angular/common';
9
- import { MatFormField, MatLabel } from '@angular/material/form-field';
10
- import { MatInput } from '@angular/material/input';
11
6
  import { FormControl, ReactiveFormsModule } from '@angular/forms';
12
7
  import { debounceTime } from 'rxjs';
13
- import { MatSortHeader } from '@angular/material/sort';
14
- import { MatIcon } from '@angular/material/icon';
15
- import { MatTooltip } from '@angular/material/tooltip';
16
8
  import { ProductModule } from '../product.module';
17
- import { StockReceiptFormModule } from '../../stock-receipts/stock-receipt-form/stock-receipt-form.module';
18
- import { StockIssueFormModule } from '../../stock-issuances/stock-issue-form/stock-issue-form.module';
9
+ import { StockReceiptSimpleFormModule } from '../../stock-receipts/stock-receipt-simple-form/stock-receipt-simple-form.module';
10
+ import { StockIssueFormModule } from '../../stock-issue/stock-issue-simple-form/stock-issue-form.module';
11
+ import { MaterialModule } from '../../material.module';
19
12
  import * as i0 from "@angular/core";
20
13
  import * as i1 from "../product.service";
21
14
  import * as i2 from "@angular/forms";
22
- import * as i3 from "../../stock-receipts/stock-receipt-form/stock-receipt-form-button/stock-receipt-form-button.component";
23
- import * as i4 from "../../stock-issuances/stock-issue-form/stock-issue-form-button/stock-issue-form-button.component";
15
+ import * as i3 from "@angular/material/card";
16
+ import * as i4 from "@angular/material/form-field";
17
+ import * as i5 from "@angular/material/icon";
18
+ import * as i6 from "@angular/material/input";
19
+ import * as i7 from "@angular/material/progress-bar";
20
+ import * as i8 from "@angular/material/table";
21
+ import * as i9 from "@angular/material/tooltip";
24
22
  export class ProductQuickSearchComponent extends TechlifyListingControllerInterface {
25
23
  productService;
26
24
  displayedColumns = ['#', 'Product', 'SKU', 'On Hand', 'Actions'];
@@ -54,39 +52,22 @@ export class ProductQuickSearchComponent extends TechlifyListingControllerInterf
54
52
  });
55
53
  }
56
54
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductQuickSearchComponent, deps: [{ token: i1.ProductService }], target: i0.ɵɵFactoryTarget.Component });
57
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProductQuickSearchComponent, isStandalone: true, selector: "app-product-quick-search", usesInheritance: true, ngImport: i0, template: "<mat-card style=\"max-height: 460px; overflow: auto\">\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-3\">\n <h3>Products Quick Search</h3>\n\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput placeholder=\"Search products\" [formControl]=\"searchControl\" />\n </mat-form-field>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 }}</td>\n </ng-container>\n\n <!-- Product Column -->\n <ng-container matColumnDef=\"Product\">\n <th mat-header-cell *matHeaderCellDef>Product</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex flex-column\">\n <a [routerLink]=\"['/inventory/products', element?.id, 'view']\" class=\"text-dark\">\n {{ element?.name }}\n </a>\n\n <div *ngIf=\"element?.categories?.length > 0\"\n class=\"d-flex justify-content-start align-items-center gap-1 flex-wrap\">\n <span class=\"badge bg-secondary\" *ngFor=\"let category of element?.categories\">\n {{ category?.title }}\n </span>\n </div>\n </div>\n </td>\n </ng-container>\n\n <!-- SKU Column -->\n <ng-container matColumnDef=\"SKU\">\n <th mat-header-cell *matHeaderCellDef>SKU</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.sku }}</td>\n </ng-container>\n\n <!-- On Hand Column -->\n <ng-container matColumnDef=\"On Hand\">\n <th mat-header-cell *matHeaderCellDef>On Hand</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.stock_on_hand }}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"text-secondary d-flex gap-1\">\n <mat-icon class=\"cursor-pointer\" matTooltip=\"View\"\n [routerLink]=\"['/inventory/products', element.id, 'view']\" routerLinkActive=\"route-link-active\">\n remove_red_eye\n </mat-icon>\n\n <app-stock-receipt-form-button [product]=\"element\" (saved)=\"reload()\"></app-stock-receipt-form-button>\n\n <app-stock-issue-form-button [product]=\"element\" (saved)=\"reload()\"></app-stock-issue-form-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n", styles: [""], dependencies: [{ kind: "directive", type: InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: ProductModule }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: StockReceiptFormModule }, { kind: "component", type: i3.StockReceiptFormButtonComponent, selector: "app-stock-receipt-form-button", inputs: ["product", "stockReceipt", "latestLocationId", "icon"], outputs: ["saved"] }, { kind: "ngmodule", type: StockIssueFormModule }, { kind: "component", type: i4.StockIssueFormButtonComponent, selector: "app-stock-issue-form-button", inputs: ["product", "stockIssueProduct", "stockIssue", "icon", "issuableType", "issuableId"], outputs: ["saved"] }], preserveWhitespaces: true });
55
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProductQuickSearchComponent, isStandalone: true, selector: "app-product-quick-search", usesInheritance: true, ngImport: i0, template: "<mat-card style=\"max-height: 460px; overflow: auto\">\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-3\">\n <h3>Products Quick Search</h3>\n\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput placeholder=\"Search products\" [formControl]=\"searchControl\" />\n </mat-form-field>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 }}</td>\n </ng-container>\n\n <!-- Product Column -->\n <ng-container matColumnDef=\"Product\">\n <th mat-header-cell *matHeaderCellDef>Product</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex flex-column\">\n <a [routerLink]=\"['/inventory/products', element?.id, 'view']\" class=\"text-dark\">\n {{ element?.name }}\n </a>\n\n <div *ngIf=\"element?.categories?.length > 0\"\n class=\"d-flex justify-content-start align-items-center gap-1 flex-wrap\">\n <span class=\"badge bg-secondary\" *ngFor=\"let category of element?.categories\">\n {{ category?.title }}\n </span>\n </div>\n </div>\n </td>\n </ng-container>\n\n <!-- SKU Column -->\n <ng-container matColumnDef=\"SKU\">\n <th mat-header-cell *matHeaderCellDef>SKU</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.sku }}</td>\n </ng-container>\n\n <!-- On Hand Column -->\n <ng-container matColumnDef=\"On Hand\">\n <th mat-header-cell *matHeaderCellDef>On Hand</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.stock_on_hand }}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"text-secondary d-flex gap-2 align-items-center\">\n <mat-icon class=\"cursor-pointer\" matTooltip=\"View\"\n [routerLink]=\"['/inventory/products', element.id, 'view']\" routerLinkActive=\"route-link-active\">\n remove_red_eye\n </mat-icon>\n\n\n <i class=\"fa-solid fa-arrows-down-to-line\" role='button' matTooltip=\"Receive Stock\"\n [routerLink]=\"['/inventory/stock-receipts/form']\"></i>\n <i class=\"fa-solid fa-arrow-up-from-bracket\" role='button' matTooltip=\"Issue Stock\"\n [routerLink]=\"['/inventory/stock-issues/form']\"></i>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>", styles: [""], dependencies: [{ kind: "directive", type: InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ProductModule }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: StockReceiptSimpleFormModule }, { kind: "ngmodule", type: StockIssueFormModule }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: TechlifyIconModule }], preserveWhitespaces: true });
58
56
  }
59
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductQuickSearchComponent, decorators: [{
60
58
  type: Component,
61
59
  args: [{ selector: 'app-product-quick-search', standalone: true, imports: [
62
60
  InfiniteScrollDirective,
63
- MatCard,
64
- MatCardContent,
65
- MatCell,
66
- MatCellDef,
67
- MatColumnDef,
68
- MatHeaderCell,
69
- MatHeaderRow,
70
- MatTable,
71
- MatHeaderCellDef,
72
61
  RouterLink,
73
- MatHeaderRowDef,
74
- MatRowDef,
75
- MatRow,
76
- MatProgressBar,
77
62
  NgIf,
78
- MatFormField,
79
- MatLabel,
80
- MatInput,
81
63
  ReactiveFormsModule,
82
64
  NgForOf,
83
- MatSortHeader,
84
- MatIcon,
85
- MatTooltip,
86
65
  ProductModule,
87
66
  RouterLinkActive,
88
- StockReceiptFormModule,
67
+ StockReceiptSimpleFormModule,
89
68
  StockIssueFormModule,
90
- ], template: "<mat-card style=\"max-height: 460px; overflow: auto\">\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-3\">\n <h3>Products Quick Search</h3>\n\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput placeholder=\"Search products\" [formControl]=\"searchControl\" />\n </mat-form-field>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 }}</td>\n </ng-container>\n\n <!-- Product Column -->\n <ng-container matColumnDef=\"Product\">\n <th mat-header-cell *matHeaderCellDef>Product</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex flex-column\">\n <a [routerLink]=\"['/inventory/products', element?.id, 'view']\" class=\"text-dark\">\n {{ element?.name }}\n </a>\n\n <div *ngIf=\"element?.categories?.length > 0\"\n class=\"d-flex justify-content-start align-items-center gap-1 flex-wrap\">\n <span class=\"badge bg-secondary\" *ngFor=\"let category of element?.categories\">\n {{ category?.title }}\n </span>\n </div>\n </div>\n </td>\n </ng-container>\n\n <!-- SKU Column -->\n <ng-container matColumnDef=\"SKU\">\n <th mat-header-cell *matHeaderCellDef>SKU</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.sku }}</td>\n </ng-container>\n\n <!-- On Hand Column -->\n <ng-container matColumnDef=\"On Hand\">\n <th mat-header-cell *matHeaderCellDef>On Hand</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.stock_on_hand }}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"text-secondary d-flex gap-1\">\n <mat-icon class=\"cursor-pointer\" matTooltip=\"View\"\n [routerLink]=\"['/inventory/products', element.id, 'view']\" routerLinkActive=\"route-link-active\">\n remove_red_eye\n </mat-icon>\n\n <app-stock-receipt-form-button [product]=\"element\" (saved)=\"reload()\"></app-stock-receipt-form-button>\n\n <app-stock-issue-form-button [product]=\"element\" (saved)=\"reload()\"></app-stock-issue-form-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n" }]
69
+ MaterialModule,
70
+ TechlifyIconModule
71
+ ], template: "<mat-card style=\"max-height: 460px; overflow: auto\">\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-3\">\n <h3>Products Quick Search</h3>\n\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput placeholder=\"Search products\" [formControl]=\"searchControl\" />\n </mat-form-field>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 }}</td>\n </ng-container>\n\n <!-- Product Column -->\n <ng-container matColumnDef=\"Product\">\n <th mat-header-cell *matHeaderCellDef>Product</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex flex-column\">\n <a [routerLink]=\"['/inventory/products', element?.id, 'view']\" class=\"text-dark\">\n {{ element?.name }}\n </a>\n\n <div *ngIf=\"element?.categories?.length > 0\"\n class=\"d-flex justify-content-start align-items-center gap-1 flex-wrap\">\n <span class=\"badge bg-secondary\" *ngFor=\"let category of element?.categories\">\n {{ category?.title }}\n </span>\n </div>\n </div>\n </td>\n </ng-container>\n\n <!-- SKU Column -->\n <ng-container matColumnDef=\"SKU\">\n <th mat-header-cell *matHeaderCellDef>SKU</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.sku }}</td>\n </ng-container>\n\n <!-- On Hand Column -->\n <ng-container matColumnDef=\"On Hand\">\n <th mat-header-cell *matHeaderCellDef>On Hand</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.stock_on_hand }}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"text-secondary d-flex gap-2 align-items-center\">\n <mat-icon class=\"cursor-pointer\" matTooltip=\"View\"\n [routerLink]=\"['/inventory/products', element.id, 'view']\" routerLinkActive=\"route-link-active\">\n remove_red_eye\n </mat-icon>\n\n\n <i class=\"fa-solid fa-arrows-down-to-line\" role='button' matTooltip=\"Receive Stock\"\n [routerLink]=\"['/inventory/stock-receipts/form']\"></i>\n <i class=\"fa-solid fa-arrow-up-from-bracket\" role='button' matTooltip=\"Issue Stock\"\n [routerLink]=\"['/inventory/stock-issues/form']\"></i>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>" }]
91
72
  }], ctorParameters: () => [{ type: i1.ProductService }] });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1xdWljay1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vcHJvZHVjdC9wcm9kdWN0LXF1aWNrLXNlYXJjaC9wcm9kdWN0LXF1aWNrLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3QtcXVpY2stc2VhcmNoL3Byb2R1Y3QtcXVpY2stc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsT0FBTyxFQUNQLFVBQVUsRUFDVixZQUFZLEVBQ1osYUFBYSxFQUNiLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZUFBZSxFQUNmLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxHQUNULE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThC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UCxVQUFVLGdSQUNWLGFBQWEsK0JBQ2IsZ0JBQWdCLDZNQUNoQixzQkFBc0IsK05BQ3RCLG9CQUFvQjs7NEZBS1gsMkJBQTJCO2tCQXBDdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQO3dCQUNQLHVCQUF1Qjt3QkFDdkIsT0FBTzt3QkFDUCxjQUFjO3dCQUNkLE9BQU87d0JBQ1AsVUFBVTt3QkFDVixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixRQUFRO3dCQUNSLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixlQUFlO3dCQUNmLFNBQVM7d0JBQ1QsTUFBTTt3QkFDTixjQUFjO3dCQUNkLElBQUk7d0JBQ0osWUFBWTt3QkFDWixRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsbUJBQW1CO3dCQUNuQixPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLG9CQUFvQjtxQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IE1hdENhcmQsIE1hdENhcmRDb250ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQge1xuICBNYXRDZWxsLFxuICBNYXRDZWxsRGVmLFxuICBNYXRDb2x1bW5EZWYsXG4gIE1hdEhlYWRlckNlbGwsXG4gIE1hdEhlYWRlckNlbGxEZWYsXG4gIE1hdEhlYWRlclJvdyxcbiAgTWF0SGVhZGVyUm93RGVmLFxuICBNYXRSb3csXG4gIE1hdFJvd0RlZixcbiAgTWF0VGFibGUsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IFRlY2hsaWZ5TGlzdGluZ0NvbnRyb2xsZXJJbnRlcmZhY2UgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRMYWJlbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF0U29ydEhlYWRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgUHJvZHVjdE1vZHVsZSB9IGZyb20gJy4uL3Byb2R1Y3QubW9kdWxlJztcbmltcG9ydCB7IFN0b2NrUmVjZWlwdEZvcm1Nb2R1bGUgfSBmcm9tICcuLi8uLi9zdG9jay1yZWNlaXB0cy9zdG9jay1yZWNlaXB0LWZvcm0vc3RvY2stcmVjZWlwdC1mb3JtLm1vZHVsZSc7XG5pbXBvcnQgeyBTdG9ja0lzc3VlRm9ybU1vZHVsZSB9IGZyb20gJy4uLy4uL3N0b2NrLWlzc3VhbmNlcy9zdG9jay1pc3N1ZS1mb3JtL3N0b2NrLWlzc3VlLWZvcm0ubW9kdWxlJztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnLi4vcHJvZHVjdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtcXVpY2stc2VhcmNoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLFxuICAgIE1hdENhcmQsXG4gICAgTWF0Q2FyZENvbnRlbnQsXG4gICAgTWF0Q2VsbCxcbiAgICBNYXRDZWxsRGVmLFxuICAgIE1hdENvbHVtbkRlZixcbiAgICBNYXRIZWFkZXJDZWxsLFxuICAgIE1hdEhlYWRlclJvdyxcbiAgICBNYXRUYWJsZSxcbiAgICBNYXRIZWFkZXJDZWxsRGVmLFxuICAgIFJvdXRlckxpbmssXG4gICAgTWF0SGVhZGVyUm93RGVmLFxuICAgIE1hdFJvd0RlZixcbiAgICBNYXRSb3csXG4gICAgTWF0UHJvZ3Jlc3NCYXIsXG4gICAgTmdJZixcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgTWF0TGFiZWwsXG4gICAgTWF0SW5wdXQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBOZ0Zvck9mLFxuICAgIE1hdFNvcnRIZWFkZXIsXG4gICAgTWF0SWNvbixcbiAgICBNYXRUb29sdGlwLFxuICAgIFByb2R1Y3RNb2R1bGUsXG4gICAgUm91dGVyTGlua0FjdGl2ZSxcbiAgICBTdG9ja1JlY2VpcHRGb3JtTW9kdWxlLFxuICAgIFN0b2NrSXNzdWVGb3JtTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1xdWljay1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1xdWljay1zZWFyY2guY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0UXVpY2tTZWFyY2hDb21wb25lbnQgZXh0ZW5kcyBUZWNobGlmeUxpc3RpbmdDb250cm9sbGVySW50ZXJmYWNlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbJyMnLCAnUHJvZHVjdCcsICdTS1UnLCAnT24gSGFuZCcsICdBY3Rpb25zJ107XG4gIHNlYXJjaENvbnRyb2w6IEZvcm1Db250cm9sPGFueT4gPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvZHVjdFNlcnZpY2U6IFByb2R1Y3RTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmxhc3RQYWdlID0gMDtcbiAgICB0aGlzLnBlclBhZ2UgPSAxMDAwO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuXG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWxvYWQoKSk7XG4gIH1cblxuICBvdmVycmlkZSBsb2FkRGF0YSgpIHtcbiAgICBjb25zdCBwYXJhbXM6IGFueSA9IHtcbiAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgIHBlclBhZ2U6IHRoaXMucGVyUGFnZSxcbiAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlLFxuICAgICAgc29ydF9ieTogJ2NyZWF0ZWRfYXR8ZGVzYycsXG4gICAgICB3aXRoOiAndHlwZSxjYXRlZ29yaWVzJyxcbiAgICB9O1xuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmluZGV4KHBhcmFtcykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubW9kZWxzID0gdGhpcy5tb2RlbHM/LmNvbmNhdChyZXNwb25zZT8uZGF0YSk7XG4gICAgICAgIHRoaXMubGFzdFBhZ2UgPSByZXNwb25zZT8ubGFzdF9wYWdlO1xuICAgICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiAodGhpcy5pc1dvcmtpbmcgPSBmYWxzZSksXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCBzdHlsZT1cIm1heC1oZWlnaHQ6IDQ2MHB4OyBvdmVyZmxvdzogYXV0b1wiPlxuICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICA8aDM+UHJvZHVjdHMgUXVpY2sgU2VhcmNoPC9oMz5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+U2VhcmNoPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIlNlYXJjaCBwcm9kdWN0c1wiIFtmb3JtQ29udHJvbF09XCJzZWFyY2hDb250cm9sXCIgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwicC0wXCI+XG4gICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJtb2RlbHNcIiBjbGFzcz1cInctMTAwXCIgaW5maW5pdGVTY3JvbGwgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMlwiXG4gICAgICBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCI+XG4gICAgICA8IS0tICMgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCIjXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IzwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgaSA9IGluZGV4XCI+e3sgaSArIDEgfX08L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gUHJvZHVjdCBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIlByb2R1Y3RcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5Qcm9kdWN0PC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy9pbnZlbnRvcnkvcHJvZHVjdHMnLCBlbGVtZW50Py5pZCwgJ3ZpZXcnXVwiIGNsYXNzPVwidGV4dC1kYXJrXCI+XG4gICAgICAgICAgICAgIHt7IGVsZW1lbnQ/Lm5hbWUgfX1cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVsZW1lbnQ/LmNhdGVnb3JpZXM/Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xIGZsZXgtd3JhcFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJnLXNlY29uZGFyeVwiICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBlbGVtZW50Py5jYXRlZ29yaWVzXCI+XG4gICAgICAgICAgICAgICAge3sgY2F0ZWdvcnk/LnRpdGxlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gU0tVIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiU0tVXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+U0tVPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj57eyBlbGVtZW50Py5za3UgfX08L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gT24gSGFuZCBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIk9uIEhhbmRcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5PbiBIYW5kPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICB7eyBlbGVtZW50Py5zdG9ja19vbl9oYW5kIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBBY3Rpb25zIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiQWN0aW9uc1wiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkFjdGlvbnM8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeSBkLWZsZXggZ2FwLTFcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgbWF0VG9vbHRpcD1cIlZpZXdcIlxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9pbnZlbnRvcnkvcHJvZHVjdHMnLCBlbGVtZW50LmlkLCAndmlldyddXCIgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlLWxpbmstYWN0aXZlXCI+XG4gICAgICAgICAgICAgIHJlbW92ZV9yZWRfZXllXG4gICAgICAgICAgICA8L21hdC1pY29uPlxuXG4gICAgICAgICAgICA8YXBwLXN0b2NrLXJlY2VpcHQtZm9ybS1idXR0b24gW3Byb2R1Y3RdPVwiZWxlbWVudFwiIChzYXZlZCk9XCJyZWxvYWQoKVwiPjwvYXBwLXN0b2NrLXJlY2VpcHQtZm9ybS1idXR0b24+XG5cbiAgICAgICAgICAgIDxhcHAtc3RvY2staXNzdWUtZm9ybS1idXR0b24gW3Byb2R1Y3RdPVwiZWxlbWVudFwiIChzYXZlZCk9XCJyZWxvYWQoKVwiPjwvYXBwLXN0b2NrLWlzc3VlLWZvcm0tYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgPC90YWJsZT5cblxuICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJpc1dvcmtpbmdcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1xdWljay1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vcHJvZHVjdC9wcm9kdWN0LXF1aWNrLXNlYXJjaC9wcm9kdWN0LXF1aWNrLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3QtcXVpY2stc2VhcmNoL3Byb2R1Y3QtcXVpY2stc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtDQUFrQyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlGQUFpRixDQUFDO0FBQy9ILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFxQnZELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxrQ0FBa0M7SUFJN0Q7SUFIcEIsZ0JBQWdCLEdBQWEsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0UsYUFBYSxHQUFxQixJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV0RCxZQUFvQixjQUE4QjtRQUNoRCxLQUFLLEVBQUUsQ0FBQztRQURVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUVoRCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVoQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFUSxRQUFRO1FBQ2YsTUFBTSxNQUFNLEdBQVE7WUFDbEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUs7WUFDaEMsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixJQUFJLEVBQUUsaUJBQWlCO1NBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDMUMsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsRUFBRSxTQUFTLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQWpDVSwyQkFBMkI7NEZBQTNCLDJCQUEyQiwyR0NoQ3hDLDB0R0E0RVcsMEREM0RQLHVCQUF1QiwwV0FDdkIsVUFBVSxvT0FDVixJQUFJLDRGQUNKLG1CQUFtQiwwa0JBQ25CLE9BQU8sa0hBQ1AsYUFBYSwrQkFDYixnQkFBZ0IsNk1BQ2hCLDRCQUE0Qiw4QkFDNUIsb0JBQW9CLDhCQUNwQixjQUFjLHU0RUFDZCxrQkFBa0I7OzRGQUtULDJCQUEyQjtrQkFuQnZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUDt3QkFDUCx1QkFBdUI7d0JBQ3ZCLFVBQVU7d0JBQ1YsSUFBSTt3QkFDSixtQkFBbUI7d0JBQ25CLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLDRCQUE0Qjt3QkFDNUIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGtCQUFrQjtxQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IFRlY2hsaWZ5SWNvbk1vZHVsZSwgVGVjaGxpZnlMaXN0aW5nQ29udHJvbGxlckludGVyZmFjZSB9IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvZHVjdE1vZHVsZSB9IGZyb20gJy4uL3Byb2R1Y3QubW9kdWxlJztcbmltcG9ydCB7IFN0b2NrUmVjZWlwdFNpbXBsZUZvcm1Nb2R1bGUgfSBmcm9tICcuLi8uLi9zdG9jay1yZWNlaXB0cy9zdG9jay1yZWNlaXB0LXNpbXBsZS1mb3JtL3N0b2NrLXJlY2VpcHQtc2ltcGxlLWZvcm0ubW9kdWxlJztcbmltcG9ydCB7IFN0b2NrSXNzdWVGb3JtTW9kdWxlIH0gZnJvbSAnLi4vLi4vc3RvY2staXNzdWUvc3RvY2staXNzdWUtc2ltcGxlLWZvcm0vc3RvY2staXNzdWUtZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICcuLi9wcm9kdWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdC1xdWljay1zZWFyY2gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUsXG4gICAgUm91dGVyTGluayxcbiAgICBOZ0lmLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTmdGb3JPZixcbiAgICBQcm9kdWN0TW9kdWxlLFxuICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgU3RvY2tSZWNlaXB0U2ltcGxlRm9ybU1vZHVsZSxcbiAgICBTdG9ja0lzc3VlRm9ybU1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBUZWNobGlmeUljb25Nb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtcXVpY2stc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtcXVpY2stc2VhcmNoLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdFF1aWNrU2VhcmNoQ29tcG9uZW50IGV4dGVuZHMgVGVjaGxpZnlMaXN0aW5nQ29udHJvbGxlckludGVyZmFjZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gWycjJywgJ1Byb2R1Y3QnLCAnU0tVJywgJ09uIEhhbmQnLCAnQWN0aW9ucyddO1xuICBzZWFyY2hDb250cm9sOiBGb3JtQ29udHJvbDxhbnk+ID0gbmV3IEZvcm1Db250cm9sKCcnKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sYXN0UGFnZSA9IDA7XG4gICAgdGhpcy5wZXJQYWdlID0gMTAwMDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZERhdGEoKTtcblxuICAgIHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVsb2FkKCkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbG9hZERhdGEoKSB7XG4gICAgY29uc3QgcGFyYW1zOiBhbnkgPSB7XG4gICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICBwZXJQYWdlOiB0aGlzLnBlclBhZ2UsXG4gICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSxcbiAgICAgIHNvcnRfYnk6ICdjcmVhdGVkX2F0fGRlc2MnLFxuICAgICAgd2l0aDogJ3R5cGUsY2F0ZWdvcmllcycsXG4gICAgfTtcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5pbmRleChwYXJhbXMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1vZGVscyA9IHRoaXMubW9kZWxzPy5jb25jYXQocmVzcG9uc2U/LmRhdGEpO1xuICAgICAgICB0aGlzLmxhc3RQYWdlID0gcmVzcG9uc2U/Lmxhc3RfcGFnZTtcbiAgICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gKHRoaXMuaXNXb3JraW5nID0gZmFsc2UpLFxuICAgIH0pO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgc3R5bGU9XCJtYXgtaGVpZ2h0OiA0NjBweDsgb3ZlcmZsb3c6IGF1dG9cIj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgPGgzPlByb2R1Y3RzIFF1aWNrIFNlYXJjaDwvaDM+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPlNlYXJjaDwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJTZWFyY2ggcHJvZHVjdHNcIiBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cInAtMFwiPlxuICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwibW9kZWxzXCIgY2xhc3M9XCJ3LTEwMFwiIGluZmluaXRlU2Nyb2xsIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIjJcIlxuICAgICAgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiPlxuICAgICAgPCEtLSAjIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiI1wiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiM8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDsgbGV0IGkgPSBpbmRleFwiPnt7IGkgKyAxIH19PC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIFByb2R1Y3QgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJQcm9kdWN0XCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+UHJvZHVjdDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvaW52ZW50b3J5L3Byb2R1Y3RzJywgZWxlbWVudD8uaWQsICd2aWV3J11cIiBjbGFzcz1cInRleHQtZGFya1wiPlxuICAgICAgICAgICAgICB7eyBlbGVtZW50Py5uYW1lIH19XG4gICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50Py5jYXRlZ29yaWVzPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMSBmbGV4LXdyYXBcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1zZWNvbmRhcnlcIiAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgZWxlbWVudD8uY2F0ZWdvcmllc1wiPlxuICAgICAgICAgICAgICAgIHt7IGNhdGVnb3J5Py50aXRsZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIFNLVSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIlNLVVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlNLVTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudD8uc2t1IH19PC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIE9uIEhhbmQgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJPbiBIYW5kXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+T24gSGFuZDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAge3sgZWxlbWVudD8uc3RvY2tfb25faGFuZCB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIkFjdGlvbnNcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5BY3Rpb25zPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zZWNvbmRhcnkgZC1mbGV4IGdhcC0yIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiBtYXRUb29sdGlwPVwiVmlld1wiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL2ludmVudG9yeS9wcm9kdWN0cycsIGVsZW1lbnQuaWQsICd2aWV3J11cIiByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGUtbGluay1hY3RpdmVcIj5cbiAgICAgICAgICAgICAgcmVtb3ZlX3JlZF9leWVcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG5cblxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1hcnJvd3MtZG93bi10by1saW5lXCIgcm9sZT0nYnV0dG9uJyBtYXRUb29sdGlwPVwiUmVjZWl2ZSBTdG9ja1wiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL2ludmVudG9yeS9zdG9jay1yZWNlaXB0cy9mb3JtJ11cIj48L2k+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWFycm93LXVwLWZyb20tYnJhY2tldFwiIHJvbGU9J2J1dHRvbicgbWF0VG9vbHRpcD1cIklzc3VlIFN0b2NrXCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvaW52ZW50b3J5L3N0b2NrLWlzc3Vlcy9mb3JtJ11cIj48L2k+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICA8L3RhYmxlPlxuXG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImlzV29ya2luZ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD4iXX0=
@@ -4,8 +4,8 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "../product.service";
5
5
  import * as i2 from "@angular/router";
6
6
  import * as i3 from "@angular/common";
7
- import * as i4 from "../../stock-receipts/itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component";
8
- import * as i5 from "../../stock-issuances/itemized-stock-issue-products-list/itemized-stock-issue-products-list.component";
7
+ import * as i4 from "../../stock-receipts/stock-receipt-product-list/stock-receipt-product-list.component";
8
+ import * as i5 from "../../stock-issue/stock-issue-products-list/stock-issue-products-list.component";
9
9
  import * as i6 from "@angular/material/progress-bar";
10
10
  import * as i7 from "../product-location/product-location-list/product-location-list.component";
11
11
  import * as i8 from "../../stock-transfer/stock-transfer-list/stock-transfer-list.component";
@@ -21,7 +21,7 @@ export class ProductViewPageComponent {
21
21
  productLocationList;
22
22
  stockTransferList;
23
23
  stockReceiptsListPage;
24
- stockIssueListPage;
24
+ stockIssueProductListPage;
25
25
  constructor(productService, activatedRoute, location) {
26
26
  this.productService = productService;
27
27
  this.activatedRoute = activatedRoute;
@@ -66,11 +66,11 @@ export class ProductViewPageComponent {
66
66
  this.location.back();
67
67
  }
68
68
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductViewPageComponent, deps: [{ token: i1.ProductService }, { token: i2.ActivatedRoute }, { token: i3.Location }], target: i0.ɵɵFactoryTarget.Component });
69
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProductViewPageComponent, selector: "app-product-view-page", viewQueries: [{ propertyName: "productLocationList", first: true, predicate: ["productLocationList"], descendants: true }, { propertyName: "stockTransferList", first: true, predicate: ["stockTransferList"], descendants: true }, { propertyName: "stockReceiptsListPage", first: true, predicate: ["stockReceiptsListPage"], descendants: true }, { propertyName: "stockIssueListPage", first: true, predicate: ["stockIssueListPage"], descendants: true }], ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"product\" class=\"d-flex justify-content-start align-items-start gap-3\">\n <div *ngIf=\"product\" class=\"d-flex justify-content-start align-items-start gap-3\">\n <div style=\"width: calc(30% - 1rem)\" class=\"d-flex flex-column gap-3\">\n <app-product-basic-info [product]=\"product\" #productBasicInfoComponent (deleted)=\"onProductDeleted()\"\n (saved)=\"onProductUpdated($event)\"></app-product-basic-info>\n\n <app-product-location-list [product]=\"product\" (updated)=\"stockTransferList.reload(); stockIssueListPage.reload()\"\n #productLocationList></app-product-location-list>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"Product\"\n [relatedModelId]=\"product.id\"></app-note-list>\n\n </div>\n <div style=\"width: calc(75%)\" class=\"d-flex flex-column gap-3\">\n <app-itemized-stock-receipt-products-list #stockReceiptsListPage [filters]=\"{ product_ids: product?.id }\"\n [isProductView]=\"true\" (listUpdated)=\"getProduct(this.id);\n productBasicInfoComponent.loadProductStocksSummary();\n productLocationList.reload();\n \"></app-itemized-stock-receipt-products-list>\n\n <app-itemized-stock-issue-products-list #stockIssueListPage [isProductView]=\"true\"\n [filters]=\"{ product_ids: product?.id }\" (listUpdated)=\"\n getProduct(this.id);\n productBasicInfoComponent.loadProductStocksSummary();\n productLocationList.reload();\n \"></app-itemized-stock-issue-products-list>\n\n <app-stock-transfer-list #stockTransferList *ngIf=\"product\" [productId]=\"product.id\"></app-stock-transfer-list>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ItemizedStockReceiptProductsListComponent, selector: "app-itemized-stock-receipt-products-list", inputs: ["filters", "isProductView", "selectedColumns", "exportInProgress"], outputs: ["listUpdated", "columnConfigReady"] }, { kind: "component", type: i5.ItemizedStockIssueProductsListComponent, selector: "app-itemized-stock-issue-products-list", inputs: ["filters", "isProductView", "selectedColumns", "exportInProgress"], outputs: ["listUpdated", "columnConfigReady"] }, { kind: "component", type: i6.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i7.ProductLocationListComponent, selector: "app-product-location-list", inputs: ["product"], outputs: ["updated"] }, { kind: "component", type: i8.StockTransferListComponent, selector: "app-stock-transfer-list", inputs: ["productId"] }, { kind: "component", type: i9.NoteListComponent, selector: "app-note-list", inputs: ["relatedModelId", "modelType", "readonly", "labelText", "commentsView", "viewMode"] }, { kind: "component", type: i10.ProductBasicInfoComponent, selector: "app-product-basic-info", inputs: ["product"], outputs: ["saved", "deleted"] }], preserveWhitespaces: true });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProductViewPageComponent, selector: "app-product-view-page", viewQueries: [{ propertyName: "productLocationList", first: true, predicate: ["productLocationList"], descendants: true }, { propertyName: "stockTransferList", first: true, predicate: ["stockTransferList"], descendants: true }, { propertyName: "stockReceiptsListPage", first: true, predicate: ["stockReceiptsListPage"], descendants: true }, { propertyName: "stockIssueProductListPage", first: true, predicate: ["stockIssueProductListPage"], descendants: true }], ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"product\" class=\"d-flex justify-content-start align-items-start gap-3 w-100\">\n <div *ngIf=\"product\" class=\"d-flex justify-content-start align-items-start gap-3 w-100\">\n <div style=\"width: calc(25% - 1rem)\" class=\"d-flex flex-column gap-3\">\n <app-product-basic-info [product]=\"product\" #productBasicInfoComponent (deleted)=\"onProductDeleted()\"\n (saved)=\"onProductUpdated($event)\"></app-product-basic-info>\n\n <app-product-location-list [product]=\"product\"\n (updated)=\"stockTransferList.reload(); stockIssueProductListPage.reload()\"\n #productLocationList></app-product-location-list>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"Product\"\n [relatedModelId]=\"product.id\"></app-note-list>\n\n </div>\n <div class=\"d-flex flex-column gap-3 w-100\">\n <app-stock-receipt-product-list #stockReceiptsListPage [filters]=\"{ product_ids: product?.id }\"\n [isProductView]=\"true\" (listUpdated)=\"getProduct(this.id);\n productBasicInfoComponent.loadProductStocksSummary();\n productLocationList.reload();\n \"></app-stock-receipt-product-list>\n\n <app-stock-issue-products-list #stockIssueProductListPage [isProductView]=\"true\"\n [filters]=\"{ product_ids: product?.id }\" (listUpdated)=\"\n getProduct(this.id);\n productBasicInfoComponent.loadProductStocksSummary();\n productLocationList.reload();\n \"></app-stock-issue-products-list>\n\n <app-stock-transfer-list #stockTransferList *ngIf=\"product\" [productId]=\"product.id\"></app-stock-transfer-list>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.StockReceiptProductsListComponent, selector: "app-stock-receipt-product-list", inputs: ["filters", "isProductView", "selectedColumns", "exportInProgress"], outputs: ["listUpdated", "columnConfigReady"] }, { kind: "component", type: i5.StockIssueProductListComponent, selector: "app-stock-issue-products-list", inputs: ["filters", "isProductView", "selectedColumns", "exportInProgress"], outputs: ["listUpdated", "columnConfigReady"] }, { kind: "component", type: i6.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i7.ProductLocationListComponent, selector: "app-product-location-list", inputs: ["product"], outputs: ["updated"] }, { kind: "component", type: i8.StockTransferListComponent, selector: "app-stock-transfer-list", inputs: ["productId"] }, { kind: "component", type: i9.NoteListComponent, selector: "app-note-list", inputs: ["relatedModelId", "modelType", "readonly", "labelText", "commentsView", "viewMode"] }, { kind: "component", type: i10.ProductBasicInfoComponent, selector: "app-product-basic-info", inputs: ["product"], outputs: ["saved", "deleted"] }], preserveWhitespaces: true });
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductViewPageComponent, decorators: [{
72
72
  type: Component,
73
- args: [{ selector: 'app-product-view-page', template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"product\" class=\"d-flex justify-content-start align-items-start gap-3\">\n <div *ngIf=\"product\" class=\"d-flex justify-content-start align-items-start gap-3\">\n <div style=\"width: calc(30% - 1rem)\" class=\"d-flex flex-column gap-3\">\n <app-product-basic-info [product]=\"product\" #productBasicInfoComponent (deleted)=\"onProductDeleted()\"\n (saved)=\"onProductUpdated($event)\"></app-product-basic-info>\n\n <app-product-location-list [product]=\"product\" (updated)=\"stockTransferList.reload(); stockIssueListPage.reload()\"\n #productLocationList></app-product-location-list>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"Product\"\n [relatedModelId]=\"product.id\"></app-note-list>\n\n </div>\n <div style=\"width: calc(75%)\" class=\"d-flex flex-column gap-3\">\n <app-itemized-stock-receipt-products-list #stockReceiptsListPage [filters]=\"{ product_ids: product?.id }\"\n [isProductView]=\"true\" (listUpdated)=\"getProduct(this.id);\n productBasicInfoComponent.loadProductStocksSummary();\n productLocationList.reload();\n \"></app-itemized-stock-receipt-products-list>\n\n <app-itemized-stock-issue-products-list #stockIssueListPage [isProductView]=\"true\"\n [filters]=\"{ product_ids: product?.id }\" (listUpdated)=\"\n getProduct(this.id);\n productBasicInfoComponent.loadProductStocksSummary();\n productLocationList.reload();\n \"></app-itemized-stock-issue-products-list>\n\n <app-stock-transfer-list #stockTransferList *ngIf=\"product\" [productId]=\"product.id\"></app-stock-transfer-list>\n </div>\n </div>\n</div>" }]
73
+ args: [{ selector: 'app-product-view-page', template: "<mat-progress-bar mode=\"indeterminate\" *ngIf=\"isLoading\"></mat-progress-bar>\n\n<div *ngIf=\"product\" class=\"d-flex justify-content-start align-items-start gap-3 w-100\">\n <div *ngIf=\"product\" class=\"d-flex justify-content-start align-items-start gap-3 w-100\">\n <div style=\"width: calc(25% - 1rem)\" class=\"d-flex flex-column gap-3\">\n <app-product-basic-info [product]=\"product\" #productBasicInfoComponent (deleted)=\"onProductDeleted()\"\n (saved)=\"onProductUpdated($event)\"></app-product-basic-info>\n\n <app-product-location-list [product]=\"product\"\n (updated)=\"stockTransferList.reload(); stockIssueProductListPage.reload()\"\n #productLocationList></app-product-location-list>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"Product\"\n [relatedModelId]=\"product.id\"></app-note-list>\n\n </div>\n <div class=\"d-flex flex-column gap-3 w-100\">\n <app-stock-receipt-product-list #stockReceiptsListPage [filters]=\"{ product_ids: product?.id }\"\n [isProductView]=\"true\" (listUpdated)=\"getProduct(this.id);\n productBasicInfoComponent.loadProductStocksSummary();\n productLocationList.reload();\n \"></app-stock-receipt-product-list>\n\n <app-stock-issue-products-list #stockIssueProductListPage [isProductView]=\"true\"\n [filters]=\"{ product_ids: product?.id }\" (listUpdated)=\"\n getProduct(this.id);\n productBasicInfoComponent.loadProductStocksSummary();\n productLocationList.reload();\n \"></app-stock-issue-products-list>\n\n <app-stock-transfer-list #stockTransferList *ngIf=\"product\" [productId]=\"product.id\"></app-stock-transfer-list>\n </div>\n </div>\n</div>" }]
74
74
  }], ctorParameters: () => [{ type: i1.ProductService }, { type: i2.ActivatedRoute }, { type: i3.Location }], propDecorators: { productLocationList: [{
75
75
  type: ViewChild,
76
76
  args: ['productLocationList']
@@ -80,8 +80,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
80
80
  }], stockReceiptsListPage: [{
81
81
  type: ViewChild,
82
82
  args: ['stockReceiptsListPage']
83
- }], stockIssueListPage: [{
83
+ }], stockIssueProductListPage: [{
84
84
  type: ViewChild,
85
- args: ['stockIssueListPage']
85
+ args: ['stockIssueProductListPage']
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC12aWV3LXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vcHJvZHVjdC9wcm9kdWN0LXZpZXctcGFnZS9wcm9kdWN0LXZpZXctcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3Qtdmlldy1wYWdlL3Byb2R1Y3Qtdmlldy1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVTFDLE1BQU0sT0FBTyx3QkFBd0I7SUFXekI7SUFDQTtJQUNBO0lBWkgsT0FBTyxDQUFNO0lBQ3BCLEVBQUUsQ0FBUztJQUNYLFNBQVMsQ0FBVztJQUVjLG1CQUFtQixDQUFnQztJQUNyRCxpQkFBaUIsQ0FBOEI7SUFDM0MscUJBQXFCLENBQTZDO0lBQ3JFLGtCQUFrQixDQUEyQztJQUU5RixZQUNVLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLFFBQWtCO1FBRmxCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUUxQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsU0FBYztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixNQUFNLE1BQU0sR0FBUTtZQUNsQixJQUFJLEVBQUUscUdBQXFHO1NBQzVHLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BELElBQUksRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFO2dCQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQzlCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLE9BQVk7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO3dHQXpEVSx3QkFBd0I7NEZBQXhCLHdCQUF3Qiw4ZkNkckMsK3ZEQWdDTTs7NEZEbEJPLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSx1QkFBdUI7dUlBUUMsbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQjtnQkFDQSxpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUNNLHFCQUFxQjtzQkFBeEQsU0FBUzt1QkFBQyx1QkFBdUI7Z0JBQ0Qsa0JBQWtCO3NCQUFsRCxTQUFTO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9kdWN0U2VydmljZSB9IGZyb20gJy4uL3Byb2R1Y3Quc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2R1Y3RMb2NhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdWN0LWxvY2F0aW9uL3Byb2R1Y3QtbG9jYXRpb24tbGlzdC9wcm9kdWN0LWxvY2F0aW9uLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFN0b2NrVHJhbnNmZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RvY2stdHJhbnNmZXIvc3RvY2stdHJhbnNmZXItbGlzdC9zdG9jay10cmFuc2Zlci1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdGVtaXplZFN0b2NrUmVjZWlwdFByb2R1Y3RzTGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0b2NrLXJlY2VpcHRzL2l0ZW1pemVkLXN0b2NrLXJlY2VpcHQtcHJvZHVjdHMtbGlzdC9pdGVtaXplZC1zdG9jay1yZWNlaXB0LXByb2R1Y3RzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1pemVkU3RvY2tJc3N1ZVByb2R1Y3RzTGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0b2NrLWlzc3VhbmNlcy9pdGVtaXplZC1zdG9jay1pc3N1ZS1wcm9kdWN0cy1saXN0L2l0ZW1pemVkLXN0b2NrLWlzc3VlLXByb2R1Y3RzLWxpc3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3Qtdmlldy1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3Qtdmlldy1wYWdlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdFZpZXdQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHByb2R1Y3Q6IGFueTtcbiAgaWQ6IG51bWJlcjtcbiAgaXNMb2FkaW5nITogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCdwcm9kdWN0TG9jYXRpb25MaXN0JykgcHJvZHVjdExvY2F0aW9uTGlzdCE6IFByb2R1Y3RMb2NhdGlvbkxpc3RDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3N0b2NrVHJhbnNmZXJMaXN0Jykgc3RvY2tUcmFuc2Zlckxpc3QhOiBTdG9ja1RyYW5zZmVyTGlzdENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnc3RvY2tSZWNlaXB0c0xpc3RQYWdlJykgc3RvY2tSZWNlaXB0c0xpc3RQYWdlITogSXRlbWl6ZWRTdG9ja1JlY2VpcHRQcm9kdWN0c0xpc3RDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3N0b2NrSXNzdWVMaXN0UGFnZScpIHN0b2NrSXNzdWVMaXN0UGFnZSE6IEl0ZW1pemVkU3RvY2tJc3N1ZVByb2R1Y3RzTGlzdENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0U2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvblxuICApIHtcbiAgICB0aGlzLmlkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXM/LlsnaWQnXTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICB0aGlzLmdldFByb2R1Y3QodGhpcy5pZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJvZHVjdCBkZXRhaWxzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvZHVjdElkXG4gICAqL1xuICBnZXRQcm9kdWN0KHByb2R1Y3RJZDogYW55KSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1xuICAgICAgd2l0aDogJ3R5cGUsbWVhc3VyZSxpbmNvbWVBY2NvdW50LGV4cGVuc2VBY2NvdW50LGNhdGVnb3JpZXMsbGFzdFN0b2NrUmVjZWlwdCxsYXN0U3RvY2tJc3N1ZSx0YXhlcy50YXgudHlwZScsXG4gICAgfTtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnNob3cocHJvZHVjdElkLCBwYXJhbXMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wcm9kdWN0ID0gcmVzdWx0Py5pdGVtO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiAodGhpcy5pc0xvYWRpbmcgPSBmYWxzZSksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHRoZSBvbiBwcm9kdWN0IHVwZGF0ZSBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIHByb2R1Y3RcbiAgICovXG4gIG9uUHJvZHVjdFVwZGF0ZWQocHJvZHVjdDogYW55KSB7XG4gICAgdGhpcy5nZXRQcm9kdWN0KHRoaXMuaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBvbiBwcm9kdWN0IGRlbGV0ZSBldmVudC5cbiAgICovXG4gIG9uUHJvZHVjdERlbGV0ZWQoKSB7XG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gIH1cbn1cbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJpc0xvYWRpbmdcIj48L21hdC1wcm9ncmVzcy1iYXI+XG5cbjxkaXYgKm5nSWY9XCJwcm9kdWN0XCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLXN0YXJ0IGdhcC0zXCI+XG4gIDxkaXYgKm5nSWY9XCJwcm9kdWN0XCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLXN0YXJ0IGdhcC0zXCI+XG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiBjYWxjKDMwJSAtIDFyZW0pXCIgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTNcIj5cbiAgICAgIDxhcHAtcHJvZHVjdC1iYXNpYy1pbmZvIFtwcm9kdWN0XT1cInByb2R1Y3RcIiAjcHJvZHVjdEJhc2ljSW5mb0NvbXBvbmVudCAoZGVsZXRlZCk9XCJvblByb2R1Y3REZWxldGVkKClcIlxuICAgICAgICAoc2F2ZWQpPVwib25Qcm9kdWN0VXBkYXRlZCgkZXZlbnQpXCI+PC9hcHAtcHJvZHVjdC1iYXNpYy1pbmZvPlxuXG4gICAgICA8YXBwLXByb2R1Y3QtbG9jYXRpb24tbGlzdCBbcHJvZHVjdF09XCJwcm9kdWN0XCIgKHVwZGF0ZWQpPVwic3RvY2tUcmFuc2Zlckxpc3QucmVsb2FkKCk7IHN0b2NrSXNzdWVMaXN0UGFnZS5yZWxvYWQoKVwiXG4gICAgICAgICNwcm9kdWN0TG9jYXRpb25MaXN0PjwvYXBwLXByb2R1Y3QtbG9jYXRpb24tbGlzdD5cblxuICAgICAgPGFwcC1ub3RlLWxpc3QgbGFiZWxUZXh0PVwiTm90ZXNcIiB2aWV3TW9kZT1cInRpbWVsaW5lXCIgbW9kZWxUeXBlPVwiUHJvZHVjdFwiXG4gICAgICAgIFtyZWxhdGVkTW9kZWxJZF09XCJwcm9kdWN0LmlkXCI+PC9hcHAtbm90ZS1saXN0PlxuXG4gICAgPC9kaXY+XG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiBjYWxjKDc1JSlcIiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtM1wiPlxuICAgICAgPGFwcC1pdGVtaXplZC1zdG9jay1yZWNlaXB0LXByb2R1Y3RzLWxpc3QgI3N0b2NrUmVjZWlwdHNMaXN0UGFnZSBbZmlsdGVyc109XCJ7IHByb2R1Y3RfaWRzOiBwcm9kdWN0Py5pZCB9XCJcbiAgICAgICAgW2lzUHJvZHVjdFZpZXddPVwidHJ1ZVwiIChsaXN0VXBkYXRlZCk9XCJnZXRQcm9kdWN0KHRoaXMuaWQpO1xuICAgICAgICBwcm9kdWN0QmFzaWNJbmZvQ29tcG9uZW50LmxvYWRQcm9kdWN0U3RvY2tzU3VtbWFyeSgpO1xuICAgICAgICBwcm9kdWN0TG9jYXRpb25MaXN0LnJlbG9hZCgpO1xuICAgICAgXCI+PC9hcHAtaXRlbWl6ZWQtc3RvY2stcmVjZWlwdC1wcm9kdWN0cy1saXN0PlxuXG4gICAgICA8YXBwLWl0ZW1pemVkLXN0b2NrLWlzc3VlLXByb2R1Y3RzLWxpc3QgI3N0b2NrSXNzdWVMaXN0UGFnZSBbaXNQcm9kdWN0Vmlld109XCJ0cnVlXCJcbiAgICAgICAgW2ZpbHRlcnNdPVwieyBwcm9kdWN0X2lkczogcHJvZHVjdD8uaWQgfVwiIChsaXN0VXBkYXRlZCk9XCJcbiAgICAgICAgZ2V0UHJvZHVjdCh0aGlzLmlkKTtcbiAgICAgICAgcHJvZHVjdEJhc2ljSW5mb0NvbXBvbmVudC5sb2FkUHJvZHVjdFN0b2Nrc1N1bW1hcnkoKTtcbiAgICAgICAgcHJvZHVjdExvY2F0aW9uTGlzdC5yZWxvYWQoKTtcbiAgICAgIFwiPjwvYXBwLWl0ZW1pemVkLXN0b2NrLWlzc3VlLXByb2R1Y3RzLWxpc3Q+XG5cbiAgICAgIDxhcHAtc3RvY2stdHJhbnNmZXItbGlzdCAjc3RvY2tUcmFuc2Zlckxpc3QgKm5nSWY9XCJwcm9kdWN0XCIgW3Byb2R1Y3RJZF09XCJwcm9kdWN0LmlkXCI+PC9hcHAtc3RvY2stdHJhbnNmZXItbGlzdD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC12aWV3LXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vcHJvZHVjdC9wcm9kdWN0LXZpZXctcGFnZS9wcm9kdWN0LXZpZXctcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3Qtdmlldy1wYWdlL3Byb2R1Y3Qtdmlldy1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVTFDLE1BQU0sT0FBTyx3QkFBd0I7SUFXekI7SUFDQTtJQUNBO0lBWkgsT0FBTyxDQUFNO0lBQ3BCLEVBQUUsQ0FBUztJQUNYLFNBQVMsQ0FBVztJQUVjLG1CQUFtQixDQUFnQztJQUNyRCxpQkFBaUIsQ0FBOEI7SUFDM0MscUJBQXFCLENBQXFDO0lBQ3RELHlCQUF5QixDQUFrQztJQUVuRyxZQUNVLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLFFBQWtCO1FBRmxCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUUxQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsU0FBYztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixNQUFNLE1BQU0sR0FBUTtZQUNsQixJQUFJLEVBQUUscUdBQXFHO1NBQzVHLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BELElBQUksRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFO2dCQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQzlCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLE9BQVk7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO3dHQXpEVSx3QkFBd0I7NEZBQXhCLHdCQUF3Qiw0Z0JDZHJDLHV1REFpQ007OzRGRG5CTyx3QkFBd0I7a0JBSnBDLFNBQVM7K0JBQ0UsdUJBQXVCO3VJQVFDLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBQ0EsaUJBQWlCO3NCQUFoRCxTQUFTO3VCQUFDLG1CQUFtQjtnQkFDTSxxQkFBcUI7c0JBQXhELFNBQVM7dUJBQUMsdUJBQXVCO2dCQUNNLHlCQUF5QjtzQkFBaEUsU0FBUzt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICcuLi9wcm9kdWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9kdWN0TG9jYXRpb25MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHVjdC1sb2NhdGlvbi9wcm9kdWN0LWxvY2F0aW9uLWxpc3QvcHJvZHVjdC1sb2NhdGlvbi1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdG9ja1RyYW5zZmVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0b2NrLXRyYW5zZmVyL3N0b2NrLXRyYW5zZmVyLWxpc3Qvc3RvY2stdHJhbnNmZXItbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RvY2tSZWNlaXB0UHJvZHVjdHNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RvY2stcmVjZWlwdHMvc3RvY2stcmVjZWlwdC1wcm9kdWN0LWxpc3Qvc3RvY2stcmVjZWlwdC1wcm9kdWN0LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFN0b2NrSXNzdWVQcm9kdWN0TGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0b2NrLWlzc3VlL3N0b2NrLWlzc3VlLXByb2R1Y3RzLWxpc3Qvc3RvY2staXNzdWUtcHJvZHVjdHMtbGlzdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdC12aWV3LXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC12aWV3LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0Vmlld1BhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgcHJvZHVjdDogYW55O1xuICBpZDogbnVtYmVyO1xuICBpc0xvYWRpbmchOiBib29sZWFuO1xuXG4gIEBWaWV3Q2hpbGQoJ3Byb2R1Y3RMb2NhdGlvbkxpc3QnKSBwcm9kdWN0TG9jYXRpb25MaXN0ITogUHJvZHVjdExvY2F0aW9uTGlzdENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnc3RvY2tUcmFuc2Zlckxpc3QnKSBzdG9ja1RyYW5zZmVyTGlzdCE6IFN0b2NrVHJhbnNmZXJMaXN0Q29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdzdG9ja1JlY2VpcHRzTGlzdFBhZ2UnKSBzdG9ja1JlY2VpcHRzTGlzdFBhZ2UhOiBTdG9ja1JlY2VpcHRQcm9kdWN0c0xpc3RDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3N0b2NrSXNzdWVQcm9kdWN0TGlzdFBhZ2UnKSBzdG9ja0lzc3VlUHJvZHVjdExpc3RQYWdlITogU3RvY2tJc3N1ZVByb2R1Y3RMaXN0Q29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJvZHVjdFNlcnZpY2U6IFByb2R1Y3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uXG4gICkge1xuICAgIHRoaXMuaWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtcz8uWydpZCddO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgIHRoaXMuZ2V0UHJvZHVjdCh0aGlzLmlkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBwcm9kdWN0IGRldGFpbHMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9kdWN0SWRcbiAgICovXG4gIGdldFByb2R1Y3QocHJvZHVjdElkOiBhbnkpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgY29uc3QgcGFyYW1zOiBhbnkgPSB7XG4gICAgICB3aXRoOiAndHlwZSxtZWFzdXJlLGluY29tZUFjY291bnQsZXhwZW5zZUFjY291bnQsY2F0ZWdvcmllcyxsYXN0U3RvY2tSZWNlaXB0LGxhc3RTdG9ja0lzc3VlLHRheGVzLnRheC50eXBlJyxcbiAgICB9O1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2Uuc2hvdyhwcm9kdWN0SWQsIHBhcmFtcykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXN1bHQ/Lml0ZW07XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+ICh0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgdGhlIG9uIHByb2R1Y3QgdXBkYXRlIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcHJvZHVjdFxuICAgKi9cbiAgb25Qcm9kdWN0VXBkYXRlZChwcm9kdWN0OiBhbnkpIHtcbiAgICB0aGlzLmdldFByb2R1Y3QodGhpcy5pZCk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIG9uIHByb2R1Y3QgZGVsZXRlIGV2ZW50LlxuICAgKi9cbiAgb25Qcm9kdWN0RGVsZXRlZCgpIHtcbiAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgfVxufVxuIiwiPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImlzTG9hZGluZ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cblxuPGRpdiAqbmdJZj1cInByb2R1Y3RcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTMgdy0xMDBcIj5cbiAgPGRpdiAqbmdJZj1cInByb2R1Y3RcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTMgdy0xMDBcIj5cbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IGNhbGMoMjUlIC0gMXJlbSlcIiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtM1wiPlxuICAgICAgPGFwcC1wcm9kdWN0LWJhc2ljLWluZm8gW3Byb2R1Y3RdPVwicHJvZHVjdFwiICNwcm9kdWN0QmFzaWNJbmZvQ29tcG9uZW50IChkZWxldGVkKT1cIm9uUHJvZHVjdERlbGV0ZWQoKVwiXG4gICAgICAgIChzYXZlZCk9XCJvblByb2R1Y3RVcGRhdGVkKCRldmVudClcIj48L2FwcC1wcm9kdWN0LWJhc2ljLWluZm8+XG5cbiAgICAgIDxhcHAtcHJvZHVjdC1sb2NhdGlvbi1saXN0IFtwcm9kdWN0XT1cInByb2R1Y3RcIlxuICAgICAgICAodXBkYXRlZCk9XCJzdG9ja1RyYW5zZmVyTGlzdC5yZWxvYWQoKTsgc3RvY2tJc3N1ZVByb2R1Y3RMaXN0UGFnZS5yZWxvYWQoKVwiXG4gICAgICAgICNwcm9kdWN0TG9jYXRpb25MaXN0PjwvYXBwLXByb2R1Y3QtbG9jYXRpb24tbGlzdD5cblxuICAgICAgPGFwcC1ub3RlLWxpc3QgbGFiZWxUZXh0PVwiTm90ZXNcIiB2aWV3TW9kZT1cInRpbWVsaW5lXCIgbW9kZWxUeXBlPVwiUHJvZHVjdFwiXG4gICAgICAgIFtyZWxhdGVkTW9kZWxJZF09XCJwcm9kdWN0LmlkXCI+PC9hcHAtbm90ZS1saXN0PlxuXG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMyB3LTEwMFwiPlxuICAgICAgPGFwcC1zdG9jay1yZWNlaXB0LXByb2R1Y3QtbGlzdCAjc3RvY2tSZWNlaXB0c0xpc3RQYWdlIFtmaWx0ZXJzXT1cInsgcHJvZHVjdF9pZHM6IHByb2R1Y3Q/LmlkIH1cIlxuICAgICAgICBbaXNQcm9kdWN0Vmlld109XCJ0cnVlXCIgKGxpc3RVcGRhdGVkKT1cImdldFByb2R1Y3QodGhpcy5pZCk7XG4gICAgICAgIHByb2R1Y3RCYXNpY0luZm9Db21wb25lbnQubG9hZFByb2R1Y3RTdG9ja3NTdW1tYXJ5KCk7XG4gICAgICAgIHByb2R1Y3RMb2NhdGlvbkxpc3QucmVsb2FkKCk7XG4gICAgICBcIj48L2FwcC1zdG9jay1yZWNlaXB0LXByb2R1Y3QtbGlzdD5cblxuICAgICAgPGFwcC1zdG9jay1pc3N1ZS1wcm9kdWN0cy1saXN0ICNzdG9ja0lzc3VlUHJvZHVjdExpc3RQYWdlIFtpc1Byb2R1Y3RWaWV3XT1cInRydWVcIlxuICAgICAgICBbZmlsdGVyc109XCJ7IHByb2R1Y3RfaWRzOiBwcm9kdWN0Py5pZCB9XCIgKGxpc3RVcGRhdGVkKT1cIlxuICAgICAgICBnZXRQcm9kdWN0KHRoaXMuaWQpO1xuICAgICAgICBwcm9kdWN0QmFzaWNJbmZvQ29tcG9uZW50LmxvYWRQcm9kdWN0U3RvY2tzU3VtbWFyeSgpO1xuICAgICAgICBwcm9kdWN0TG9jYXRpb25MaXN0LnJlbG9hZCgpO1xuICAgICAgXCI+PC9hcHAtc3RvY2staXNzdWUtcHJvZHVjdHMtbGlzdD5cblxuICAgICAgPGFwcC1zdG9jay10cmFuc2Zlci1saXN0ICNzdG9ja1RyYW5zZmVyTGlzdCAqbmdJZj1cInByb2R1Y3RcIiBbcHJvZHVjdElkXT1cInByb2R1Y3QuaWRcIj48L2FwcC1zdG9jay10cmFuc2Zlci1saXN0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -11,11 +11,11 @@ import { ProductViewPageComponent } from './product-view-page/product-view-page.
11
11
  import { ProductFormButtonComponent } from './product-form-button/product-form-button.component';
12
12
  import { ProductDeleteButtonComponent } from './product-delete-button/product-delete-button.component';
13
13
  import { ProductBasicInfoComponent } from './product-basic-info/product-basic-info.component';
14
- import { StockReceiptFormModule } from '../stock-receipts/stock-receipt-form/stock-receipt-form.module';
15
- import { StockIssueFormModule } from '../stock-issuances/stock-issue-form/stock-issue-form.module';
14
+ import { StockReceiptSimpleFormModule } from '../stock-receipts/stock-receipt-simple-form/stock-receipt-simple-form.module';
15
+ import { StockIssueFormModule } from '../stock-issue/stock-issue-simple-form/stock-issue-form.module';
16
16
  import { ProductImportPageComponent } from './product-import-page/product-import-page.component';
17
17
  import { StockReceiptsModule } from '../stock-receipts/stock-receipts.module';
18
- import { StockIssueListModule } from '../stock-issuances/stock-issue-list/stock-issue-list.module';
18
+ import { StockIssuePageModule } from '../stock-issue/stock-issue-page/stock-issue-page.module';
19
19
  import { MatProgressBarModule } from '@angular/material/progress-bar';
20
20
  import { InfiniteScrollModule } from 'ngx-infinite-scroll';
21
21
  import { FlexModule } from '@angular/flex-layout';
@@ -43,11 +43,11 @@ export class ProductModule {
43
43
  ProductRoutingModule,
44
44
  SearchableSelectorModule,
45
45
  TimelineFilterModule,
46
- StockReceiptFormModule,
46
+ StockReceiptSimpleFormModule,
47
47
  StockIssueFormModule,
48
48
  ImportCsvModule,
49
49
  StockReceiptsModule,
50
- StockIssueListModule,
50
+ StockIssuePageModule,
51
51
  MaterialModule,
52
52
  MatProgressBarModule,
53
53
  InfiniteScrollModule,
@@ -73,11 +73,11 @@ export class ProductModule {
73
73
  ProductRoutingModule,
74
74
  SearchableSelectorModule,
75
75
  TimelineFilterModule,
76
- StockReceiptFormModule,
76
+ StockReceiptSimpleFormModule,
77
77
  StockIssueFormModule,
78
78
  ImportCsvModule,
79
79
  StockReceiptsModule,
80
- StockIssueListModule,
80
+ StockIssuePageModule,
81
81
  MaterialModule,
82
82
  MatProgressBarModule,
83
83
  InfiniteScrollModule,
@@ -118,11 +118,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
118
118
  ProductRoutingModule,
119
119
  SearchableSelectorModule,
120
120
  TimelineFilterModule,
121
- StockReceiptFormModule,
121
+ StockReceiptSimpleFormModule,
122
122
  StockIssueFormModule,
123
123
  ImportCsvModule,
124
124
  StockReceiptsModule,
125
- StockIssueListModule,
125
+ StockIssuePageModule,
126
126
  MaterialModule,
127
127
  MatProgressBarModule,
128
128
  InfiniteScrollModule,
@@ -150,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
150
150
  ],
151
151
  }]
152
152
  }] });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsOEJBQThCLEVBQzlCLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGNBQWMsRUFDZCxVQUFVLEVBQ1Ysd0JBQXdCLEVBQ3hCLDZCQUE2QixFQUM3QixrQkFBa0IsRUFDbEIsb0JBQW9CLEdBQ3JCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxF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Q1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFFcEIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsVUFBVTt3QkFDVixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QixVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLDZCQUE2Qjt3QkFDN0IsOEJBQThCO3dCQUM5QixpQkFBaUI7d0JBQ2pCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QiwwQkFBMEI7d0JBQzFCLCtCQUErQjtxQkFDaEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFByb2R1Y3RSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9wcm9kdWN0LXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IFByb2R1Y3RMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWxpc3QvcHJvZHVjdC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1mb3JtL3Byb2R1Y3QtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ29sdW1uU2VsZWN0b3JNb2R1bGUsXG4gIEZvcm1Db25maWd1cmF0aW9uRm9yRm9ybU1vZHVsZSxcbiAgRG9jdW1lbnRWaWV3ZXJNb2R1bGUsXG4gIEZpbGVEcm9wcGVyTW9kdWxlLFxuICBJbXBvcnRDc3ZNb2R1bGUsXG4gIE1hdGVyaWFsTW9kdWxlLFxuICBOb3RlTW9kdWxlLFxuICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXG4gIFRlY2hsaWZ5RGVsZXRlQnV0dG9uQ29tcG9uZW50LFxuICBUZWNobGlmeUljb25Nb2R1bGUsXG4gIFRpbWVsaW5lRmlsdGVyTW9kdWxlLFxufSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBQcm9kdWN0TmF2QmFyQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW5hdi1iYXIvcHJvZHVjdC1uYXYtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWVhc3VyZXNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW1lYXN1cmVzLWxpc3QvcHJvZHVjdC1tZWFzdXJlcy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWVhc3VyZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWVhc3VyZS1mb3JtL3Byb2R1Y3QtbWVhc3VyZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0Vmlld1BhZ2VDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3Qtdmlldy1wYWdlL3Byb2R1Y3Qtdmlldy1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0Rm9ybUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1mb3JtLWJ1dHRvbi9wcm9kdWN0LWZvcm0tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0RGVsZXRlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWRlbGV0ZS1idXR0b24vcHJvZHVjdC1kZWxldGUtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0QmFzaWNJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWJhc2ljLWluZm8vcHJvZHVjdC1iYXNpYy1pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdG9ja1JlY2VpcHRGb3JtTW9kdWxlIH0gZnJvbSAnLi4vc3RvY2stcmVjZWlwdHMvc3RvY2stcmVjZWlwdC1mb3JtL3N0b2NrLXJlY2VpcHQtZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgU3RvY2tJc3N1ZUZvcm1Nb2R1bGUgfSBmcm9tICcuLi9zdG9jay1pc3N1YW5jZXMvc3RvY2staXNzdWUtZm9ybS9zdG9jay1pc3N1ZS1mb3JtLm1vZHVsZSc7XG5pbXBvcnQgeyBQcm9kdWN0SW1wb3J0UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1pbXBvcnQtcGFnZS9wcm9kdWN0LWltcG9ydC1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdG9ja1JlY2VpcHRzTW9kdWxlIH0gZnJvbSAnLi4vc3RvY2stcmVjZWlwdHMvc3RvY2stcmVjZWlwdHMubW9kdWxlJztcbmltcG9ydCB7IFN0b2NrSXNzdWVMaXN0TW9kdWxlIH0gZnJvbSAnLi4vc3RvY2staXNzdWFuY2VzL3N0b2NrLWlzc3VlLWxpc3Qvc3RvY2staXNzdWUtbGlzdC5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgUHJvZHVjdEJhdGNoVXBkYXRlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1iYXRjaC11cGRhdGUtZm9ybS9wcm9kdWN0LWJhdGNoLXVwZGF0ZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TG9jYXRpb25MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWxvY2F0aW9uL3Byb2R1Y3QtbG9jYXRpb24tbGlzdC9wcm9kdWN0LWxvY2F0aW9uLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFN0b2NrVHJhbnNmZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vc3RvY2stdHJhbnNmZXIvc3RvY2stdHJhbnNmZXItbGlzdC9zdG9jay10cmFuc2Zlci1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFeHBvcnRUb0V4Y2VsQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hhcmVkL2V4cG9ydC10by1leGNlbC1idXR0b24vZXhwb3J0LXRvLWV4Y2VsLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUVJDb2RlQ29tcG9uZW50IH0gZnJvbSAnYW5ndWxhcngtcXJjb2RlJztcbmltcG9ydCB7IE5neEJhcmNvZGU2IH0gZnJvbSAnbmd4LWJhcmNvZGU2JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUHJvZHVjdExpc3RDb21wb25lbnQsXG4gICAgUHJvZHVjdEZvcm1Db21wb25lbnQsXG4gICAgUHJvZHVjdE5hdkJhckNvbXBvbmVudCxcbiAgICBQcm9kdWN0TWVhc3VyZXNMaXN0Q29tcG9uZW50LFxuICAgIFByb2R1Y3RNZWFzdXJlRm9ybUNvbXBvbmVudCxcbiAgICBQcm9kdWN0Vmlld1BhZ2VDb21wb25lbnQsXG4gICAgUHJvZHVjdEZvcm1CdXR0b25Db21wb25lbnQsXG4gICAgUHJvZHVjdERlbGV0ZUJ1dHRvbkNvbXBvbmVudCxcbiAgICBQcm9kdWN0QmFzaWNJbmZvQ29tcG9uZW50LFxuICAgIFByb2R1Y3RJbXBvcnRQYWdlQ29tcG9uZW50LFxuICAgIFByb2R1Y3RCYXRjaFVwZGF0ZUZvcm1Db21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUHJvZHVjdFJvdXRpbmdNb2R1bGUsXG4gICAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICAgIFRpbWVsaW5lRmlsdGVyTW9kdWxlLFxuICAgIFN0b2NrUmVjZWlwdEZvcm1Nb2R1bGUsXG4gICAgU3RvY2tJc3N1ZUZvcm1Nb2R1bGUsXG4gICAgSW1wb3J0Q3N2TW9kdWxlLFxuICAgIFN0b2NrUmVjZWlwdHNNb2R1bGUsXG4gICAgU3RvY2tJc3N1ZUxpc3RNb2R1bGUsXG5cbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBGbGV4TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ29sdW1uU2VsZWN0b3JNb2R1bGUsXG4gICAgUHJvZHVjdExvY2F0aW9uTGlzdENvbXBvbmVudCxcbiAgICBTdG9ja1RyYW5zZmVyTGlzdENvbXBvbmVudCxcbiAgICBFeHBvcnRUb0V4Y2VsQnV0dG9uQ29tcG9uZW50LFxuICAgIE5vdGVNb2R1bGUsXG4gICAgVGVjaGxpZnlJY29uTW9kdWxlLFxuICAgIFFSQ29kZUNvbXBvbmVudCxcbiAgICBOZ3hCYXJjb2RlNixcbiAgICBUZWNobGlmeURlbGV0ZUJ1dHRvbkNvbXBvbmVudCxcbiAgICBGb3JtQ29uZmlndXJhdGlvbkZvckZvcm1Nb2R1bGUsXG4gICAgRmlsZURyb3BwZXJNb2R1bGUsXG4gICAgRG9jdW1lbnRWaWV3ZXJNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFByb2R1Y3RGb3JtQ29tcG9uZW50LFxuICAgIFByb2R1Y3RCYXNpY0luZm9Db21wb25lbnQsXG4gICAgUHJvZHVjdEZvcm1CdXR0b25Db21wb25lbnQsXG4gICAgUHJvZHVjdEJhdGNoVXBkYXRlRm9ybUNvbXBvbmVudFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TW9kdWxlIHsgfVxuIl19
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsOEJBQThCLEVBQzlCLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGNBQWMsRUFDZCxVQUFVLEVBQ1Ysd0JBQXdCLEVBQ3hCLDZCQUE2QixFQUM3QixrQkFBa0IsRUFDbEIsb0JBQW9CLEdBQ3JCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxF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Q1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFFcEIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsVUFBVTt3QkFDVixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QixVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLDZCQUE2Qjt3QkFDN0IsOEJBQThCO3dCQUM5QixpQkFBaUI7d0JBQ2pCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QiwwQkFBMEI7d0JBQzFCLCtCQUErQjtxQkFDaEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFByb2R1Y3RSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9wcm9kdWN0LXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IFByb2R1Y3RMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWxpc3QvcHJvZHVjdC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1mb3JtL3Byb2R1Y3QtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ29sdW1uU2VsZWN0b3JNb2R1bGUsXG4gIEZvcm1Db25maWd1cmF0aW9uRm9yRm9ybU1vZHVsZSxcbiAgRG9jdW1lbnRWaWV3ZXJNb2R1bGUsXG4gIEZpbGVEcm9wcGVyTW9kdWxlLFxuICBJbXBvcnRDc3ZNb2R1bGUsXG4gIE1hdGVyaWFsTW9kdWxlLFxuICBOb3RlTW9kdWxlLFxuICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXG4gIFRlY2hsaWZ5RGVsZXRlQnV0dG9uQ29tcG9uZW50LFxuICBUZWNobGlmeUljb25Nb2R1bGUsXG4gIFRpbWVsaW5lRmlsdGVyTW9kdWxlLFxufSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBQcm9kdWN0TmF2QmFyQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW5hdi1iYXIvcHJvZHVjdC1uYXYtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWVhc3VyZXNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW1lYXN1cmVzLWxpc3QvcHJvZHVjdC1tZWFzdXJlcy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWVhc3VyZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWVhc3VyZS1mb3JtL3Byb2R1Y3QtbWVhc3VyZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0Vmlld1BhZ2VDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3Qtdmlldy1wYWdlL3Byb2R1Y3Qtdmlldy1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0Rm9ybUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1mb3JtLWJ1dHRvbi9wcm9kdWN0LWZvcm0tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0RGVsZXRlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWRlbGV0ZS1idXR0b24vcHJvZHVjdC1kZWxldGUtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0QmFzaWNJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWJhc2ljLWluZm8vcHJvZHVjdC1iYXNpYy1pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdG9ja1JlY2VpcHRTaW1wbGVGb3JtTW9kdWxlIH0gZnJvbSAnLi4vc3RvY2stcmVjZWlwdHMvc3RvY2stcmVjZWlwdC1zaW1wbGUtZm9ybS9zdG9jay1yZWNlaXB0LXNpbXBsZS1mb3JtLm1vZHVsZSc7XG5pbXBvcnQgeyBTdG9ja0lzc3VlRm9ybU1vZHVsZSB9IGZyb20gJy4uL3N0b2NrLWlzc3VlL3N0b2NrLWlzc3VlLXNpbXBsZS1mb3JtL3N0b2NrLWlzc3VlLWZvcm0ubW9kdWxlJztcbmltcG9ydCB7IFByb2R1Y3RJbXBvcnRQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWltcG9ydC1wYWdlL3Byb2R1Y3QtaW1wb3J0LXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFN0b2NrUmVjZWlwdHNNb2R1bGUgfSBmcm9tICcuLi9zdG9jay1yZWNlaXB0cy9zdG9jay1yZWNlaXB0cy5tb2R1bGUnO1xuaW1wb3J0IHsgU3RvY2tJc3N1ZVBhZ2VNb2R1bGUgfSBmcm9tICcuLi9zdG9jay1pc3N1ZS9zdG9jay1pc3N1ZS1wYWdlL3N0b2NrLWlzc3VlLXBhZ2UubW9kdWxlJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsTW9kdWxlIH0gZnJvbSAnbmd4LWluZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBGbGV4TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFByb2R1Y3RCYXRjaFVwZGF0ZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtYmF0Y2gtdXBkYXRlLWZvcm0vcHJvZHVjdC1iYXRjaC11cGRhdGUtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdExvY2F0aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1sb2NhdGlvbi9wcm9kdWN0LWxvY2F0aW9uLWxpc3QvcHJvZHVjdC1sb2NhdGlvbi1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdG9ja1RyYW5zZmVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL3N0b2NrLXRyYW5zZmVyL3N0b2NrLXRyYW5zZmVyLWxpc3Qvc3RvY2stdHJhbnNmZXItbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhwb3J0VG9FeGNlbEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL3NoYXJlZC9leHBvcnQtdG8tZXhjZWwtYnV0dG9uL2V4cG9ydC10by1leGNlbC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFFSQ29kZUNvbXBvbmVudCB9IGZyb20gJ2FuZ3VsYXJ4LXFyY29kZSc7XG5pbXBvcnQgeyBOZ3hCYXJjb2RlNiB9IGZyb20gJ25neC1iYXJjb2RlNic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFByb2R1Y3RMaXN0Q29tcG9uZW50LFxuICAgIFByb2R1Y3RGb3JtQ29tcG9uZW50LFxuICAgIFByb2R1Y3ROYXZCYXJDb21wb25lbnQsXG4gICAgUHJvZHVjdE1lYXN1cmVzTGlzdENvbXBvbmVudCxcbiAgICBQcm9kdWN0TWVhc3VyZUZvcm1Db21wb25lbnQsXG4gICAgUHJvZHVjdFZpZXdQYWdlQ29tcG9uZW50LFxuICAgIFByb2R1Y3RGb3JtQnV0dG9uQ29tcG9uZW50LFxuICAgIFByb2R1Y3REZWxldGVCdXR0b25Db21wb25lbnQsXG4gICAgUHJvZHVjdEJhc2ljSW5mb0NvbXBvbmVudCxcbiAgICBQcm9kdWN0SW1wb3J0UGFnZUNvbXBvbmVudCxcbiAgICBQcm9kdWN0QmF0Y2hVcGRhdGVGb3JtQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFByb2R1Y3RSb3V0aW5nTW9kdWxlLFxuICAgIFNlYXJjaGFibGVTZWxlY3Rvck1vZHVsZSxcbiAgICBUaW1lbGluZUZpbHRlck1vZHVsZSxcbiAgICBTdG9ja1JlY2VpcHRTaW1wbGVGb3JtTW9kdWxlLFxuICAgIFN0b2NrSXNzdWVGb3JtTW9kdWxlLFxuICAgIEltcG9ydENzdk1vZHVsZSxcbiAgICBTdG9ja1JlY2VpcHRzTW9kdWxlLFxuICAgIFN0b2NrSXNzdWVQYWdlTW9kdWxlLFxuXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgRmxleE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIENvbHVtblNlbGVjdG9yTW9kdWxlLFxuICAgIFByb2R1Y3RMb2NhdGlvbkxpc3RDb21wb25lbnQsXG4gICAgU3RvY2tUcmFuc2Zlckxpc3RDb21wb25lbnQsXG4gICAgRXhwb3J0VG9FeGNlbEJ1dHRvbkNvbXBvbmVudCxcbiAgICBOb3RlTW9kdWxlLFxuICAgIFRlY2hsaWZ5SWNvbk1vZHVsZSxcbiAgICBRUkNvZGVDb21wb25lbnQsXG4gICAgTmd4QmFyY29kZTYsXG4gICAgVGVjaGxpZnlEZWxldGVCdXR0b25Db21wb25lbnQsXG4gICAgRm9ybUNvbmZpZ3VyYXRpb25Gb3JGb3JtTW9kdWxlLFxuICAgIEZpbGVEcm9wcGVyTW9kdWxlLFxuICAgIERvY3VtZW50Vmlld2VyTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBQcm9kdWN0Rm9ybUNvbXBvbmVudCxcbiAgICBQcm9kdWN0QmFzaWNJbmZvQ29tcG9uZW50LFxuICAgIFByb2R1Y3RGb3JtQnV0dG9uQ29tcG9uZW50LFxuICAgIFByb2R1Y3RCYXRjaFVwZGF0ZUZvcm1Db21wb25lbnRcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1vZHVsZSB7IH1cbiJdfQ==
@@ -4,12 +4,12 @@ import * as i0 from "@angular/core";
4
4
  export class ProductCategoryBadgesComponent {
5
5
  product;
6
6
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductCategoryBadgesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProductCategoryBadgesComponent, isStandalone: true, selector: "app-product-category-badges", inputs: { product: "product" }, ngImport: i0, template: "<div *ngIf=\"product?.categories?.length > 0\" class=\"d-flex justify-content-start align-items-center gap-1 badges-container\">\n <span class=\"badge bg-primary-lighter\" *ngFor=\"let category of product?.categories\">\n {{ category?.title }}\n </span>\n</div>\n", styles: [".badges-container{max-width:400px;flex-wrap:wrap}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], preserveWhitespaces: true });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProductCategoryBadgesComponent, isStandalone: true, selector: "app-product-category-badges", inputs: { product: "product" }, ngImport: i0, template: "<div *ngIf=\"product?.categories?.length > 0\" class=\"d-flex justify-content-start align-items-center gap-1 badges-container\">\n <span class=\"badge bg-primary\" *ngFor=\"let category of product?.categories\">\n {{ category?.title }}\n </span>\n</div>\n", styles: [".badges-container{max-width:400px;flex-wrap:wrap}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], preserveWhitespaces: true });
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductCategoryBadgesComponent, decorators: [{
10
10
  type: Component,
11
- args: [{ selector: 'app-product-category-badges', standalone: true, imports: [NgIf, NgForOf], template: "<div *ngIf=\"product?.categories?.length > 0\" class=\"d-flex justify-content-start align-items-center gap-1 badges-container\">\n <span class=\"badge bg-primary-lighter\" *ngFor=\"let category of product?.categories\">\n {{ category?.title }}\n </span>\n</div>\n", styles: [".badges-container{max-width:400px;flex-wrap:wrap}\n"] }]
11
+ args: [{ selector: 'app-product-category-badges', standalone: true, imports: [NgIf, NgForOf], template: "<div *ngIf=\"product?.categories?.length > 0\" class=\"d-flex justify-content-start align-items-center gap-1 badges-container\">\n <span class=\"badge bg-primary\" *ngFor=\"let category of product?.categories\">\n {{ category?.title }}\n </span>\n</div>\n", styles: [".badges-container{max-width:400px;flex-wrap:wrap}\n"] }]
12
12
  }], propDecorators: { product: [{
13
13
  type: Input
14
14
  }] } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jYXRlZ29yeS1iYWRnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vcHJvZHVjdC93aWRnZXRzL3Byb2R1Y3QtY2F0ZWdvcnktYmFkZ2VzL3Byb2R1Y3QtY2F0ZWdvcnktYmFkZ2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3Byb2R1Y3Qvd2lkZ2V0cy9wcm9kdWN0LWNhdGVnb3J5LWJhZGdlcy9wcm9kdWN0LWNhdGVnb3J5LWJhZGdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVNoRCxNQUFNLE9BQU8sOEJBQThCO0lBQ2hDLE9BQU8sQ0FBTTt3R0FEWCw4QkFBOEI7NEZBQTlCLDhCQUE4Qix1SENWM0MsOFFBS0EsNkdEQ1ksSUFBSSw2RkFBRSxPQUFPOzs0RkFJWiw4QkFBOEI7a0JBUDFDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBQzNCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7OEJBS2YsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LWNhdGVnb3J5LWJhZGdlcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0Zvck9mXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtY2F0ZWdvcnktYmFkZ2VzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtY2F0ZWdvcnktYmFkZ2VzLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdENhdGVnb3J5QmFkZ2VzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvZHVjdDogYW55O1xufVxuIiwiPGRpdiAqbmdJZj1cInByb2R1Y3Q/LmNhdGVnb3JpZXM/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xIGJhZGdlcy1jb250YWluZXJcIj5cbiAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1wcmltYXJ5LWxpZ2h0ZXJcIiAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgcHJvZHVjdD8uY2F0ZWdvcmllc1wiPlxuICAgIHt7IGNhdGVnb3J5Py50aXRsZSB9fVxuICA8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jYXRlZ29yeS1iYWRnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vcHJvZHVjdC93aWRnZXRzL3Byb2R1Y3QtY2F0ZWdvcnktYmFkZ2VzL3Byb2R1Y3QtY2F0ZWdvcnktYmFkZ2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3Byb2R1Y3Qvd2lkZ2V0cy9wcm9kdWN0LWNhdGVnb3J5LWJhZGdlcy9wcm9kdWN0LWNhdGVnb3J5LWJhZGdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVNoRCxNQUFNLE9BQU8sOEJBQThCO0lBQ2hDLE9BQU8sQ0FBTTt3R0FEWCw4QkFBOEI7NEZBQTlCLDhCQUE4Qix1SENWM0Msc1FBS0EsNkdEQ1ksSUFBSSw2RkFBRSxPQUFPOzs0RkFJWiw4QkFBOEI7a0JBUDFDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBQzNCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7OEJBS2YsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LWNhdGVnb3J5LWJhZGdlcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0Zvck9mXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtY2F0ZWdvcnktYmFkZ2VzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtY2F0ZWdvcnktYmFkZ2VzLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdENhdGVnb3J5QmFkZ2VzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvZHVjdDogYW55O1xufVxuIiwiPGRpdiAqbmdJZj1cInByb2R1Y3Q/LmNhdGVnb3JpZXM/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xIGJhZGdlcy1jb250YWluZXJcIj5cbiAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1wcmltYXJ5XCIgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIHByb2R1Y3Q/LmNhdGVnb3JpZXNcIj5cbiAgICB7eyBjYXRlZ29yeT8udGl0bGUgfX1cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=