techlify-inventory-common 18.24.1 → 18.26.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.
- package/esm2022/lib/inventory-common/inventory-common-routing.module.mjs +2 -2
- package/esm2022/lib/inventory-common/product/product-view-page/product-view-page.component.mjs +4 -4
- package/esm2022/lib/inventory-common/product/product.module.mjs +5 -9
- package/esm2022/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.mjs +5 -3
- package/esm2022/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.component.mjs +8 -8
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form/stock-issue-form.component.mjs +9 -9
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.component.mjs +179 -0
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.module.mjs +67 -0
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-routing.module.mjs +36 -0
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-view/stock-issue-view.component.mjs +68 -0
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue.module.mjs +67 -0
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue.service.mjs +18 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.mjs +3 -3
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-list-page/stock-receipts-list-page.component.mjs +18 -3
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts.module.mjs +7 -4
- package/esm2022/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form-button/supplier-branch-form-button.component.mjs +47 -0
- package/esm2022/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form.component.mjs +82 -0
- package/esm2022/lib/inventory-common/supplier/supplier-branch.service.mjs +18 -0
- package/esm2022/lib/inventory-common/supplier/supplier-branches-list/supplier-branches-list.component.mjs +78 -0
- package/esm2022/lib/inventory-common/supplier/supplier-view/supplier-view.component.mjs +4 -3
- package/esm2022/lib/inventory-common/supplier/supplier.module.mjs +18 -9
- package/esm2022/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.mjs +2 -2
- package/esm2022/public-api.mjs +4 -4
- package/fesm2022/{techlify-inventory-common-category.module-DmlWI9xk.mjs → techlify-inventory-common-category.module-BkY9hkxM.mjs} +9 -9
- package/fesm2022/{techlify-inventory-common-category.module-DmlWI9xk.mjs.map → techlify-inventory-common-category.module-BkY9hkxM.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-measure.module-NTiKN2Rg.mjs → techlify-inventory-common-measure.module-Bx4ev2N2.mjs} +6 -6
- package/fesm2022/{techlify-inventory-common-measure.module-NTiKN2Rg.mjs.map → techlify-inventory-common-measure.module-Bx4ev2N2.mjs.map} +1 -1
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-9J99m1Rw.mjs +66 -0
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-9J99m1Rw.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-D7rXITcH.mjs +6347 -0
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-D7rXITcH.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common.mjs +1 -6290
- package/fesm2022/techlify-inventory-common.mjs.map +1 -1
- package/lib/inventory-common/product/product-view-page/product-view-page.component.d.ts +2 -2
- package/lib/inventory-common/product/product.module.d.ts +9 -10
- package/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.component.d.ts +3 -3
- package/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form/stock-issue-form.component.d.ts +3 -3
- package/lib/inventory-common/stock-issuances/{stock-issuances-list/stock-issuances-list.component.d.ts → stock-issue-list/stock-issue-list.component.d.ts} +8 -6
- package/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.module.d.ts +17 -0
- package/lib/inventory-common/stock-issuances/stock-issue-routing.module.d.ts +7 -0
- package/lib/inventory-common/stock-issuances/stock-issue-view/stock-issue-view.component.d.ts +19 -0
- package/lib/inventory-common/stock-issuances/stock-issue.module.d.ts +19 -0
- package/lib/inventory-common/stock-issuances/stock-issue.service.d.ts +7 -0
- package/lib/inventory-common/stock-receipts/stock-receipts-list-page/stock-receipts-list-page.component.d.ts +3 -0
- package/lib/inventory-common/stock-receipts/stock-receipts.module.d.ts +1 -1
- package/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form-button/supplier-branch-form-button.component.d.ts +13 -0
- package/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form.component.d.ts +24 -0
- package/lib/inventory-common/supplier/supplier-branch.service.d.ts +7 -0
- package/lib/inventory-common/supplier/supplier-branches-list/supplier-branches-list.component.d.ts +18 -0
- package/lib/inventory-common/supplier/supplier.module.d.ts +17 -14
- package/package.json +1 -1
- package/public-api.d.ts +3 -3
- package/esm2022/lib/inventory-common/product/product-tax/product-tax-delete-button/product-tax-delete-button.component.mjs +0 -54
- package/esm2022/lib/inventory-common/product/product-tax/product-tax-form-button/product-tax-form-button.component.mjs +0 -77
- package/esm2022/lib/inventory-common/product/product-tax/product-tax-list/product-tax-list.component.mjs +0 -35
- package/esm2022/lib/inventory-common/product/product-tax/product-tax.module.mjs +0 -22
- package/esm2022/lib/inventory-common/product/product-tax/product-tax.service.mjs +0 -18
- package/esm2022/lib/inventory-common/stock-issuances/stock-issuance.service.mjs +0 -18
- package/esm2022/lib/inventory-common/stock-issuances/stock-issuances-list/stock-issuances-list.component.mjs +0 -170
- package/esm2022/lib/inventory-common/stock-issuances/stock-issuances-list/stock-issuances-list.module.mjs +0 -64
- package/esm2022/lib/inventory-common/stock-issuances/stock-issuances-routing.module.mjs +0 -31
- package/esm2022/lib/inventory-common/stock-issuances/stock-issuances.module.mjs +0 -67
- package/lib/inventory-common/product/product-tax/product-tax-delete-button/product-tax-delete-button.component.d.ts +0 -26
- package/lib/inventory-common/product/product-tax/product-tax-form-button/product-tax-form-button.component.d.ts +0 -21
- package/lib/inventory-common/product/product-tax/product-tax-list/product-tax-list.component.d.ts +0 -13
- package/lib/inventory-common/product/product-tax/product-tax.module.d.ts +0 -12
- package/lib/inventory-common/product/product-tax/product-tax.service.d.ts +0 -7
- package/lib/inventory-common/stock-issuances/stock-issuance.service.d.ts +0 -7
- package/lib/inventory-common/stock-issuances/stock-issuances-list/stock-issuances-list.module.d.ts +0 -17
- package/lib/inventory-common/stock-issuances/stock-issuances-routing.module.d.ts +0 -7
- package/lib/inventory-common/stock-issuances/stock-issuances.module.d.ts +0 -19
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { TechlifyListingControllerInterface } from 'ngx-techlify-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/table";
|
|
5
|
-
import * as i2 from "@angular/material/card";
|
|
6
|
-
import * as i3 from "@angular/material/divider";
|
|
7
|
-
import * as i4 from "../product-tax-form-button/product-tax-form-button.component";
|
|
8
|
-
import * as i5 from "../product-tax-delete-button/product-tax-delete-button.component";
|
|
9
|
-
export class ProductTaxListComponent extends TechlifyListingControllerInterface {
|
|
10
|
-
product;
|
|
11
|
-
displayedColumns = ['#', 'Tax', 'Actions'];
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
this.loadData();
|
|
14
|
-
}
|
|
15
|
-
loadData() {
|
|
16
|
-
this.models = this.product?.taxes ?? [];
|
|
17
|
-
}
|
|
18
|
-
onCreated(productTax) {
|
|
19
|
-
this.models.unshift(productTax);
|
|
20
|
-
this.models = [...this.models];
|
|
21
|
-
}
|
|
22
|
-
onDeleted(index) {
|
|
23
|
-
this.models.splice(index, 1);
|
|
24
|
-
this.models = [...this.models];
|
|
25
|
-
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductTaxListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProductTaxListComponent, selector: "app-product-tax-list", inputs: { product: "product" }, usesInheritance: true, ngImport: i0, template: "<mat-card>\n <mat-card-content class=\"pb-3 d-flex justify-content-between align-items-center gap-3\">\n <div class=\"d-flex justify-content-start gap-2\">\n <span class=\"material-symbols-outlined\"> percent </span>\n <strong class=\"mb-0 text-dark\">Product Taxes</strong>\n </div>\n <app-product-tax-form-button [product]=\"product\" (saved)=\"onCreated($event)\"></app-product-tax-form-button>\n </mat-card-content>\n <mat-divider></mat-divider>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\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 <ng-container matColumnDef=\"Tax\">\n <th mat-header-cell *matHeaderCellDef>Tax</th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-0\">{{ element?.tax?.title }} ({{ element?.tax?.code }})</p>\n <small class=\"text-secondary\">{{ element?.tax?.value }} - {{ element?.tax?.type?.title }}</small>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">\n <app-product-tax-delete-button\n [productTax]=\"element\"\n (deleted)=\"onDeleted(i)\"\n ></app-product-tax-delete-button>\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 </mat-card-content>\n</mat-card>\n", dependencies: [{ kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i4.ProductTaxFormButtonComponent, selector: "app-product-tax-form-button", inputs: ["product"], outputs: ["saved"] }, { kind: "component", type: i5.ProductTaxDeleteButtonComponent, selector: "app-product-tax-delete-button", inputs: ["productTax"], outputs: ["deleted"] }], preserveWhitespaces: true });
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductTaxListComponent, decorators: [{
|
|
30
|
-
type: Component,
|
|
31
|
-
args: [{ selector: 'app-product-tax-list', template: "<mat-card>\n <mat-card-content class=\"pb-3 d-flex justify-content-between align-items-center gap-3\">\n <div class=\"d-flex justify-content-start gap-2\">\n <span class=\"material-symbols-outlined\"> percent </span>\n <strong class=\"mb-0 text-dark\">Product Taxes</strong>\n </div>\n <app-product-tax-form-button [product]=\"product\" (saved)=\"onCreated($event)\"></app-product-tax-form-button>\n </mat-card-content>\n <mat-divider></mat-divider>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\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 <ng-container matColumnDef=\"Tax\">\n <th mat-header-cell *matHeaderCellDef>Tax</th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-0\">{{ element?.tax?.title }} ({{ element?.tax?.code }})</p>\n <small class=\"text-secondary\">{{ element?.tax?.value }} - {{ element?.tax?.type?.title }}</small>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">\n <app-product-tax-delete-button\n [productTax]=\"element\"\n (deleted)=\"onDeleted(i)\"\n ></app-product-tax-delete-button>\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 </mat-card-content>\n</mat-card>\n" }]
|
|
32
|
-
}], propDecorators: { product: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC10YXgtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3QtdGF4L3Byb2R1Y3QtdGF4LWxpc3QvcHJvZHVjdC10YXgtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9wcm9kdWN0L3Byb2R1Y3QtdGF4L3Byb2R1Y3QtdGF4LWxpc3QvcHJvZHVjdC10YXgtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztBQU12RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0NBQWtDO0lBQ3BFLE9BQU8sQ0FBTztJQUV2QixnQkFBZ0IsR0FBYSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFckQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxTQUFTLENBQUMsVUFBZTtRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQzt3R0FyQlUsdUJBQXVCOzRGQUF2Qix1QkFBdUIsbUhDUHBDLHdzREF1Q0E7OzRGRGhDYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUl2QixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlY2hsaWZ5TGlzdGluZ0NvbnRyb2xsZXJJbnRlcmZhY2UgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LXRheC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtdGF4LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0VGF4TGlzdENvbXBvbmVudCBleHRlbmRzIFRlY2hsaWZ5TGlzdGluZ0NvbnRyb2xsZXJJbnRlcmZhY2UgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9kdWN0ITogYW55O1xuXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gWycjJywgJ1RheCcsICdBY3Rpb25zJ107XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICB9XG5cbiAgbG9hZERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbHMgPSB0aGlzLnByb2R1Y3Q/LnRheGVzID8/IFtdO1xuICB9XG5cbiAgb25DcmVhdGVkKHByb2R1Y3RUYXg6IGFueSkge1xuICAgIHRoaXMubW9kZWxzLnVuc2hpZnQocHJvZHVjdFRheCk7XG4gICAgdGhpcy5tb2RlbHMgPSBbLi4udGhpcy5tb2RlbHNdO1xuICB9XG5cbiAgb25EZWxldGVkKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLm1vZGVscy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMubW9kZWxzID0gWy4uLnRoaXMubW9kZWxzXTtcbiAgfVxufVxuIiwiPG1hdC1jYXJkPlxuICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cInBiLTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGdhcC0yXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj4gcGVyY2VudCA8L3NwYW4+XG4gICAgICA8c3Ryb25nIGNsYXNzPVwibWItMCB0ZXh0LWRhcmtcIj5Qcm9kdWN0IFRheGVzPC9zdHJvbmc+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1wcm9kdWN0LXRheC1mb3JtLWJ1dHRvbiBbcHJvZHVjdF09XCJwcm9kdWN0XCIgKHNhdmVkKT1cIm9uQ3JlYXRlZCgkZXZlbnQpXCI+PC9hcHAtcHJvZHVjdC10YXgtZm9ybS1idXR0b24+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwicC0wXCI+XG4gICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJtb2RlbHNcIiBjbGFzcz1cInctMTAwXCI+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIiNcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4jPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gaW5kZXhcIj57eyBpICsgMSB9fTwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJUYXhcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5UYXg8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IGVsZW1lbnQ/LnRheD8udGl0bGUgfX0gKHt7IGVsZW1lbnQ/LnRheD8uY29kZSB9fSk8L3A+XG4gICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj57eyBlbGVtZW50Py50YXg/LnZhbHVlIH19IC0ge3sgZWxlbWVudD8udGF4Py50eXBlPy50aXRsZSB9fTwvc21hbGw+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJBY3Rpb25zXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+QWN0aW9uczwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgPGFwcC1wcm9kdWN0LXRheC1kZWxldGUtYnV0dG9uXG4gICAgICAgICAgICBbcHJvZHVjdFRheF09XCJlbGVtZW50XCJcbiAgICAgICAgICAgIChkZWxldGVkKT1cIm9uRGVsZXRlZChpKVwiXG4gICAgICAgICAgPjwvYXBwLXByb2R1Y3QtdGF4LWRlbGV0ZS1idXR0b24+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICA8L3RhYmxlPlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuIl19
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { MaterialModule, SearchableSelectorModule } from 'ngx-techlify-core';
|
|
4
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { ProductTaxListComponent } from './product-tax-list/product-tax-list.component';
|
|
6
|
-
import { ProductTaxFormButtonComponent } from './product-tax-form-button/product-tax-form-button.component';
|
|
7
|
-
import { ProductTaxDeleteButtonComponent } from './product-tax-delete-button/product-tax-delete-button.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class ProductTaxModule {
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductTaxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ProductTaxModule, declarations: [ProductTaxListComponent, ProductTaxFormButtonComponent, ProductTaxDeleteButtonComponent], imports: [CommonModule, MaterialModule, ReactiveFormsModule, SearchableSelectorModule], exports: [ProductTaxListComponent] });
|
|
12
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductTaxModule, imports: [CommonModule, MaterialModule, ReactiveFormsModule, SearchableSelectorModule] });
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductTaxModule, decorators: [{
|
|
15
|
-
type: NgModule,
|
|
16
|
-
args: [{
|
|
17
|
-
declarations: [ProductTaxListComponent, ProductTaxFormButtonComponent, ProductTaxDeleteButtonComponent],
|
|
18
|
-
imports: [CommonModule, MaterialModule, ReactiveFormsModule, SearchableSelectorModule],
|
|
19
|
-
exports: [ProductTaxListComponent],
|
|
20
|
-
}]
|
|
21
|
-
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC10YXgubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vcHJvZHVjdC9wcm9kdWN0LXRheC9wcm9kdWN0LXRheC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzVHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOztBQU9sSCxNQUFNLE9BQU8sZ0JBQWdCO3dHQUFoQixnQkFBZ0I7eUdBQWhCLGdCQUFnQixpQkFKWix1QkFBdUIsRUFBRSw2QkFBNkIsRUFBRSwrQkFBK0IsYUFDNUYsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsYUFDM0UsdUJBQXVCO3lHQUV0QixnQkFBZ0IsWUFIakIsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0I7OzRGQUcxRSxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsNkJBQTZCLEVBQUUsK0JBQStCLENBQUM7b0JBQ3ZHLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLENBQUM7b0JBQ3RGLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUsIFNlYXJjaGFibGVTZWxlY3Rvck1vZHVsZSB9IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQcm9kdWN0VGF4TGlzdENvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC10YXgtbGlzdC9wcm9kdWN0LXRheC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0VGF4Rm9ybUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC10YXgtZm9ybS1idXR0b24vcHJvZHVjdC10YXgtZm9ybS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3RUYXhEZWxldGVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtdGF4LWRlbGV0ZS1idXR0b24vcHJvZHVjdC10YXgtZGVsZXRlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtQcm9kdWN0VGF4TGlzdENvbXBvbmVudCwgUHJvZHVjdFRheEZvcm1CdXR0b25Db21wb25lbnQsIFByb2R1Y3RUYXhEZWxldGVCdXR0b25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRlcmlhbE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlXSxcbiAgZXhwb3J0czogW1Byb2R1Y3RUYXhMaXN0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdFRheE1vZHVsZSB7fVxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { TechlifyServiceBaseClass } from 'ngx-techlify-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "ngx-techlify-core";
|
|
5
|
-
export class ProductTaxService extends TechlifyServiceBaseClass {
|
|
6
|
-
constructor(httpService) {
|
|
7
|
-
super(httpService, 'product-taxes');
|
|
8
|
-
}
|
|
9
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductTaxService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductTaxService, providedIn: 'root' });
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProductTaxService, decorators: [{
|
|
13
|
-
type: Injectable,
|
|
14
|
-
args: [{
|
|
15
|
-
providedIn: 'root',
|
|
16
|
-
}]
|
|
17
|
-
}], ctorParameters: () => [{ type: i1.HttpService }] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC10YXguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3Byb2R1Y3QvcHJvZHVjdC10YXgvcHJvZHVjdC10YXguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBZSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFLMUUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHdCQUF3QjtJQUM3RCxZQUFZLFdBQXdCO1FBQ2xDLEtBQUssQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEMsQ0FBQzt3R0FIVSxpQkFBaUI7NEdBQWpCLGlCQUFpQixjQUZoQixNQUFNOzs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UsIFRlY2hsaWZ5U2VydmljZUJhc2VDbGFzcyB9IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RUYXhTZXJ2aWNlIGV4dGVuZHMgVGVjaGxpZnlTZXJ2aWNlQmFzZUNsYXNzIHtcbiAgY29uc3RydWN0b3IoaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlKSB7XG4gICAgc3VwZXIoaHR0cFNlcnZpY2UsICdwcm9kdWN0LXRheGVzJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { TechlifyServiceBaseClass } from 'ngx-techlify-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "ngx-techlify-core";
|
|
5
|
-
export class StockIssuanceService extends TechlifyServiceBaseClass {
|
|
6
|
-
constructor(httpService) {
|
|
7
|
-
super(httpService, 'stock-issuances');
|
|
8
|
-
}
|
|
9
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuanceService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuanceService, providedIn: 'root' });
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuanceService, decorators: [{
|
|
13
|
-
type: Injectable,
|
|
14
|
-
args: [{
|
|
15
|
-
providedIn: 'root',
|
|
16
|
-
}]
|
|
17
|
-
}], ctorParameters: () => [{ type: i1.HttpService }] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWFuY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLWlzc3VhbmNlcy9zdG9jay1pc3N1YW5jZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFlLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUsxRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsd0JBQXdCO0lBQ2hFLFlBQVksV0FBd0I7UUFDbEMsS0FBSyxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7d0dBSFUsb0JBQW9COzRHQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlLCBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3MgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja0lzc3VhbmNlU2VydmljZSBleHRlbmRzIFRlY2hsaWZ5U2VydmljZUJhc2VDbGFzcyB7XG4gIGNvbnN0cnVjdG9yKGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSkge1xuICAgIHN1cGVyKGh0dHBTZXJ2aWNlLCAnc3RvY2staXNzdWFuY2VzJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { TechlifyListingControllerInterface } from 'ngx-techlify-core';
|
|
3
|
-
import { debounceTime, distinctUntilChanged } from 'rxjs';
|
|
4
|
-
import moment from 'moment';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "../stock-issuance.service";
|
|
8
|
-
import * as i3 from "@angular/router";
|
|
9
|
-
import * as i4 from "ngx-techlify-core";
|
|
10
|
-
import * as i5 from "@angular/common";
|
|
11
|
-
import * as i6 from "@angular/material/form-field";
|
|
12
|
-
import * as i7 from "@angular/material/input";
|
|
13
|
-
import * as i8 from "@angular/material/sort";
|
|
14
|
-
import * as i9 from "@angular/material/table";
|
|
15
|
-
import * as i10 from "@angular/material/card";
|
|
16
|
-
import * as i11 from "@angular/material/tooltip";
|
|
17
|
-
import * as i12 from "@angular/material/progress-bar";
|
|
18
|
-
import * as i13 from "../stock-issue-form/stock-issue-form-button/stock-issue-form-button.component";
|
|
19
|
-
import * as i14 from "ngx-infinite-scroll";
|
|
20
|
-
import * as i15 from "../stock-issuance-delete-button/stock-issuance-delete-button.component";
|
|
21
|
-
import * as i16 from "../../product/widgets/product-category-badges/product-category-badges.component";
|
|
22
|
-
export class StockIssuancesListComponent extends TechlifyListingControllerInterface {
|
|
23
|
-
formBuilder;
|
|
24
|
-
stockIssuanceService;
|
|
25
|
-
activatedRoute;
|
|
26
|
-
featureService;
|
|
27
|
-
product;
|
|
28
|
-
issuableType;
|
|
29
|
-
issuableId;
|
|
30
|
-
label = 'Stock Issues';
|
|
31
|
-
showActions = true;
|
|
32
|
-
showFilters = true;
|
|
33
|
-
listUpdated = new EventEmitter();
|
|
34
|
-
defaultSelectedColumns = [
|
|
35
|
-
'no', 'product', 'sku', 'date', 'quantity', 'measure', 'location', 'related', 'particulars',
|
|
36
|
-
];
|
|
37
|
-
columnConfig = [
|
|
38
|
-
{ label: 'Creator', def: 'creator', isSelected: false, isEditable: true },
|
|
39
|
-
];
|
|
40
|
-
selectedColumns = this.columnConfig.filter(col => col.isSelected);
|
|
41
|
-
get displayedColumns() {
|
|
42
|
-
const selectedColumns = this.selectedColumns.map(col => col.def);
|
|
43
|
-
return this.defaultSelectedColumns.concat(...selectedColumns, 'actions');
|
|
44
|
-
}
|
|
45
|
-
constructor(formBuilder, stockIssuanceService, activatedRoute, featureService) {
|
|
46
|
-
super();
|
|
47
|
-
this.formBuilder = formBuilder;
|
|
48
|
-
this.stockIssuanceService = stockIssuanceService;
|
|
49
|
-
this.activatedRoute = activatedRoute;
|
|
50
|
-
this.featureService = featureService;
|
|
51
|
-
this.lastPage = 0;
|
|
52
|
-
this.filterForm = this.formBuilder.group({
|
|
53
|
-
category_ids: [''],
|
|
54
|
-
date_from: [''],
|
|
55
|
-
date_to: [''],
|
|
56
|
-
duration: [''],
|
|
57
|
-
import_id: [''],
|
|
58
|
-
location_ids: [''],
|
|
59
|
-
measure_ids: [''],
|
|
60
|
-
product_ids: [''],
|
|
61
|
-
search: [''],
|
|
62
|
-
sort_by: ['date|desc'],
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
ngOnInit() {
|
|
66
|
-
this.loadFeatures();
|
|
67
|
-
if (this.product) {
|
|
68
|
-
this.filterForm.get('product_ids')?.setValue(this.product?.id);
|
|
69
|
-
this.defaultSelectedColumns = this.defaultSelectedColumns.filter(c => c !== 'product' && c !== 'sku');
|
|
70
|
-
}
|
|
71
|
-
this.updateFormWithQueryParams();
|
|
72
|
-
this.subscribeToFormChanges();
|
|
73
|
-
this.subscribeToRouteChanges();
|
|
74
|
-
}
|
|
75
|
-
loadData() {
|
|
76
|
-
const params = {
|
|
77
|
-
page: this.page,
|
|
78
|
-
perPage: this.perPage,
|
|
79
|
-
with: `creator,issuable.fixedAsset,stockIssueProducts.product,stockIssueProducts.location,stockIssueProducts.product.categories,stockTransfer,stockIssueProducts.batch`,
|
|
80
|
-
...this.requestHelperService.convertToFormData(this.filterForm.value),
|
|
81
|
-
};
|
|
82
|
-
if (this.issuableId && this.issuableType) {
|
|
83
|
-
params.issuable_ids = this.issuableId;
|
|
84
|
-
params.issuable_types = this.issuableType;
|
|
85
|
-
}
|
|
86
|
-
this.isWorking = true;
|
|
87
|
-
this.stockIssuanceService.index(params).subscribe({
|
|
88
|
-
next: (response) => {
|
|
89
|
-
this.models = this.models.concat(response?.data);
|
|
90
|
-
this.lastPage = response?.last_page;
|
|
91
|
-
this.isWorking = false;
|
|
92
|
-
},
|
|
93
|
-
error: () => {
|
|
94
|
-
this.isWorking = false;
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
onSortChange(sort) {
|
|
99
|
-
let { active, direction } = sort;
|
|
100
|
-
if (!active) {
|
|
101
|
-
active = 'date';
|
|
102
|
-
}
|
|
103
|
-
if (!direction) {
|
|
104
|
-
direction = 'desc';
|
|
105
|
-
active = 'date';
|
|
106
|
-
}
|
|
107
|
-
this.filterForm.get('sort_by').setValue(active + '|' + direction);
|
|
108
|
-
}
|
|
109
|
-
updateFormWithQueryParams() {
|
|
110
|
-
this.requestHelperService.updateFormWithQueryParams(this.filterForm, {
|
|
111
|
-
product_ids: { multiple: true },
|
|
112
|
-
measure_ids: { multiple: true },
|
|
113
|
-
category_ids: { multiple: true },
|
|
114
|
-
supplier_ids: { multiple: true },
|
|
115
|
-
location_ids: { multiple: true },
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
subscribeToFormChanges() {
|
|
119
|
-
this.filterForm.valueChanges.pipe(debounceTime(800)).subscribe({
|
|
120
|
-
next: () => {
|
|
121
|
-
this.requestHelperService.updateQueryParams(this.requestHelperService.convertToFormData(this.filterForm.value));
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
subscribeToRouteChanges() {
|
|
126
|
-
this.activatedRoute.queryParams
|
|
127
|
-
.pipe(debounceTime(500), distinctUntilChanged())
|
|
128
|
-
.subscribe(() => {
|
|
129
|
-
this.reload();
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
onDurationChange(timelineValue) {
|
|
133
|
-
let { date_to, date_from } = timelineValue;
|
|
134
|
-
this.filterForm.patchValue({
|
|
135
|
-
date_from: date_from ? moment(date_from).format("YYYY-MM-DD") : "",
|
|
136
|
-
date_to: date_to ? moment(date_to).format("YYYY-MM-DD") : "",
|
|
137
|
-
}, { emitEvent: false });
|
|
138
|
-
}
|
|
139
|
-
loadFeatures() {
|
|
140
|
-
let isBatchEnabled = this.featureService.isFeatureExists('product-batch-numbers');
|
|
141
|
-
// now update displayedColumns accordingly
|
|
142
|
-
if (isBatchEnabled) {
|
|
143
|
-
const qtyIndex = this.defaultSelectedColumns.indexOf('quantity');
|
|
144
|
-
if (qtyIndex >= 0) {
|
|
145
|
-
this.defaultSelectedColumns.splice(qtyIndex + 1, 0, 'batch');
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesListComponent, deps: [{ token: i1.FormBuilder }, { token: i2.StockIssuanceService }, { token: i3.ActivatedRoute }, { token: i4.TechlifyFeatureService }], target: i0.ɵɵFactoryTarget.Component });
|
|
150
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockIssuancesListComponent, selector: "app-stock-issuances-list", inputs: { product: "product", issuableType: "issuableType", issuableId: "issuableId", label: "label", showActions: "showActions", showFilters: "showFilters" }, outputs: { listUpdated: "listUpdated" }, usesInheritance: true, ngImport: i0, template: "<mat-card *ngIf=\"!product\" class=\"mb-2\">\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-3\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <h3 class=\"mb-0\">{{ label }}</h3>\n\n <app-stock-issue-form-button icon=\"add\" [issuableType]=\"issuableType\" [issuableId]=\"issuableId\"\n (saved)=\"reload()\"></app-stock-issue-form-button>\n\n <span *ngIf=\"showActions\" matTooltip=\"Import\" routerLink=\"import\"\n class=\"cursor-pointer material-symbols-outlined\">\n file_upload\n </span>\n\n <app-column-selector *ngIf=\"showActions\" mode=\"icon\" class=\"mt-2 d-print-none\" [columnConfigs]=\"columnConfig\"\n [(selectedColumns)]=\"selectedColumns\"></app-column-selector>\n </div>\n\n <form [formGroup]=\"filterForm\" *ngIf=\"showFilters\">\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input matInput placeholder=\"Search products\" formControlName=\"search\" />\n </mat-form-field>\n\n <app-timeline-filter appearance=\"fill\" labelText=\"Date\" formControlName=\"duration\"\n (selectionChange)=\"onDurationChange($event)\" [showClearButton]=\"true\" [dateFrom]=\"filterForm.value?.date_from\"\n [dateTo]=\"filterForm.value?.date_to\"></app-timeline-filter>\n\n <mat-form-field>\n <mat-label>Category</mat-label>\n <app-searchable-selector apiUrl=\"api/product-categories\" formControlName=\"category_ids\" [multiple]=\"true\">\n </app-searchable-selector>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Measure</mat-label>\n <app-searchable-selector apiUrl=\"api/product-measures\" formControlName=\"measure_ids\" [multiple]=\"true\">\n </app-searchable-selector>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Location</mat-label>\n <app-searchable-selector apiUrl=\"api/inventory-locations\" formControlName=\"location_ids\" [multiple]=\"true\">\n </app-searchable-selector>\n </mat-form-field>\n </form>\n </mat-card-content>\n</mat-card>\n\n<mat-card>\n <mat-card-content *ngIf=\"product\" class=\"mb-0\">\n <div class=\"d-flex justify-content-start align-items-center gap-2 mb-2\">\n <span class=\"material-symbols-outlined\"> ungroup </span>\n <h3 class=\"mb-0\">Stock Issues</h3>\n\n <app-stock-issue-form-button class=\"mt-2\" [product]=\"product\" icon=\"add\"\n (saved)=\"reload(); listUpdated.emit()\"></app-stock-issue-form-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\" aria-describedby=\"Stock Issuances\" infiniteScroll\n [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" matSort\n (matSortChange)=\"onSortChange($event)\">\n <!-- # Column -->\n <ng-container matColumnDef=\"no\">\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 mat-sort-header>Product</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex flex-column gap-1\">\n <a class=\"text-decoration-none text-dark\"\n [routerLink]=\"['/inventory/products', element?.stock_issue_products[0]?.product?.id, 'view']\">\n {{ element?.stock_issue_products[0]?.product.name }}\n </a>\n <app-product-category-badges\n [product]=\"element?.stock_issue_products[0]?.product\"></app-product-category-badges>\n </div>\n </td>\n </ng-container>\n\n <!-- SKU Column -->\n <ng-container matColumnDef=\"sku\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>SKU</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.stock_issue_products[0]?.product.sku }}</td>\n </ng-container>\n\n <!-- Date Column -->\n <ng-container matColumnDef=\"date\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Date</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.date | date }}</td>\n </ng-container>\n\n <!-- Location Column -->\n <ng-container matColumnDef=\"location\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Location</th>\n <td mat-cell *matCellDef=\"let element\">\n <a class=\"text-decoration-none text-dark\"\n [routerLink]=\"['/inventory/locations', element?.stock_issue_products[0]?.location_id, 'view']\">\n {{ element?.stock_issue_products[0]?.location?.title }}\n </a>\n </td>\n </ng-container>\n\n <!-- Related Column -->\n <ng-container matColumnDef=\"related\">\n <th mat-header-cell *matHeaderCellDef>Related</th>\n <td mat-cell *matCellDef=\"let element\">\n <a class=\"text-dark\" *ngIf=\"element?.issuable\" [routerLink]=\"['/maintenances', element?.issuable_id, 'view']\">\n Maintenance for {{ element?.issuable?.fixed_asset?.name }}\n </a>\n </td>\n </ng-container>\n\n <!-- Quantity Column -->\n <ng-container matColumnDef=\"quantity\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Quantity</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.stock_issue_products[0]?.quantity }} {{\n element?.stock_issue_products[0]?.product.measure?.title }}</td>\n </ng-container>\n\n <!-- Batch Column -->\n <ng-container matColumnDef=\"batch\">\n <th mat-header-cell *matHeaderCellDef>Batch</th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-0\" *ngIf=\"element?.stock_issue_products[0]?.batch?.batch_number\">{{ element?.stock_issue_products[0]?.batch?.batch_number }}</p>\n <small class=\"text-secondary\" *ngIf=\"element?.stock_issue_products[0]?.batch?.expires_on\">\n Expires {{ element?.stock_issue_products[0]?.batch?.expires_on | date }}\n </small>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"measure\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Measure</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.stock_issue_products[0]?.product.measure?.title }}</td>\n </ng-container>\n\n <!-- Purchase Price Column -->\n <ng-container matColumnDef=\"purchase_price\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Purchase Price</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.purchase_price | currency }}\n </td>\n </ng-container>\n\n <!-- Total Value Column -->\n <ng-container matColumnDef=\"amount\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Total Value</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.amount | currency }}\n </td>\n </ng-container>\n\n <!-- Particulars Column -->\n <ng-container matColumnDef=\"particulars\">\n <th mat-header-cell *matHeaderCellDef>Particulars</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.stock_issue_products[0]?.particulars }}</td>\n </ng-container>\n\n <!-- Supplier Column -->\n <ng-container matColumnDef=\"supplier\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Supplier</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.supplier?.company_name }}\n </td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef>Creator</th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-1\">{{ element?.creator?.name }}</p>\n <small class=\"text-secondary\">{{ element?.created_at | date }}</small>\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 *ngIf=\"!element.stock_transfer\" class=\"d-flex gap-1\">\n <app-stock-issue-form-button [stockIssue]=\"element\"\n (saved)=\"reload(); listUpdated.emit()\"></app-stock-issue-form-button>\n <app-stock-issuance-delete-button [stockIssuance]=\"element\"\n (deleted)=\"reload(); listUpdated.emit()\"></app-stock-issuance-delete-button>\n </div>\n\n <span *ngIf=\"element.stock_transfer\" class=\"badge rounded-pill text-bg-secondary\">Stock Transfer</span>\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 *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>", styles: [""], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.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: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i9.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i10.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i10.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i12.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i13.StockIssueFormButtonComponent, selector: "app-stock-issue-form-button", inputs: ["product", "stockIssueProduct", "stockIssue", "icon", "issuableType", "issuableId"], outputs: ["saved"] }, { kind: "directive", type: i14.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: i15.StockIssuanceDeleteButtonComponent, selector: "app-stock-issuance-delete-button", inputs: ["stockIssuance"], outputs: ["deleted"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "component", type: i4.TimelineFilterComponent, selector: "app-timeline-filter", inputs: ["defaultValue", "required", "disabled", "value", "timelines", "dateFrom", "dateTo", "appearance", "showClearButton", "form", "labelText"], outputs: ["selectionChange"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i16.ProductCategoryBadgesComponent, selector: "app-product-category-badges", inputs: ["product"] }, { kind: "component", type: i4.ColumnSelectorComponent, selector: "app-column-selector", inputs: ["label", "mode", "columnConfigs", "selectedColumns"], outputs: ["selectedColumnsChange", "displayedColumnsChange"] }, { kind: "pipe", type: i5.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i5.DatePipe, name: "date" }], preserveWhitespaces: true });
|
|
151
|
-
}
|
|
152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesListComponent, decorators: [{
|
|
153
|
-
type: Component,
|
|
154
|
-
args: [{ selector: 'app-stock-issuances-list', template: "<mat-card *ngIf=\"!product\" class=\"mb-2\">\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-3\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <h3 class=\"mb-0\">{{ label }}</h3>\n\n <app-stock-issue-form-button icon=\"add\" [issuableType]=\"issuableType\" [issuableId]=\"issuableId\"\n (saved)=\"reload()\"></app-stock-issue-form-button>\n\n <span *ngIf=\"showActions\" matTooltip=\"Import\" routerLink=\"import\"\n class=\"cursor-pointer material-symbols-outlined\">\n file_upload\n </span>\n\n <app-column-selector *ngIf=\"showActions\" mode=\"icon\" class=\"mt-2 d-print-none\" [columnConfigs]=\"columnConfig\"\n [(selectedColumns)]=\"selectedColumns\"></app-column-selector>\n </div>\n\n <form [formGroup]=\"filterForm\" *ngIf=\"showFilters\">\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input matInput placeholder=\"Search products\" formControlName=\"search\" />\n </mat-form-field>\n\n <app-timeline-filter appearance=\"fill\" labelText=\"Date\" formControlName=\"duration\"\n (selectionChange)=\"onDurationChange($event)\" [showClearButton]=\"true\" [dateFrom]=\"filterForm.value?.date_from\"\n [dateTo]=\"filterForm.value?.date_to\"></app-timeline-filter>\n\n <mat-form-field>\n <mat-label>Category</mat-label>\n <app-searchable-selector apiUrl=\"api/product-categories\" formControlName=\"category_ids\" [multiple]=\"true\">\n </app-searchable-selector>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Measure</mat-label>\n <app-searchable-selector apiUrl=\"api/product-measures\" formControlName=\"measure_ids\" [multiple]=\"true\">\n </app-searchable-selector>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Location</mat-label>\n <app-searchable-selector apiUrl=\"api/inventory-locations\" formControlName=\"location_ids\" [multiple]=\"true\">\n </app-searchable-selector>\n </mat-form-field>\n </form>\n </mat-card-content>\n</mat-card>\n\n<mat-card>\n <mat-card-content *ngIf=\"product\" class=\"mb-0\">\n <div class=\"d-flex justify-content-start align-items-center gap-2 mb-2\">\n <span class=\"material-symbols-outlined\"> ungroup </span>\n <h3 class=\"mb-0\">Stock Issues</h3>\n\n <app-stock-issue-form-button class=\"mt-2\" [product]=\"product\" icon=\"add\"\n (saved)=\"reload(); listUpdated.emit()\"></app-stock-issue-form-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\" aria-describedby=\"Stock Issuances\" infiniteScroll\n [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" matSort\n (matSortChange)=\"onSortChange($event)\">\n <!-- # Column -->\n <ng-container matColumnDef=\"no\">\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 mat-sort-header>Product</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex flex-column gap-1\">\n <a class=\"text-decoration-none text-dark\"\n [routerLink]=\"['/inventory/products', element?.stock_issue_products[0]?.product?.id, 'view']\">\n {{ element?.stock_issue_products[0]?.product.name }}\n </a>\n <app-product-category-badges\n [product]=\"element?.stock_issue_products[0]?.product\"></app-product-category-badges>\n </div>\n </td>\n </ng-container>\n\n <!-- SKU Column -->\n <ng-container matColumnDef=\"sku\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>SKU</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.stock_issue_products[0]?.product.sku }}</td>\n </ng-container>\n\n <!-- Date Column -->\n <ng-container matColumnDef=\"date\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Date</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.date | date }}</td>\n </ng-container>\n\n <!-- Location Column -->\n <ng-container matColumnDef=\"location\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Location</th>\n <td mat-cell *matCellDef=\"let element\">\n <a class=\"text-decoration-none text-dark\"\n [routerLink]=\"['/inventory/locations', element?.stock_issue_products[0]?.location_id, 'view']\">\n {{ element?.stock_issue_products[0]?.location?.title }}\n </a>\n </td>\n </ng-container>\n\n <!-- Related Column -->\n <ng-container matColumnDef=\"related\">\n <th mat-header-cell *matHeaderCellDef>Related</th>\n <td mat-cell *matCellDef=\"let element\">\n <a class=\"text-dark\" *ngIf=\"element?.issuable\" [routerLink]=\"['/maintenances', element?.issuable_id, 'view']\">\n Maintenance for {{ element?.issuable?.fixed_asset?.name }}\n </a>\n </td>\n </ng-container>\n\n <!-- Quantity Column -->\n <ng-container matColumnDef=\"quantity\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Quantity</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.stock_issue_products[0]?.quantity }} {{\n element?.stock_issue_products[0]?.product.measure?.title }}</td>\n </ng-container>\n\n <!-- Batch Column -->\n <ng-container matColumnDef=\"batch\">\n <th mat-header-cell *matHeaderCellDef>Batch</th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-0\" *ngIf=\"element?.stock_issue_products[0]?.batch?.batch_number\">{{ element?.stock_issue_products[0]?.batch?.batch_number }}</p>\n <small class=\"text-secondary\" *ngIf=\"element?.stock_issue_products[0]?.batch?.expires_on\">\n Expires {{ element?.stock_issue_products[0]?.batch?.expires_on | date }}\n </small>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"measure\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Measure</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.stock_issue_products[0]?.product.measure?.title }}</td>\n </ng-container>\n\n <!-- Purchase Price Column -->\n <ng-container matColumnDef=\"purchase_price\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Purchase Price</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.purchase_price | currency }}\n </td>\n </ng-container>\n\n <!-- Total Value Column -->\n <ng-container matColumnDef=\"amount\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Total Value</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.amount | currency }}\n </td>\n </ng-container>\n\n <!-- Particulars Column -->\n <ng-container matColumnDef=\"particulars\">\n <th mat-header-cell *matHeaderCellDef>Particulars</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.stock_issue_products[0]?.particulars }}</td>\n </ng-container>\n\n <!-- Supplier Column -->\n <ng-container matColumnDef=\"supplier\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Supplier</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.supplier?.company_name }}\n </td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef>Creator</th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-1\">{{ element?.creator?.name }}</p>\n <small class=\"text-secondary\">{{ element?.created_at | date }}</small>\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 *ngIf=\"!element.stock_transfer\" class=\"d-flex gap-1\">\n <app-stock-issue-form-button [stockIssue]=\"element\"\n (saved)=\"reload(); listUpdated.emit()\"></app-stock-issue-form-button>\n <app-stock-issuance-delete-button [stockIssuance]=\"element\"\n (deleted)=\"reload(); listUpdated.emit()\"></app-stock-issuance-delete-button>\n </div>\n\n <span *ngIf=\"element.stock_transfer\" class=\"badge rounded-pill text-bg-secondary\">Stock Transfer</span>\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 *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>" }]
|
|
155
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.StockIssuanceService }, { type: i3.ActivatedRoute }, { type: i4.TechlifyFeatureService }], propDecorators: { product: [{
|
|
156
|
-
type: Input
|
|
157
|
-
}], issuableType: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], issuableId: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], label: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], showActions: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], showFilters: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], listUpdated: [{
|
|
168
|
-
type: Output
|
|
169
|
-
}] } });
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWFuY2VzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2staXNzdWFuY2VzL3N0b2NrLWlzc3VhbmNlcy1saXN0L3N0b2NrLWlzc3VhbmNlcy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLWlzc3VhbmNlcy9zdG9jay1pc3N1YW5jZXMtbGlzdC9zdG9jay1pc3N1YW5jZXMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFFTCxrQ0FBa0MsRUFDbkMsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTFELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTzVCLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxrQ0FBa0M7SUF5QnZFO0lBQ0E7SUFDQTtJQUNBO0lBM0JELE9BQU8sQ0FBTTtJQUNiLFlBQVksQ0FBVTtJQUN0QixVQUFVLENBQVU7SUFDcEIsS0FBSyxHQUFHLGNBQWMsQ0FBQztJQUN2QixXQUFXLEdBQVksSUFBSSxDQUFDO0lBQzVCLFdBQVcsR0FBWSxJQUFJLENBQUM7SUFDM0IsV0FBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRW5FLHNCQUFzQixHQUFhO1FBQ2pDLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxV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LENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUM3RCxFQUNELEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNsRiwwQ0FBMEM7UUFDMUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2pFLElBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQy9ELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzt3R0E5SVUsMkJBQTJCOzRGQUEzQiwyQkFBMkIsZ1NDakJ4QyxrOFJBdU1XOzs0RkR0TEUsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDBCQUEwQjtxTEFLM0IsT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb2x1bW5Db25maWcsIFJlcXVlc3RIZWxwZXJTZXJ2aWNlLCBUZWNobGlmeUZlYXR1cmVTZXJ2aWNlLFxuICBUZWNobGlmeUxpc3RpbmdDb250cm9sbGVySW50ZXJmYWNlLCBUaW1lbGluZVZhbHVlXG59IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBTdG9ja0lzc3VhbmNlU2VydmljZSB9IGZyb20gJy4uL3N0b2NrLWlzc3VhbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3RvY2staXNzdWFuY2VzLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RvY2staXNzdWFuY2VzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdG9jay1pc3N1YW5jZXMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja0lzc3VhbmNlc0xpc3RDb21wb25lbnQgZXh0ZW5kcyBUZWNobGlmeUxpc3RpbmdDb250cm9sbGVySW50ZXJmYWNlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHJvZHVjdDogYW55O1xuICBASW5wdXQoKSBpc3N1YWJsZVR5cGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzc3VhYmxlSWQhOiBudW1iZXI7XG4gIEBJbnB1dCgpIGxhYmVsID0gJ1N0b2NrIElzc3Vlcyc7XG4gIEBJbnB1dCgpIHNob3dBY3Rpb25zOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0ZpbHRlcnM6IGJvb2xlYW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgbGlzdFVwZGF0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZGVmYXVsdFNlbGVjdGVkQ29sdW1uczogc3RyaW5nW10gPSBbXG4gICAgJ25vJywgJ3Byb2R1Y3QnLCAnc2t1JywgJ2RhdGUnLCAncXVhbnRpdHknLCAnbWVhc3VyZScsICdsb2NhdGlvbicsICdyZWxhdGVkJywgJ3BhcnRpY3VsYXJzJyxcbiAgXTtcblxuICBjb2x1bW5Db25maWc6IENvbHVtbkNvbmZpZ1tdID0gW1xuICAgIHsgbGFiZWw6ICdDcmVhdG9yJywgZGVmOiAnY3JlYXRvcicsIGlzU2VsZWN0ZWQ6IGZhbHNlLCBpc0VkaXRhYmxlOiB0cnVlIH0sXG4gIF07XG5cbiAgc2VsZWN0ZWRDb2x1bW5zOiBDb2x1bW5Db25maWdbXSA9IHRoaXMuY29sdW1uQ29uZmlnLmZpbHRlcihjb2wgPT4gY29sLmlzU2VsZWN0ZWQpO1xuXG4gIGdldCBkaXNwbGF5ZWRDb2x1bW5zKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBzZWxlY3RlZENvbHVtbnM6IHN0cmluZ1tdID0gdGhpcy5zZWxlY3RlZENvbHVtbnMubWFwKGNvbCA9PiBjb2wuZGVmKTtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0U2VsZWN0ZWRDb2x1bW5zLmNvbmNhdCguLi5zZWxlY3RlZENvbHVtbnMsICdhY3Rpb25zJyk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHN0b2NrSXNzdWFuY2VTZXJ2aWNlOiBTdG9ja0lzc3VhbmNlU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGZlYXR1cmVTZXJ2aWNlOiBUZWNobGlmeUZlYXR1cmVTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sYXN0UGFnZSA9IDA7XG4gICAgdGhpcy5maWx0ZXJGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBjYXRlZ29yeV9pZHM6IFsnJ10sXG4gICAgICBkYXRlX2Zyb206IFsnJ10sXG4gICAgICBkYXRlX3RvOiBbJyddLFxuICAgICAgZHVyYXRpb246IFsnJ10sXG4gICAgICBpbXBvcnRfaWQ6IFsnJ10sXG4gICAgICBsb2NhdGlvbl9pZHM6IFsnJ10sXG4gICAgICBtZWFzdXJlX2lkczogWycnXSxcbiAgICAgIHByb2R1Y3RfaWRzOiBbJyddLFxuICAgICAgc2VhcmNoOiBbJyddLFxuICAgICAgc29ydF9ieTogWydkYXRlfGRlc2MnXSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZEZlYXR1cmVzKCk7XG4gICAgaWYgKHRoaXMucHJvZHVjdCkge1xuICAgICAgdGhpcy5maWx0ZXJGb3JtLmdldCgncHJvZHVjdF9pZHMnKT8uc2V0VmFsdWUodGhpcy5wcm9kdWN0Py5pZCk7XG4gICAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZENvbHVtbnMgPSB0aGlzLmRlZmF1bHRTZWxlY3RlZENvbHVtbnMuZmlsdGVyKGMgPT4gYyAhPT0gJ3Byb2R1Y3QnICYmIGMgIT09ICdza3UnKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZUZvcm1XaXRoUXVlcnlQYXJhbXMoKTtcbiAgICB0aGlzLnN1YnNjcmliZVRvRm9ybUNoYW5nZXMoKTtcbiAgICB0aGlzLnN1YnNjcmliZVRvUm91dGVDaGFuZ2VzKCk7XG4gIH1cblxuICBsb2FkRGF0YSgpOiB2b2lkIHtcbiAgICBjb25zdCBwYXJhbXM6IGFueSA9IHtcbiAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgIHBlclBhZ2U6IHRoaXMucGVyUGFnZSxcbiAgICAgIHdpdGg6IGBjcmVhdG9yLGlzc3VhYmxlLmZpeGVkQXNzZXQsc3RvY2tJc3N1ZVByb2R1Y3RzLnByb2R1Y3Qsc3RvY2tJc3N1ZVByb2R1Y3RzLmxvY2F0aW9uLHN0b2NrSXNzdWVQcm9kdWN0cy5wcm9kdWN0LmNhdGVnb3JpZXMsc3RvY2tUcmFuc2ZlcixzdG9ja0lzc3VlUHJvZHVjdHMuYmF0Y2hgLFxuICAgICAgLi4udGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZS5jb252ZXJ0VG9Gb3JtRGF0YSh0aGlzLmZpbHRlckZvcm0udmFsdWUpLFxuICAgIH07XG4gICAgaWYgKHRoaXMuaXNzdWFibGVJZCAmJiB0aGlzLmlzc3VhYmxlVHlwZSkge1xuICAgICAgcGFyYW1zLmlzc3VhYmxlX2lkcyA9IHRoaXMuaXNzdWFibGVJZDtcbiAgICAgIHBhcmFtcy5pc3N1YWJsZV90eXBlcyA9IHRoaXMuaXNzdWFibGVUeXBlO1xuICAgIH1cbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgdGhpcy5zdG9ja0lzc3VhbmNlU2VydmljZS5pbmRleChwYXJhbXMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1vZGVscyA9IHRoaXMubW9kZWxzLmNvbmNhdChyZXNwb25zZT8uZGF0YSk7XG4gICAgICAgIHRoaXMubGFzdFBhZ2UgPSByZXNwb25zZT8ubGFzdF9wYWdlO1xuICAgICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgb25Tb3J0Q2hhbmdlKHNvcnQ6IFNvcnQpIHtcbiAgICBsZXQgeyBhY3RpdmUsIGRpcmVjdGlvbiB9ID0gc29ydDtcbiAgICBpZiAoIWFjdGl2ZSkge1xuICAgICAgYWN0aXZlID0gJ2RhdGUnO1xuICAgIH1cbiAgICBpZiAoIWRpcmVjdGlvbikge1xuICAgICAgZGlyZWN0aW9uID0gJ2Rlc2MnO1xuICAgICAgYWN0aXZlID0gJ2RhdGUnO1xuICAgIH1cbiAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KCdzb3J0X2J5Jykuc2V0VmFsdWUoYWN0aXZlICsgJ3wnICsgZGlyZWN0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRm9ybVdpdGhRdWVyeVBhcmFtcygpOiB2b2lkIHtcbiAgICB0aGlzLnJlcXVlc3RIZWxwZXJTZXJ2aWNlLnVwZGF0ZUZvcm1XaXRoUXVlcnlQYXJhbXModGhpcy5maWx0ZXJGb3JtLCB7XG4gICAgICBwcm9kdWN0X2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgICAgbWVhc3VyZV9pZHM6IHsgbXVsdGlwbGU6IHRydWUgfSxcbiAgICAgIGNhdGVnb3J5X2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgICAgc3VwcGxpZXJfaWRzOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgICBsb2NhdGlvbl9pZHM6IHsgbXVsdGlwbGU6IHRydWUgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9Gb3JtQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAodGhpcy5maWx0ZXJGb3JtIGFzIEZvcm1Hcm91cCkudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDgwMCkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2UudXBkYXRlUXVlcnlQYXJhbXMoXG4gICAgICAgICAgdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZS5jb252ZXJ0VG9Gb3JtRGF0YSh0aGlzLmZpbHRlckZvcm0udmFsdWUpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvUm91dGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucXVlcnlQYXJhbXNcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uRHVyYXRpb25DaGFuZ2UodGltZWxpbmVWYWx1ZTogVGltZWxpbmVWYWx1ZSkge1xuICAgIGxldCB7IGRhdGVfdG8sIGRhdGVfZnJvbSB9ID0gdGltZWxpbmVWYWx1ZTtcbiAgICB0aGlzLmZpbHRlckZvcm0ucGF0Y2hWYWx1ZShcbiAgICAgIHtcbiAgICAgICAgZGF0ZV9mcm9tOiBkYXRlX2Zyb20gPyBtb21lbnQoZGF0ZV9mcm9tKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpIDogXCJcIixcbiAgICAgICAgZGF0ZV90bzogZGF0ZV90byA/IG1vbWVudChkYXRlX3RvKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpIDogXCJcIixcbiAgICAgIH0sXG4gICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRGZWF0dXJlcygpIHtcbiAgICBsZXQgaXNCYXRjaEVuYWJsZWQgPSB0aGlzLmZlYXR1cmVTZXJ2aWNlLmlzRmVhdHVyZUV4aXN0cygncHJvZHVjdC1iYXRjaC1udW1iZXJzJyk7XG4gICAgLy8gbm93IHVwZGF0ZSBkaXNwbGF5ZWRDb2x1bW5zIGFjY29yZGluZ2x5XG4gICAgaWYgKGlzQmF0Y2hFbmFibGVkKSB7XG4gICAgICBjb25zdCBxdHlJbmRleCA9IHRoaXMuZGVmYXVsdFNlbGVjdGVkQ29sdW1ucy5pbmRleE9mKCdxdWFudGl0eScpO1xuICAgICAgaWYgKHF0eUluZGV4ID49IDApIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0U2VsZWN0ZWRDb2x1bW5zLnNwbGljZShxdHlJbmRleCArIDEsIDAsICdiYXRjaCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1jYXJkICpuZ0lmPVwiIXByb2R1Y3RcIiBjbGFzcz1cIm1iLTJcIj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICA8aDMgY2xhc3M9XCJtYi0wXCI+e3sgbGFiZWwgfX08L2gzPlxuXG4gICAgICA8YXBwLXN0b2NrLWlzc3VlLWZvcm0tYnV0dG9uIGljb249XCJhZGRcIiBbaXNzdWFibGVUeXBlXT1cImlzc3VhYmxlVHlwZVwiIFtpc3N1YWJsZUlkXT1cImlzc3VhYmxlSWRcIlxuICAgICAgICAoc2F2ZWQpPVwicmVsb2FkKClcIj48L2FwcC1zdG9jay1pc3N1ZS1mb3JtLWJ1dHRvbj5cblxuICAgICAgPHNwYW4gKm5nSWY9XCJzaG93QWN0aW9uc1wiIG1hdFRvb2x0aXA9XCJJbXBvcnRcIiByb3V0ZXJMaW5rPVwiaW1wb3J0XCJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+XG4gICAgICAgIGZpbGVfdXBsb2FkXG4gICAgICA8L3NwYW4+XG5cbiAgICAgIDxhcHAtY29sdW1uLXNlbGVjdG9yICpuZ0lmPVwic2hvd0FjdGlvbnNcIiBtb2RlPVwiaWNvblwiIGNsYXNzPVwibXQtMiBkLXByaW50LW5vbmVcIiBbY29sdW1uQ29uZmlnc109XCJjb2x1bW5Db25maWdcIlxuICAgICAgICBbKHNlbGVjdGVkQ29sdW1ucyldPVwic2VsZWN0ZWRDb2x1bW5zXCI+PC9hcHAtY29sdW1uLXNlbGVjdG9yPlxuICAgIDwvZGl2PlxuXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtXCIgKm5nSWY9XCJzaG93RmlsdGVyc1wiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsPlNlYXJjaDwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJTZWFyY2ggcHJvZHVjdHNcIiBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPGFwcC10aW1lbGluZS1maWx0ZXIgYXBwZWFyYW5jZT1cImZpbGxcIiBsYWJlbFRleHQ9XCJEYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZHVyYXRpb25cIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uRHVyYXRpb25DaGFuZ2UoJGV2ZW50KVwiIFtzaG93Q2xlYXJCdXR0b25dPVwidHJ1ZVwiIFtkYXRlRnJvbV09XCJmaWx0ZXJGb3JtLnZhbHVlPy5kYXRlX2Zyb21cIlxuICAgICAgICBbZGF0ZVRvXT1cImZpbHRlckZvcm0udmFsdWU/LmRhdGVfdG9cIj48L2FwcC10aW1lbGluZS1maWx0ZXI+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbD5DYXRlZ29yeTwvbWF0LWxhYmVsPlxuICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgYXBpVXJsPVwiYXBpL3Byb2R1Y3QtY2F0ZWdvcmllc1wiIGZvcm1Db250cm9sTmFtZT1cImNhdGVnb3J5X2lkc1wiIFttdWx0aXBsZV09XCJ0cnVlXCI+XG4gICAgICAgIDwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+TWVhc3VyZTwvbWF0LWxhYmVsPlxuICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgYXBpVXJsPVwiYXBpL3Byb2R1Y3QtbWVhc3VyZXNcIiBmb3JtQ29udHJvbE5hbWU9XCJtZWFzdXJlX2lkc1wiIFttdWx0aXBsZV09XCJ0cnVlXCI+XG4gICAgICAgIDwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+TG9jYXRpb248L21hdC1sYWJlbD5cbiAgICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGFwaVVybD1cImFwaS9pbnZlbnRvcnktbG9jYXRpb25zXCIgZm9ybUNvbnRyb2xOYW1lPVwibG9jYXRpb25faWRzXCIgW211bHRpcGxlXT1cInRydWVcIj5cbiAgICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9mb3JtPlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuXG48bWF0LWNhcmQ+XG4gIDxtYXQtY2FyZC1jb250ZW50ICpuZ0lmPVwicHJvZHVjdFwiIGNsYXNzPVwibWItMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBtYi0yXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj4gdW5ncm91cCA8L3NwYW4+XG4gICAgICA8aDMgY2xhc3M9XCJtYi0wXCI+U3RvY2sgSXNzdWVzPC9oMz5cblxuICAgICAgPGFwcC1zdG9jay1pc3N1ZS1mb3JtLWJ1dHRvbiBjbGFzcz1cIm10LTJcIiBbcHJvZHVjdF09XCJwcm9kdWN0XCIgaWNvbj1cImFkZFwiXG4gICAgICAgIChzYXZlZCk9XCJyZWxvYWQoKTsgbGlzdFVwZGF0ZWQuZW1pdCgpXCI+PC9hcHAtc3RvY2staXNzdWUtZm9ybS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJwLTBcIj5cbiAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIm1vZGVsc1wiIGNsYXNzPVwidy0xMDBcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiU3RvY2sgSXNzdWFuY2VzXCIgaW5maW5pdGVTY3JvbGxcbiAgICAgIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIjJcIiBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCIgbWF0U29ydFxuICAgICAgKG1hdFNvcnRDaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIj5cbiAgICAgIDwhLS0gIyBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm5vXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IzwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgaSA9IGluZGV4XCI+e3sgaSArIDEgfX08L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gUHJvZHVjdCBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInByb2R1Y3RcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+UHJvZHVjdDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMVwiPlxuICAgICAgICAgICAgPGEgY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LWRhcmtcIlxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9pbnZlbnRvcnkvcHJvZHVjdHMnLCBlbGVtZW50Py5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8ucHJvZHVjdD8uaWQsICd2aWV3J11cIj5cbiAgICAgICAgICAgICAge3sgZWxlbWVudD8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnByb2R1Y3QubmFtZSB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGFwcC1wcm9kdWN0LWNhdGVnb3J5LWJhZGdlc1xuICAgICAgICAgICAgICBbcHJvZHVjdF09XCJlbGVtZW50Py5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8ucHJvZHVjdFwiPjwvYXBwLXByb2R1Y3QtY2F0ZWdvcnktYmFkZ2VzPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gU0tVIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic2t1XCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPlNLVTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudD8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnByb2R1Y3Quc2t1IH19PC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIERhdGUgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkYXRlXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPkRhdGU8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQ/LmRhdGUgfCBkYXRlIH19PC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIExvY2F0aW9uIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibG9jYXRpb25cIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+TG9jYXRpb248L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwidGV4dC1kZWNvcmF0aW9uLW5vbmUgdGV4dC1kYXJrXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL2ludmVudG9yeS9sb2NhdGlvbnMnLCBlbGVtZW50Py5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8ubG9jYXRpb25faWQsICd2aWV3J11cIj5cbiAgICAgICAgICAgIHt7IGVsZW1lbnQ/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5sb2NhdGlvbj8udGl0bGUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBSZWxhdGVkIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicmVsYXRlZFwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlJlbGF0ZWQ8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwidGV4dC1kYXJrXCIgKm5nSWY9XCJlbGVtZW50Py5pc3N1YWJsZVwiIFtyb3V0ZXJMaW5rXT1cIlsnL21haW50ZW5hbmNlcycsIGVsZW1lbnQ/Lmlzc3VhYmxlX2lkLCAndmlldyddXCI+XG4gICAgICAgICAgICBNYWludGVuYW5jZSBmb3Ige3sgZWxlbWVudD8uaXNzdWFibGU/LmZpeGVkX2Fzc2V0Py5uYW1lIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gUXVhbnRpdHkgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJxdWFudGl0eVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj5RdWFudGl0eTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudD8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnF1YW50aXR5IH19IHt7XG4gICAgICAgICAgZWxlbWVudD8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnByb2R1Y3QubWVhc3VyZT8udGl0bGUgfX08L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gQmF0Y2ggQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJiYXRjaFwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkJhdGNoPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIiAqbmdJZj1cImVsZW1lbnQ/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5iYXRjaD8uYmF0Y2hfbnVtYmVyXCI+e3sgZWxlbWVudD8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LmJhdGNoPy5iYXRjaF9udW1iZXIgfX08L3A+XG4gICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIiAqbmdJZj1cImVsZW1lbnQ/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5iYXRjaD8uZXhwaXJlc19vblwiPlxuICAgICAgICAgICAgRXhwaXJlcyB7eyBlbGVtZW50Py5zdG9ja19pc3N1ZV9wcm9kdWN0c1swXT8uYmF0Y2g/LmV4cGlyZXNfb24gfCBkYXRlIH19XG4gICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm1lYXN1cmVcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+TWVhc3VyZTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudD8uc3RvY2tfaXNzdWVfcHJvZHVjdHNbMF0/LnByb2R1Y3QubWVhc3VyZT8udGl0bGUgfX08L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gUHVyY2hhc2UgUHJpY2UgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJwdXJjaGFzZV9wcmljZVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj5QdXJjaGFzZSBQcmljZTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAge3sgZWxlbWVudD8ucHVyY2hhc2VfcHJpY2UgfCBjdXJyZW5jeSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gVG90YWwgVmFsdWUgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhbW91bnRcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+VG90YWwgVmFsdWU8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIHt7IGVsZW1lbnQ/LmFtb3VudCB8IGN1cnJlbmN5IH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBQYXJ0aWN1bGFycyBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInBhcnRpY3VsYXJzXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+UGFydGljdWxhcnM8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQ/LnN0b2NrX2lzc3VlX3Byb2R1Y3RzWzBdPy5wYXJ0aWN1bGFycyB9fTwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBTdXBwbGllciBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInN1cHBsaWVyXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPlN1cHBsaWVyPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICB7eyBlbGVtZW50Py5zdXBwbGllcj8uY29tcGFueV9uYW1lIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBDcmVhdG9yIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY3JlYXRvclwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkNyZWF0b3I8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIDxwIGNsYXNzPVwibWItMVwiPnt7IGVsZW1lbnQ/LmNyZWF0b3I/Lm5hbWUgfX08L3A+XG4gICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj57eyBlbGVtZW50Py5jcmVhdGVkX2F0IHwgZGF0ZSB9fTwvc21hbGw+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBBY3Rpb25zIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uc1wiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkFjdGlvbnM8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZWxlbWVudC5zdG9ja190cmFuc2ZlclwiIGNsYXNzPVwiZC1mbGV4IGdhcC0xXCI+XG4gICAgICAgICAgICA8YXBwLXN0b2NrLWlzc3VlLWZvcm0tYnV0dG9uIFtzdG9ja0lzc3VlXT1cImVsZW1lbnRcIlxuICAgICAgICAgICAgICAoc2F2ZWQpPVwicmVsb2FkKCk7IGxpc3RVcGRhdGVkLmVtaXQoKVwiPjwvYXBwLXN0b2NrLWlzc3VlLWZvcm0tYnV0dG9uPlxuICAgICAgICAgICAgPGFwcC1zdG9jay1pc3N1YW5jZS1kZWxldGUtYnV0dG9uIFtzdG9ja0lzc3VhbmNlXT1cImVsZW1lbnRcIlxuICAgICAgICAgICAgICAoZGVsZXRlZCk9XCJyZWxvYWQoKTsgbGlzdFVwZGF0ZWQuZW1pdCgpXCI+PC9hcHAtc3RvY2staXNzdWFuY2UtZGVsZXRlLWJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZWxlbWVudC5zdG9ja190cmFuc2ZlclwiIGNsYXNzPVwiYmFkZ2Ugcm91bmRlZC1waWxsIHRleHQtYmctc2Vjb25kYXJ5XCI+U3RvY2sgVHJhbnNmZXI8L3NwYW4+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICA8L3RhYmxlPlxuXG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJpc1dvcmtpbmdcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD4iXX0=
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { StockIssuancesListComponent } from './stock-issuances-list.component';
|
|
4
|
-
import { StockIssueFormModule } from '../stock-issue-form/stock-issue-form.module';
|
|
5
|
-
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
6
|
-
import { StockIssuanceDeleteButtonModule } from '../stock-issuance-delete-button/stock-issuance-delete-button.module';
|
|
7
|
-
import { ColumnSelectorModule, MaterialModule, SearchableSelectorModule, TimelineFilterModule } from 'ngx-techlify-core';
|
|
8
|
-
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
9
|
-
import { RouterModule } from '@angular/router';
|
|
10
|
-
import { TechlifyFilterModule } from '../../techlify-filter/techlify-filter.module';
|
|
11
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
12
|
-
import { ProductCategoryBadgesComponent } from "../../product/widgets/product-category-badges/product-category-badges.component";
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
export class StockIssuancesListModule {
|
|
15
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesListModule, declarations: [StockIssuancesListComponent], imports: [CommonModule,
|
|
17
|
-
MaterialModule,
|
|
18
|
-
TechlifyFilterModule,
|
|
19
|
-
StockIssueFormModule,
|
|
20
|
-
InfiniteScrollModule,
|
|
21
|
-
StockIssuanceDeleteButtonModule,
|
|
22
|
-
MatProgressBarModule,
|
|
23
|
-
RouterModule,
|
|
24
|
-
SearchableSelectorModule,
|
|
25
|
-
TimelineFilterModule,
|
|
26
|
-
ReactiveFormsModule,
|
|
27
|
-
ProductCategoryBadgesComponent,
|
|
28
|
-
ColumnSelectorModule], exports: [StockIssuancesListComponent] });
|
|
29
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesListModule, imports: [CommonModule,
|
|
30
|
-
MaterialModule,
|
|
31
|
-
TechlifyFilterModule,
|
|
32
|
-
StockIssueFormModule,
|
|
33
|
-
InfiniteScrollModule,
|
|
34
|
-
StockIssuanceDeleteButtonModule,
|
|
35
|
-
MatProgressBarModule,
|
|
36
|
-
RouterModule,
|
|
37
|
-
SearchableSelectorModule,
|
|
38
|
-
TimelineFilterModule,
|
|
39
|
-
ReactiveFormsModule,
|
|
40
|
-
ColumnSelectorModule] });
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesListModule, decorators: [{
|
|
43
|
-
type: NgModule,
|
|
44
|
-
args: [{
|
|
45
|
-
declarations: [StockIssuancesListComponent],
|
|
46
|
-
imports: [
|
|
47
|
-
CommonModule,
|
|
48
|
-
MaterialModule,
|
|
49
|
-
TechlifyFilterModule,
|
|
50
|
-
StockIssueFormModule,
|
|
51
|
-
InfiniteScrollModule,
|
|
52
|
-
StockIssuanceDeleteButtonModule,
|
|
53
|
-
MatProgressBarModule,
|
|
54
|
-
RouterModule,
|
|
55
|
-
SearchableSelectorModule,
|
|
56
|
-
TimelineFilterModule,
|
|
57
|
-
ReactiveFormsModule,
|
|
58
|
-
ProductCategoryBadgesComponent,
|
|
59
|
-
ColumnSelectorModule,
|
|
60
|
-
],
|
|
61
|
-
exports: [StockIssuancesListComponent],
|
|
62
|
-
}]
|
|
63
|
-
}] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWFuY2VzLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2staXNzdWFuY2VzL3N0b2NrLWlzc3VhbmNlcy1saXN0L3N0b2NrLWlzc3VhbmNlcy1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN0SCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3JCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFDTCw4QkFBOEIsRUFDL0IsTUFBTSxpRkFBaUYsQ0FBQzs7QUFxQnpGLE1BQU0sT0FBTyx3QkFBd0I7d0dBQXhCLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGlCQWxCcEIsMkJBQTJCLGFBRXhDLFlBQVk7WUFDWixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsK0JBQStCO1lBQy9CLG9CQUFvQjtZQUNwQixZQUFZO1lBQ1osd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsOEJBQThCO1lBQzlCLG9CQUFvQixhQUVaLDJCQUEyQjt5R0FFMUIsd0JBQXdCLFlBaEJqQyxZQUFZO1lBQ1osY0FBYztZQUNkLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLCtCQUErQjtZQUMvQixvQkFBb0I7WUFDcEIsWUFBWTtZQUNaLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBRW5CLG9CQUFvQjs7NEZBSVgsd0JBQXdCO2tCQW5CcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDM0MsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQiwrQkFBK0I7d0JBQy9CLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQiw4QkFBOEI7d0JBQzlCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTdG9ja0lzc3VhbmNlc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3N0b2NrLWlzc3VhbmNlcy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdG9ja0lzc3VlRm9ybU1vZHVsZSB9IGZyb20gJy4uL3N0b2NrLWlzc3VlLWZvcm0vc3RvY2staXNzdWUtZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IFN0b2NrSXNzdWFuY2VEZWxldGVCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9zdG9jay1pc3N1YW5jZS1kZWxldGUtYnV0dG9uL3N0b2NrLWlzc3VhbmNlLWRlbGV0ZS1idXR0b24ubW9kdWxlJztcbmltcG9ydCB7XG4gIENvbHVtblNlbGVjdG9yTW9kdWxlLFxuICBNYXRlcmlhbE1vZHVsZSxcbiAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICBUaW1lbGluZUZpbHRlck1vZHVsZVxufSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVGVjaGxpZnlGaWx0ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi90ZWNobGlmeS1maWx0ZXIvdGVjaGxpZnktZmlsdGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgUHJvZHVjdENhdGVnb3J5QmFkZ2VzQ29tcG9uZW50XG59IGZyb20gXCIuLi8uLi9wcm9kdWN0L3dpZGdldHMvcHJvZHVjdC1jYXRlZ29yeS1iYWRnZXMvcHJvZHVjdC1jYXRlZ29yeS1iYWRnZXMuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1N0b2NrSXNzdWFuY2VzTGlzdENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgVGVjaGxpZnlGaWx0ZXJNb2R1bGUsXG4gICAgU3RvY2tJc3N1ZUZvcm1Nb2R1bGUsXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgU3RvY2tJc3N1YW5jZURlbGV0ZUJ1dHRvbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICAgIFRpbWVsaW5lRmlsdGVyTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgUHJvZHVjdENhdGVnb3J5QmFkZ2VzQ29tcG9uZW50LFxuICAgIENvbHVtblNlbGVjdG9yTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU3RvY2tJc3N1YW5jZXNMaXN0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU3RvY2tJc3N1YW5jZXNMaXN0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { RouterModule } from '@angular/router';
|
|
3
|
-
import { StockIssuancesListComponent } from './stock-issuances-list/stock-issuances-list.component';
|
|
4
|
-
import { StockIssueImportPageComponent } from './stock-issue-import-page/stock-issue-import-page.component';
|
|
5
|
-
import { AuthenticationGuard } from 'ngx-techlify-core';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/router";
|
|
8
|
-
const routes = [
|
|
9
|
-
{
|
|
10
|
-
path: '',
|
|
11
|
-
component: StockIssuancesListComponent,
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
path: 'import',
|
|
15
|
-
component: StockIssueImportPageComponent,
|
|
16
|
-
canLoad: [AuthenticationGuard]
|
|
17
|
-
}
|
|
18
|
-
];
|
|
19
|
-
export class StockIssuancesRoutingModule {
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
21
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
|
|
22
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesRoutingModule, decorators: [{
|
|
25
|
-
type: NgModule,
|
|
26
|
-
args: [{
|
|
27
|
-
imports: [RouterModule.forChild(routes)],
|
|
28
|
-
exports: [RouterModule],
|
|
29
|
-
}]
|
|
30
|
-
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWFuY2VzLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2staXNzdWFuY2VzL3N0b2NrLWlzc3VhbmNlcy1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBRXhELE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsMkJBQTJCO0tBQ3ZDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLFNBQVMsRUFBRSw2QkFBNkI7UUFDeEMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7S0FDL0I7Q0FDRixDQUFDO0FBTUYsTUFBTSxPQUFPLDJCQUEyQjt3R0FBM0IsMkJBQTJCO3lHQUEzQiwyQkFBMkIsd0NBRjVCLFlBQVk7eUdBRVgsMkJBQTJCLFlBSDVCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7OzRGQUVYLDJCQUEyQjtrQkFKdkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b2NrSXNzdWFuY2VzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc3RvY2staXNzdWFuY2VzLWxpc3Qvc3RvY2staXNzdWFuY2VzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFN0b2NrSXNzdWVJbXBvcnRQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9zdG9jay1pc3N1ZS1pbXBvcnQtcGFnZS9zdG9jay1pc3N1ZS1pbXBvcnQtcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25HdWFyZCB9IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IFN0b2NrSXNzdWFuY2VzTGlzdENvbXBvbmVudCxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdpbXBvcnQnLFxuICAgIGNvbXBvbmVudDogU3RvY2tJc3N1ZUltcG9ydFBhZ2VDb21wb25lbnQsXG4gICAgY2FuTG9hZDogW0F1dGhlbnRpY2F0aW9uR3VhcmRdXG4gIH1cbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja0lzc3VhbmNlc1JvdXRpbmdNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { StockIssuancesRoutingModule } from './stock-issuances-routing.module';
|
|
4
|
-
import { MatCardModule } from '@angular/material/card';
|
|
5
|
-
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
6
|
-
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
7
|
-
import { MatSortModule } from '@angular/material/sort';
|
|
8
|
-
import { MatTableModule } from '@angular/material/table';
|
|
9
|
-
import { StockReceiptFormModule } from '../stock-receipts/stock-receipt-form/stock-receipt-form.module';
|
|
10
|
-
import { StockIssueFormModule } from './stock-issue-form/stock-issue-form.module';
|
|
11
|
-
import { MatDialogModule } from '@angular/material/dialog';
|
|
12
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
13
|
-
import { StockIssuancesListModule } from './stock-issuances-list/stock-issuances-list.module';
|
|
14
|
-
import { TechlifyFilterModule } from '../techlify-filter/techlify-filter.module';
|
|
15
|
-
import * as i0 from "@angular/core";
|
|
16
|
-
export class StockIssuancesModule {
|
|
17
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesModule, imports: [CommonModule,
|
|
19
|
-
StockIssuancesRoutingModule,
|
|
20
|
-
MatCardModule,
|
|
21
|
-
TechlifyFilterModule,
|
|
22
|
-
InfiniteScrollModule,
|
|
23
|
-
MatProgressBarModule,
|
|
24
|
-
MatSortModule,
|
|
25
|
-
MatTableModule,
|
|
26
|
-
StockReceiptFormModule,
|
|
27
|
-
StockIssueFormModule,
|
|
28
|
-
MatDialogModule,
|
|
29
|
-
MatButtonModule,
|
|
30
|
-
StockIssuancesListModule] });
|
|
31
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesModule, imports: [CommonModule,
|
|
32
|
-
StockIssuancesRoutingModule,
|
|
33
|
-
MatCardModule,
|
|
34
|
-
TechlifyFilterModule,
|
|
35
|
-
InfiniteScrollModule,
|
|
36
|
-
MatProgressBarModule,
|
|
37
|
-
MatSortModule,
|
|
38
|
-
MatTableModule,
|
|
39
|
-
StockReceiptFormModule,
|
|
40
|
-
StockIssueFormModule,
|
|
41
|
-
MatDialogModule,
|
|
42
|
-
MatButtonModule,
|
|
43
|
-
StockIssuancesListModule] });
|
|
44
|
-
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockIssuancesModule, decorators: [{
|
|
46
|
-
type: NgModule,
|
|
47
|
-
args: [{
|
|
48
|
-
declarations: [],
|
|
49
|
-
exports: [],
|
|
50
|
-
imports: [
|
|
51
|
-
CommonModule,
|
|
52
|
-
StockIssuancesRoutingModule,
|
|
53
|
-
MatCardModule,
|
|
54
|
-
TechlifyFilterModule,
|
|
55
|
-
InfiniteScrollModule,
|
|
56
|
-
MatProgressBarModule,
|
|
57
|
-
MatSortModule,
|
|
58
|
-
MatTableModule,
|
|
59
|
-
StockReceiptFormModule,
|
|
60
|
-
StockIssueFormModule,
|
|
61
|
-
MatDialogModule,
|
|
62
|
-
MatButtonModule,
|
|
63
|
-
StockIssuancesListModule,
|
|
64
|
-
],
|
|
65
|
-
}]
|
|
66
|
-
}] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staXNzdWFuY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLWlzc3VhbmNlcy9zdG9jay1pc3N1YW5jZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBcUJqRixNQUFNLE9BQU8sb0JBQW9CO3dHQUFwQixvQkFBb0I7eUdBQXBCLG9CQUFvQixZQWY3QixZQUFZO1lBQ1osMkJBQTJCO1lBQzNCLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQixhQUFhO1lBQ2IsY0FBYztZQUNkLHNCQUFzQjtZQUN0QixvQkFBb0I7WUFDcEIsZUFBZTtZQUNmLGVBQWU7WUFDZix3QkFBd0I7eUdBR2Ysb0JBQW9CLFlBZjdCLFlBQVk7WUFDWiwyQkFBMkI7WUFDM0IsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYixjQUFjO1lBQ2Qsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsZUFBZTtZQUNmLHdCQUF3Qjs7NEZBR2Ysb0JBQW9CO2tCQW5CaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osMkJBQTJCO3dCQUMzQixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLHdCQUF3QjtxQkFDekI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgU3RvY2tJc3N1YW5jZXNSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9zdG9jay1pc3N1YW5jZXMtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgU3RvY2tSZWNlaXB0Rm9ybU1vZHVsZSB9IGZyb20gJy4uL3N0b2NrLXJlY2VpcHRzL3N0b2NrLXJlY2VpcHQtZm9ybS9zdG9jay1yZWNlaXB0LWZvcm0ubW9kdWxlJztcbmltcG9ydCB7IFN0b2NrSXNzdWVGb3JtTW9kdWxlIH0gZnJvbSAnLi9zdG9jay1pc3N1ZS1mb3JtL3N0b2NrLWlzc3VlLWZvcm0ubW9kdWxlJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgU3RvY2tJc3N1YW5jZXNMaXN0TW9kdWxlIH0gZnJvbSAnLi9zdG9jay1pc3N1YW5jZXMtbGlzdC9zdG9jay1pc3N1YW5jZXMtbGlzdC5tb2R1bGUnO1xuaW1wb3J0IHsgVGVjaGxpZnlGaWx0ZXJNb2R1bGUgfSBmcm9tICcuLi90ZWNobGlmeS1maWx0ZXIvdGVjaGxpZnktZmlsdGVyLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN0b2NrSXNzdWFuY2VzUm91dGluZ01vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIFRlY2hsaWZ5RmlsdGVyTW9kdWxlLFxuICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIE1hdFNvcnRNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgU3RvY2tSZWNlaXB0Rm9ybU1vZHVsZSxcbiAgICBTdG9ja0lzc3VlRm9ybU1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIFN0b2NrSXNzdWFuY2VzTGlzdE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RvY2tJc3N1YW5jZXNNb2R1bGUge31cbiJdfQ==
|