techlify-inventory-common 18.36.0 → 18.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/inventory-common/inventory-common-routing.module.mjs +2 -2
- package/esm2022/lib/inventory-common/product/product-list/product-list.component.mjs +15 -17
- package/esm2022/lib/inventory-common/product/product-quick-search/product-quick-search.component.mjs +17 -36
- package/esm2022/lib/inventory-common/product/product-view-page/product-view-page.component.mjs +8 -8
- package/esm2022/lib/inventory-common/product/product.module.mjs +10 -10
- package/esm2022/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.mjs +3 -3
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-form/stock-issue-form.component.mjs +165 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-import-page/stock-issue-import-page.component.mjs +59 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-list/stock-issue-list.component.mjs +140 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.component.mjs +96 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.module.mjs +87 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.mjs +35 -0
- package/esm2022/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product-form/stock-issue-product-form.component.mjs +1 -1
- package/esm2022/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product.service.mjs +1 -1
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-products-list/stock-issue-products-list.component.mjs +138 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-routing.module.mjs +46 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-simple-form/stock-issue-form-button/stock-issue-form-button.component.mjs +48 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-simple-form/stock-issue-form.module.mjs +43 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-simple-form/stock-issue-simple-form/stock-issue-simple-form.component.mjs +201 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-view/stock-issue-view.component.mjs +66 -0
- package/esm2022/lib/inventory-common/stock-issue/stock-issue.module.mjs +51 -0
- package/esm2022/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue.service.mjs +1 -1
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.component.mjs +221 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-list/stock-receipt-list.component.mjs +153 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-list/stock-receipt-product-list.component.mjs +146 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-form-button/stock-receipt-form-button.component.mjs +42 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-simple-form/stock-receipt-simple-form.component.mjs +180 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-simple-form.module.mjs +51 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.mjs +4 -5
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-page/stock-receipts-page.component.mjs +70 -0
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-routing.module.mjs +8 -8
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts.module.mjs +20 -25
- package/esm2022/lib/inventory-common/supplier/supplier-view/supplier-view.component.mjs +4 -4
- package/esm2022/lib/inventory-common/supplier/supplier.module.mjs +8 -9
- package/esm2022/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.mjs +3 -4
- package/esm2022/public-api.mjs +16 -17
- package/fesm2022/{techlify-inventory-common-category.module-CUqub2ML.mjs → techlify-inventory-common-category.module-CJbYoRGj.mjs} +4 -4
- package/fesm2022/{techlify-inventory-common-category.module-CUqub2ML.mjs.map → techlify-inventory-common-category.module-CJbYoRGj.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-measure.module-CIonhS7Z.mjs → techlify-inventory-common-measure.module-D8oqfZTV.mjs} +4 -4
- package/fesm2022/{techlify-inventory-common-measure.module-CIonhS7Z.mjs.map → techlify-inventory-common-measure.module-D8oqfZTV.mjs.map} +1 -1
- package/fesm2022/{techlify-inventory-common-purchase-order-view.component-5zmdBnE-.mjs → techlify-inventory-common-purchase-order-view.component-BDuk0Xek.mjs} +4 -4
- package/fesm2022/{techlify-inventory-common-purchase-order-view.component-5zmdBnE-.mjs.map → techlify-inventory-common-purchase-order-view.component-BDuk0Xek.mjs.map} +1 -1
- package/fesm2022/techlify-inventory-common-stock-issue-form.component-B0-TBlZL.mjs +164 -0
- package/fesm2022/techlify-inventory-common-stock-issue-form.component-B0-TBlZL.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-DJIQ6dVF.mjs +66 -0
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-DJIQ6dVF.mjs.map +1 -0
- package/fesm2022/{techlify-inventory-common-techlify-inventory-common-DVM9NowZ.mjs → techlify-inventory-common-techlify-inventory-common-CQSzjNhk.mjs} +1700 -1857
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-CQSzjNhk.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common.mjs +1 -1
- package/lib/inventory-common/product/product-view-page/product-view-page.component.d.ts +4 -4
- package/lib/inventory-common/product/product.module.d.ts +4 -4
- package/lib/inventory-common/{stock-issuances/stock-issue-batch-form/stock-issue-batch-form.component.d.ts → stock-issue/stock-issue-form/stock-issue-form.component.d.ts} +6 -4
- package/lib/inventory-common/{stock-issuances/grouped-stock-issue-list/grouped-stock-issue-list.component.d.ts → stock-issue/stock-issue-list/stock-issue-list.component.d.ts} +3 -3
- package/lib/inventory-common/{stock-issuances/stock-issue-list/stock-issue-list.component.d.ts → stock-issue/stock-issue-page/stock-issue-page.component.d.ts} +3 -3
- package/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.module.d.ts +20 -0
- package/lib/inventory-common/{stock-issuances/itemized-stock-issue-products-list/itemized-stock-issue-products-list.component.d.ts → stock-issue/stock-issue-products-list/stock-issue-products-list.component.d.ts} +3 -3
- package/lib/inventory-common/{stock-issuances/stock-issue-form → stock-issue/stock-issue-simple-form}/stock-issue-form.module.d.ts +2 -2
- package/lib/inventory-common/{stock-issuances/stock-issue-form/stock-issue-form/stock-issue-form.component.d.ts → stock-issue/stock-issue-simple-form/stock-issue-simple-form/stock-issue-simple-form.component.d.ts} +3 -3
- package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-view/stock-issue-view.component.d.ts +1 -1
- package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue.module.d.ts +4 -4
- package/lib/inventory-common/stock-receipts/{stock-receipt-batch-form/stock-receipt-batch-form.component.d.ts → stock-receipt-form/stock-receipt-form.component.d.ts} +6 -4
- package/lib/inventory-common/stock-receipts/{grouped-stock-receipt-list/grouped-stock-receipt-list.component.d.ts → stock-receipt-list/stock-receipt-list.component.d.ts} +3 -3
- package/lib/inventory-common/stock-receipts/{itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component.d.ts → stock-receipt-product-list/stock-receipt-product-list.component.d.ts} +3 -3
- package/lib/inventory-common/stock-receipts/{stock-receipt-form/stock-receipt-form/stock-receipt-form.component.d.ts → stock-receipt-simple-form/stock-receipt-simple-form/stock-receipt-simple-form.component.d.ts} +1 -1
- package/lib/inventory-common/stock-receipts/stock-receipt-simple-form/stock-receipt-simple-form.module.d.ts +15 -0
- package/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.d.ts +2 -2
- package/lib/inventory-common/stock-receipts/{stock-receipts-list-page/stock-receipts-list-page.component.d.ts → stock-receipts-page/stock-receipts-page.component.d.ts} +3 -3
- package/lib/inventory-common/stock-receipts/stock-receipts.module.d.ts +18 -19
- package/lib/inventory-common/supplier/supplier.module.d.ts +6 -7
- package/package.json +5 -2
- package/public-api.d.ts +15 -16
- package/esm2022/lib/inventory-common/stock-issuances/grouped-stock-issue-list/grouped-stock-issue-list.component.mjs +0 -139
- package/esm2022/lib/inventory-common/stock-issuances/itemized-stock-issue-products-list/itemized-stock-issue-products-list.component.mjs +0 -138
- package/esm2022/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.component.mjs +0 -47
- package/esm2022/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.module.mjs +0 -19
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-batch-form/stock-issue-batch-form.component.mjs +0 -163
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form/stock-issue-form.component.mjs +0 -201
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form-button/stock-issue-form-button.component.mjs +0 -48
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form.module.mjs +0 -43
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-import-page/stock-issue-import-page.component.mjs +0 -59
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.component.mjs +0 -96
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.module.mjs +0 -91
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.mjs +0 -35
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-routing.module.mjs +0 -46
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue-view/stock-issue-view.component.mjs +0 -68
- package/esm2022/lib/inventory-common/stock-issuances/stock-issue.module.mjs +0 -51
- package/esm2022/lib/inventory-common/stock-receipts/grouped-stock-receipt-list/grouped-stock-receipt-list.component.mjs +0 -151
- package/esm2022/lib/inventory-common/stock-receipts/itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component.mjs +0 -146
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-batch-form/stock-receipt-batch-form.component.mjs +0 -208
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-delete-button/stock-receipt-delete-button.component.mjs +0 -47
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form/stock-receipt-form.component.mjs +0 -180
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form-button/stock-receipt-form-button.component.mjs +0 -42
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.module.mjs +0 -51
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-list-page/stock-receipts-list-page.component.mjs +0 -70
- package/esm2022/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.mjs +0 -64
- package/fesm2022/techlify-inventory-common-stock-issue-batch-form.component-CnRySjgj.mjs +0 -162
- package/fesm2022/techlify-inventory-common-stock-issue-batch-form.component-CnRySjgj.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-D1sTvEWD.mjs +0 -66
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-D1sTvEWD.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-DVM9NowZ.mjs.map +0 -1
- package/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.component.d.ts +0 -18
- package/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.module.d.ts +0 -9
- package/lib/inventory-common/stock-issuances/stock-issue-list/stock-issue-list.module.d.ts +0 -21
- package/lib/inventory-common/stock-receipts/stock-receipt-delete-button/stock-receipt-delete-button.component.d.ts +0 -18
- package/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.module.d.ts +0 -15
- package/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.d.ts +0 -18
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-import-page/stock-issue-import-page.component.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product-form/stock-issue-product-form.component.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-product.service.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue-routing.module.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances/stock-issue-form → stock-issue/stock-issue-simple-form}/stock-issue-form-button/stock-issue-form-button.component.d.ts +0 -0
- /package/lib/inventory-common/{stock-issuances → stock-issue}/stock-issue.service.d.ts +0 -0
- /package/lib/inventory-common/stock-receipts/{stock-receipt-form → stock-receipt-simple-form}/stock-receipt-form-button/stock-receipt-form-button.component.d.ts +0 -0
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/dialog";
|
|
4
|
-
import * as i2 from "../stock-receipt.service";
|
|
5
|
-
import * as i3 from "ngx-techlify-core";
|
|
6
|
-
import * as i4 from "@angular/material/button";
|
|
7
|
-
export class StockReceiptDeleteButtonComponent {
|
|
8
|
-
matDialog;
|
|
9
|
-
stockReceiptService;
|
|
10
|
-
alertService;
|
|
11
|
-
stockReceipt;
|
|
12
|
-
deleted = new EventEmitter();
|
|
13
|
-
isDeleting = false;
|
|
14
|
-
constructor(matDialog, stockReceiptService, alertService) {
|
|
15
|
-
this.matDialog = matDialog;
|
|
16
|
-
this.stockReceiptService = stockReceiptService;
|
|
17
|
-
this.alertService = alertService;
|
|
18
|
-
}
|
|
19
|
-
showDeleteConfirmModel(templateRef) {
|
|
20
|
-
this.matDialog.open(templateRef, { width: '400px' });
|
|
21
|
-
}
|
|
22
|
-
delete() {
|
|
23
|
-
this.isDeleting = true;
|
|
24
|
-
this.stockReceiptService.delete(this.stockReceipt).subscribe({
|
|
25
|
-
next: () => {
|
|
26
|
-
this.matDialog.closeAll();
|
|
27
|
-
this.isDeleting = false;
|
|
28
|
-
this.deleted.emit();
|
|
29
|
-
this.alertService.addAlert('Stock Receipt deleted successfully!', 'success');
|
|
30
|
-
},
|
|
31
|
-
error: () => {
|
|
32
|
-
this.isDeleting = false;
|
|
33
|
-
},
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptDeleteButtonComponent, deps: [{ token: i1.MatDialog }, { token: i2.StockReceiptService }, { token: i3.AlertService }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockReceiptDeleteButtonComponent, selector: "app-stock-receipt-delete-button", inputs: { stockReceipt: "stockReceipt" }, outputs: { deleted: "deleted" }, ngImport: i0, template: "<span class=\"material-symbols-outlined cursor-pointer\" (click)=\"showDeleteConfirmModel(deleteModelTemplate)\">\n delete\n</span>\n\n<ng-template #deleteModelTemplate>\n <h3 mat-dialog-title>Delete Stock Receipt</h3>\n <div mat-dialog-content>\n <p>Are you sure you want to delete the stock receipt record?</p>\n </div>\n <div mat-dialog-actions class=\"d-flex justify-content-end gap-2\">\n <button [disabled]=\"isDeleting\" mat-raised-button type=\"button\" color=\"warn\" (click)=\"delete()\">Delete</button>\n <button [disabled]=\"isDeleting\" mat-flat-button mat-dialog-close type=\"button\">Cancel</button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }], preserveWhitespaces: true });
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptDeleteButtonComponent, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{ selector: 'app-stock-receipt-delete-button', template: "<span class=\"material-symbols-outlined cursor-pointer\" (click)=\"showDeleteConfirmModel(deleteModelTemplate)\">\n delete\n</span>\n\n<ng-template #deleteModelTemplate>\n <h3 mat-dialog-title>Delete Stock Receipt</h3>\n <div mat-dialog-content>\n <p>Are you sure you want to delete the stock receipt record?</p>\n </div>\n <div mat-dialog-actions class=\"d-flex justify-content-end gap-2\">\n <button [disabled]=\"isDeleting\" mat-raised-button type=\"button\" color=\"warn\" (click)=\"delete()\">Delete</button>\n <button [disabled]=\"isDeleting\" mat-flat-button mat-dialog-close type=\"button\">Cancel</button>\n </div>\n</ng-template>\n" }]
|
|
42
|
-
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.StockReceiptService }, { type: i3.AlertService }], propDecorators: { stockReceipt: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], deleted: [{
|
|
45
|
-
type: Output
|
|
46
|
-
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stcmVjZWlwdC1kZWxldGUtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLXJlY2VpcHRzL3N0b2NrLXJlY2VpcHQtZGVsZXRlLWJ1dHRvbi9zdG9jay1yZWNlaXB0LWRlbGV0ZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2stcmVjZWlwdHMvc3RvY2stcmVjZWlwdC1kZWxldGUtYnV0dG9uL3N0b2NrLXJlY2VpcHQtZGVsZXRlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFVcEYsTUFBTSxPQUFPLGlDQUFpQztJQU1sQztJQUNBO0lBQ0E7SUFQRCxZQUFZLENBQU07SUFDakIsT0FBTyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQy9ELFVBQVUsR0FBWSxLQUFLLENBQUM7SUFFNUIsWUFDVSxTQUFvQixFQUNwQixtQkFBd0MsRUFDeEMsWUFBMEI7UUFGMUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2pDLENBQUM7SUFFSixzQkFBc0IsQ0FBQyxXQUE2QjtRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMzRCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMvRSxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0E1QlUsaUNBQWlDOzRGQUFqQyxpQ0FBaUMsa0pDVjlDLGtwQkFjQTs7NEZESmEsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLGlDQUFpQzsySUFLbEMsWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnbmd4LXRlY2hsaWZ5LWNvcmUnO1xuaW1wb3J0IHsgU3RvY2tSZWNlaXB0U2VydmljZSB9IGZyb20gJy4uL3N0b2NrLXJlY2VpcHQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zdG9jay1yZWNlaXB0LWRlbGV0ZS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RvY2stcmVjZWlwdC1kZWxldGUtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RvY2stcmVjZWlwdC1kZWxldGUtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrUmVjZWlwdERlbGV0ZUJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHN0b2NrUmVjZWlwdDogYW55O1xuICBAT3V0cHV0KCkgZGVsZXRlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgaXNEZWxldGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWF0RGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBzdG9ja1JlY2VpcHRTZXJ2aWNlOiBTdG9ja1JlY2VpcHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2VcbiAgKSB7fVxuXG4gIHNob3dEZWxldGVDb25maXJtTW9kZWwodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLm1hdERpYWxvZy5vcGVuKHRlbXBsYXRlUmVmLCB7IHdpZHRoOiAnNDAwcHgnIH0pO1xuICB9XG5cbiAgZGVsZXRlKCkge1xuICAgIHRoaXMuaXNEZWxldGluZyA9IHRydWU7XG4gICAgdGhpcy5zdG9ja1JlY2VpcHRTZXJ2aWNlLmRlbGV0ZSh0aGlzLnN0b2NrUmVjZWlwdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5tYXREaWFsb2cuY2xvc2VBbGwoKTtcbiAgICAgICAgdGhpcy5pc0RlbGV0aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGVsZXRlZC5lbWl0KCk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdTdG9jayBSZWNlaXB0IGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5IScsICdzdWNjZXNzJyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgdGhpcy5pc0RlbGV0aW5nID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwic2hvd0RlbGV0ZUNvbmZpcm1Nb2RlbChkZWxldGVNb2RlbFRlbXBsYXRlKVwiPlxuICBkZWxldGVcbjwvc3Bhbj5cblxuPG5nLXRlbXBsYXRlICNkZWxldGVNb2RlbFRlbXBsYXRlPlxuICA8aDMgbWF0LWRpYWxvZy10aXRsZT5EZWxldGUgU3RvY2sgUmVjZWlwdDwvaDM+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxwPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhlIHN0b2NrIHJlY2VpcHQgcmVjb3JkPzwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTJcIj5cbiAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc0RlbGV0aW5nXCIgbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJkZWxldGUoKVwiPkRlbGV0ZTwvYnV0dG9uPlxuICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImlzRGVsZXRpbmdcIiBtYXQtZmxhdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZSB0eXBlPVwiYnV0dG9uXCI+Q2FuY2VsPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { TechlifyFormComponentInterface } from 'ngx-techlify-core';
|
|
3
|
-
import { Validators } from '@angular/forms';
|
|
4
|
-
import { debounceTime } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "ngx-techlify-core";
|
|
7
|
-
import * as i2 from "@angular/forms";
|
|
8
|
-
import * as i3 from "../../stock-receipt.service";
|
|
9
|
-
import * as i4 from "../../../location/location.service";
|
|
10
|
-
import * as i5 from "@angular/common";
|
|
11
|
-
import * as i6 from "../../../supplier/payee-selector/payee-selector/payee-selector.component";
|
|
12
|
-
import * as i7 from "@angular/material/button";
|
|
13
|
-
import * as i8 from "@angular/material/datepicker";
|
|
14
|
-
import * as i9 from "@angular/material/form-field";
|
|
15
|
-
import * as i10 from "@angular/material/input";
|
|
16
|
-
import * as i11 from "../../../location/location-selector/location-selector.component";
|
|
17
|
-
export class StockReceiptFormComponent extends TechlifyFormComponentInterface {
|
|
18
|
-
formBuilder;
|
|
19
|
-
stockReceiptService;
|
|
20
|
-
dateUtils;
|
|
21
|
-
locationService;
|
|
22
|
-
product;
|
|
23
|
-
stockReceipt;
|
|
24
|
-
stockReceiptProduct;
|
|
25
|
-
latestLocationId;
|
|
26
|
-
saved = new EventEmitter();
|
|
27
|
-
cancelled = new EventEmitter();
|
|
28
|
-
locationsCountValue = 0;
|
|
29
|
-
constructor(formValidatorService, formBuilder, stockReceiptService, dateUtils, locationService) {
|
|
30
|
-
super(formValidatorService);
|
|
31
|
-
this.formBuilder = formBuilder;
|
|
32
|
-
this.stockReceiptService = stockReceiptService;
|
|
33
|
-
this.dateUtils = dateUtils;
|
|
34
|
-
this.locationService = locationService;
|
|
35
|
-
this.errorMessages = {
|
|
36
|
-
date: {
|
|
37
|
-
required: 'The date field is required.',
|
|
38
|
-
},
|
|
39
|
-
quantity: {
|
|
40
|
-
required: 'The quantity field is required.',
|
|
41
|
-
},
|
|
42
|
-
purchase_price: {
|
|
43
|
-
required: 'The purchase price field is required.',
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
this.form = this.formBuilder.group({
|
|
47
|
-
id: [''],
|
|
48
|
-
product_id: [''],
|
|
49
|
-
supplier_id: [''],
|
|
50
|
-
location_id: [''],
|
|
51
|
-
date: [new Date(), Validators.required],
|
|
52
|
-
quantity: [1, Validators.required],
|
|
53
|
-
purchase_price: [0, Validators.required],
|
|
54
|
-
amount: [0],
|
|
55
|
-
particulars: [''],
|
|
56
|
-
batch_number: [''],
|
|
57
|
-
expires_on: [''],
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
ngOnInit() {
|
|
61
|
-
this.locationService.count().subscribe((count) => {
|
|
62
|
-
this.locationsCountValue = count;
|
|
63
|
-
});
|
|
64
|
-
this.form
|
|
65
|
-
.get('quantity')
|
|
66
|
-
?.valueChanges.pipe(debounceTime(500))
|
|
67
|
-
.subscribe(() => this.updateTotalAmount());
|
|
68
|
-
this.form
|
|
69
|
-
.get('purchase_price')
|
|
70
|
-
?.valueChanges.pipe(debounceTime(500))
|
|
71
|
-
.subscribe(() => this.updateTotalAmount());
|
|
72
|
-
if (this.stockReceipt) {
|
|
73
|
-
let data = { ...this.stockReceipt };
|
|
74
|
-
if (data.date) {
|
|
75
|
-
data.date = new Date(data.date);
|
|
76
|
-
}
|
|
77
|
-
if (data?.batch) {
|
|
78
|
-
console.log('Batch found ', data?.batch);
|
|
79
|
-
data.batch_number = data?.batch?.batch_number;
|
|
80
|
-
data.expires_on = data?.batch?.expires_on ? new Date(data?.batch?.expires_on) : '';
|
|
81
|
-
}
|
|
82
|
-
this.form.patchValue(data);
|
|
83
|
-
console.log('this.form.value', this.form.value);
|
|
84
|
-
this.patchFormProducts(this.stockReceipt);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
// on create for set default quantity and purchase price from last record
|
|
88
|
-
if (this.product?.last_stock_receipt) {
|
|
89
|
-
const { quantity, purchase_price, location_id } = this.product.last_stock_receipt;
|
|
90
|
-
this.form.patchValue({
|
|
91
|
-
quantity,
|
|
92
|
-
purchase_price,
|
|
93
|
-
location_id,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
patchFormProducts(stockReceiptProduct) {
|
|
99
|
-
if (stockReceiptProduct.stock_receipt_products.length > 0) {
|
|
100
|
-
this.updateFormWithProductArray(stockReceiptProduct.stock_receipt_products[0]);
|
|
101
|
-
this.product = stockReceiptProduct.stock_receipt_products[0].product;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
updateFormWithProductArray(stockReceiptProduct) {
|
|
105
|
-
this.form.patchValue({
|
|
106
|
-
product_id: stockReceiptProduct.product_id,
|
|
107
|
-
quantity: stockReceiptProduct.quantity,
|
|
108
|
-
location_id: stockReceiptProduct.location_id,
|
|
109
|
-
supplier_id: stockReceiptProduct.supplier_id,
|
|
110
|
-
particulars: stockReceiptProduct.particulars,
|
|
111
|
-
purchase_price: stockReceiptProduct.purchase_price,
|
|
112
|
-
amount: stockReceiptProduct.amount,
|
|
113
|
-
receivable_type: stockReceiptProduct.issuable_type,
|
|
114
|
-
receivable_id: stockReceiptProduct.issuable_id
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
get locationsCount() {
|
|
118
|
-
return this.locationsCountValue;
|
|
119
|
-
}
|
|
120
|
-
save() {
|
|
121
|
-
if (this.form.invalid) {
|
|
122
|
-
this.alertService.addAlert('Please check the form for errors', 'error');
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
const data = {
|
|
126
|
-
...this.form.value,
|
|
127
|
-
products: [
|
|
128
|
-
{
|
|
129
|
-
...this.form.value,
|
|
130
|
-
with: 'batch',
|
|
131
|
-
id: this.product.id,
|
|
132
|
-
product_id: this.product.id
|
|
133
|
-
}
|
|
134
|
-
],
|
|
135
|
-
};
|
|
136
|
-
if (data.date) {
|
|
137
|
-
data.date = this.dateUtils.getYYYYMMDDString(data.date);
|
|
138
|
-
}
|
|
139
|
-
if (data?.expires_on) {
|
|
140
|
-
data.expires_on = this.dateUtils.getYYYYMMDDString(data.expires_on);
|
|
141
|
-
}
|
|
142
|
-
this.isWorking = true;
|
|
143
|
-
let request = this.stockReceiptService.store(data);
|
|
144
|
-
if (this.stockReceipt?.id) {
|
|
145
|
-
request = this.stockReceiptService.update(data);
|
|
146
|
-
}
|
|
147
|
-
request.subscribe({
|
|
148
|
-
next: (response) => {
|
|
149
|
-
this.isWorking = false;
|
|
150
|
-
this.saved.emit(response?.item);
|
|
151
|
-
this.alertService.addAlert('Stock Receipt Saved Successfully!', 'success');
|
|
152
|
-
},
|
|
153
|
-
error: () => (this.isWorking = false),
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
updateTotalAmount() {
|
|
157
|
-
const { purchase_price, quantity } = this.form.value;
|
|
158
|
-
const amount = parseFloat(purchase_price) * parseFloat(quantity) || 0;
|
|
159
|
-
this.form.get('amount')?.setValue(amount);
|
|
160
|
-
}
|
|
161
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormComponent, deps: [{ token: i1.FormValidatorService }, { token: i2.FormBuilder }, { token: i3.StockReceiptService }, { token: i1.DateUtils }, { token: i4.LocationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
162
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockReceiptFormComponent, selector: "app-stock-receipt-form", inputs: { product: "product", stockReceipt: "stockReceipt", stockReceiptProduct: "stockReceiptProduct", latestLocationId: "latestLocationId" }, outputs: { saved: "saved", cancelled: "cancelled" }, usesInheritance: true, ngImport: i0, template: "<h3 class=\"text-center\">{{ stockReceipt?.id ? 'Edit' : 'Receive' }} Stock for {{ product?.name }}</h3>\n<form [formGroup]=\"form\" class=\"d-flex flex-column gap-1 justify-content-start\" (submit)=\"save()\">\n <app-payee-selector label=\"Supplier\" formControlName=\"supplier_id\" appearance=\"fill\"\n [showAddButton]=\"true\"></app-payee-selector>\n\n <app-location-selector *ngIf=\"locationsCount > 1\" formControlName=\"location_id\" appearance=\"fill\"></app-location-selector>\n\n <mat-form-field>\n <mat-label>Date</mat-label>\n <input matInput [matDatepicker]=\"datePicker\" formControlName=\"date\" (focus)=\"datePicker.open()\" />\n <mat-datepicker #datePicker></mat-datepicker>\n <mat-error *ngIf=\"isFieldValid('date')\">\n {{ getErrorMessage('date') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Quantity</mat-label>\n <input matInput formControlName=\"quantity\" type=\"number\" min=\"0\" />\n <mat-error *ngIf=\"isFieldValid('quantity')\">\n {{ getErrorMessage('quantity') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Purchase Price</mat-label>\n <input matInput formControlName=\"purchase_price\" type=\"number\" min=\"0\" />\n <mat-error *ngIf=\"isFieldValid('purchase_price')\">\n {{ getErrorMessage('purchase_price') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Total Value</mat-label>\n <input matInput formControlName=\"amount\" readonly type=\"number\" min=\"0\" />\n </mat-form-field>\n\n <div techlifyFeatureEnabled=\"product-batch-numbers\" class=\"d-flex flex-column gap-2 w-100\">\n <mat-form-field>\n <mat-label>Batch #</mat-label>\n <input type=\"text\" formControlName=\"batch_number\" matInput placeholder=\"Batch #\">\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Expires On</mat-label>\n <input matInput [matDatepicker]=\"expiresOnPicker\" formControlName=\"expires_on\" (focus)=\"expiresOnPicker.open()\" />\n <mat-datepicker #expiresOnPicker></mat-datepicker>\n </mat-form-field>\n </div>\n\n <mat-form-field>\n <mat-label>Particulars</mat-label>\n <textarea matInput formControlName=\"particulars\" rows=\"3\"></textarea>\n </mat-form-field>\n\n <div class=\"d-flex justify-content-end align-items-center gap-2\">\n <button [disabled]=\"isWorking\" mat-raised-button color=\"primary\" type=\"submit\">Save</button>\n <button [disabled]=\"isWorking\" (click)=\"cancelled.emit()\" mat-flat-button type=\"button\">Cancel</button>\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.PayeeSelectorComponent, selector: "app-payee-selector", inputs: ["label", "appearance", "required", "showAddButton", "multiple"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "directive", type: i9.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i10.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: i1.TechlifyFeatureEnabledDirective, selector: "[techlifyFeatureEnabled]", inputs: ["techlifyFeatureEnabled"] }, { kind: "component", type: i11.LocationSelectorComponent, selector: "app-location-selector", inputs: ["appearance", "label", "placeholder", "includeNone"] }], preserveWhitespaces: true });
|
|
163
|
-
}
|
|
164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormComponent, decorators: [{
|
|
165
|
-
type: Component,
|
|
166
|
-
args: [{ selector: 'app-stock-receipt-form', template: "<h3 class=\"text-center\">{{ stockReceipt?.id ? 'Edit' : 'Receive' }} Stock for {{ product?.name }}</h3>\n<form [formGroup]=\"form\" class=\"d-flex flex-column gap-1 justify-content-start\" (submit)=\"save()\">\n <app-payee-selector label=\"Supplier\" formControlName=\"supplier_id\" appearance=\"fill\"\n [showAddButton]=\"true\"></app-payee-selector>\n\n <app-location-selector *ngIf=\"locationsCount > 1\" formControlName=\"location_id\" appearance=\"fill\"></app-location-selector>\n\n <mat-form-field>\n <mat-label>Date</mat-label>\n <input matInput [matDatepicker]=\"datePicker\" formControlName=\"date\" (focus)=\"datePicker.open()\" />\n <mat-datepicker #datePicker></mat-datepicker>\n <mat-error *ngIf=\"isFieldValid('date')\">\n {{ getErrorMessage('date') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Quantity</mat-label>\n <input matInput formControlName=\"quantity\" type=\"number\" min=\"0\" />\n <mat-error *ngIf=\"isFieldValid('quantity')\">\n {{ getErrorMessage('quantity') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Purchase Price</mat-label>\n <input matInput formControlName=\"purchase_price\" type=\"number\" min=\"0\" />\n <mat-error *ngIf=\"isFieldValid('purchase_price')\">\n {{ getErrorMessage('purchase_price') }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Total Value</mat-label>\n <input matInput formControlName=\"amount\" readonly type=\"number\" min=\"0\" />\n </mat-form-field>\n\n <div techlifyFeatureEnabled=\"product-batch-numbers\" class=\"d-flex flex-column gap-2 w-100\">\n <mat-form-field>\n <mat-label>Batch #</mat-label>\n <input type=\"text\" formControlName=\"batch_number\" matInput placeholder=\"Batch #\">\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Expires On</mat-label>\n <input matInput [matDatepicker]=\"expiresOnPicker\" formControlName=\"expires_on\" (focus)=\"expiresOnPicker.open()\" />\n <mat-datepicker #expiresOnPicker></mat-datepicker>\n </mat-form-field>\n </div>\n\n <mat-form-field>\n <mat-label>Particulars</mat-label>\n <textarea matInput formControlName=\"particulars\" rows=\"3\"></textarea>\n </mat-form-field>\n\n <div class=\"d-flex justify-content-end align-items-center gap-2\">\n <button [disabled]=\"isWorking\" mat-raised-button color=\"primary\" type=\"submit\">Save</button>\n <button [disabled]=\"isWorking\" (click)=\"cancelled.emit()\" mat-flat-button type=\"button\">Cancel</button>\n </div>\n</form>" }]
|
|
167
|
-
}], ctorParameters: () => [{ type: i1.FormValidatorService }, { type: i2.FormBuilder }, { type: i3.StockReceiptService }, { type: i1.DateUtils }, { type: i4.LocationService }], propDecorators: { product: [{
|
|
168
|
-
type: Input
|
|
169
|
-
}], stockReceipt: [{
|
|
170
|
-
type: Input
|
|
171
|
-
}], stockReceiptProduct: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], latestLocationId: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], saved: [{
|
|
176
|
-
type: Output
|
|
177
|
-
}], cancelled: [{
|
|
178
|
-
type: Output
|
|
179
|
-
}] } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stcmVjZWlwdC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLXJlY2VpcHRzL3N0b2NrLXJlY2VpcHQtZm9ybS9zdG9jay1yZWNlaXB0LWZvcm0vc3RvY2stcmVjZWlwdC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLXJlY2VpcHRzL3N0b2NrLXJlY2VpcHQtZm9ybS9zdG9jay1yZWNlaXB0LWZvcm0vc3RvY2stcmVjZWlwdC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFpRCw4QkFBOEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xILE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBUWhELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSw4QkFBOEI7SUFhakU7SUFDQTtJQUNBO0lBQ0E7SUFmRCxPQUFPLENBQU07SUFDYixZQUFZLENBQU07SUFDbEIsbUJBQW1CLENBQU07SUFFekIsZ0JBQWdCLENBQU07SUFDckIsS0FBSyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ25ELFNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUV6RCxtQkFBbUIsR0FBVyxDQUFDLENBQUM7SUFFeEMsWUFDRSxvQkFBMEMsRUFDbEMsV0FBd0IsRUFD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O3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBEYXRlVXRpbHMsIEZvcm1WYWxpZGF0b3JTZXJ2aWNlLCBUZWNobGlmeUZvcm1Db21wb25lbnRJbnRlcmZhY2UgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN0b2NrUmVjZWlwdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdG9jay1yZWNlaXB0LnNlcnZpY2UnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9sb2NhdGlvbi9sb2NhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXN0b2NrLXJlY2VpcHQtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9jay1yZWNlaXB0LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdG9jay1yZWNlaXB0LWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RvY2tSZWNlaXB0Rm9ybUNvbXBvbmVudCBleHRlbmRzIFRlY2hsaWZ5Rm9ybUNvbXBvbmVudEludGVyZmFjZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb2R1Y3Q6IGFueTtcbiAgQElucHV0KCkgc3RvY2tSZWNlaXB0OiBhbnk7XG4gIEBJbnB1dCgpIHN0b2NrUmVjZWlwdFByb2R1Y3Q6IGFueTtcblxuICBASW5wdXQoKSBsYXRlc3RMb2NhdGlvbklkOiBhbnk7XG4gIEBPdXRwdXQoKSBzYXZlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGNhbmNlbGxlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcml2YXRlIGxvY2F0aW9uc0NvdW50VmFsdWU6IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZm9ybVZhbGlkYXRvclNlcnZpY2U6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgc3RvY2tSZWNlaXB0U2VydmljZTogU3RvY2tSZWNlaXB0U2VydmljZSxcbiAgICBwcml2YXRlIGRhdGVVdGlsczogRGF0ZVV0aWxzLFxuICAgIHByaXZhdGUgbG9jYXRpb25TZXJ2aWNlOiBMb2NhdGlvblNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoZm9ybVZhbGlkYXRvclNlcnZpY2UpO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IHtcbiAgICAgIGRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6ICdUaGUgZGF0ZSBmaWVsZCBpcyByZXF1aXJlZC4nLFxuICAgICAgfSxcbiAgICAgIHF1YW50aXR5OiB7XG4gICAgICAgIHJlcXVpcmVkOiAnVGhlIHF1YW50aXR5IGZpZWxkIGlzIHJlcXVpcmVkLicsXG4gICAgICB9LFxuICAgICAgcHVyY2hhc2VfcHJpY2U6IHtcbiAgICAgICAgcmVxdWlyZWQ6ICdUaGUgcHVyY2hhc2UgcHJpY2UgZmllbGQgaXMgcmVxdWlyZWQuJyxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgaWQ6IFsnJ10sXG4gICAgICBwcm9kdWN0X2lkOiBbJyddLFxuICAgICAgc3VwcGxpZXJfaWQ6IFsnJ10sXG4gICAgICBsb2NhdGlvbl9pZDogWycnXSxcbiAgICAgIGRhdGU6IFtuZXcgRGF0ZSgpLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHF1YW50aXR5OiBbMSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBwdXJjaGFzZV9wcmljZTogWzAsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgYW1vdW50OiBbMF0sXG4gICAgICBwYXJ0aWN1bGFyczogWycnXSxcbiAgICAgIGJhdGNoX251bWJlcjogWycnXSxcbiAgICAgIGV4cGlyZXNfb246IFsnJ10sXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvY2F0aW9uU2VydmljZS5jb3VudCgpLnN1YnNjcmliZSgoY291bnQ6IG51bWJlcikgPT4ge1xuICAgICAgdGhpcy5sb2NhdGlvbnNDb3VudFZhbHVlID0gY291bnQ7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1cbiAgICAgIC5nZXQoJ3F1YW50aXR5JylcbiAgICAgID8udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlVG90YWxBbW91bnQoKSk7XG4gICAgdGhpcy5mb3JtXG4gICAgICAuZ2V0KCdwdXJjaGFzZV9wcmljZScpXG4gICAgICA/LnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg1MDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVRvdGFsQW1vdW50KCkpO1xuXG4gICAgaWYgKHRoaXMuc3RvY2tSZWNlaXB0KSB7XG4gICAgICBsZXQgZGF0YTogYW55ID0geyAuLi50aGlzLnN0b2NrUmVjZWlwdCB9O1xuICAgICAgaWYgKGRhdGEuZGF0ZSkge1xuICAgICAgICBkYXRhLmRhdGUgPSBuZXcgRGF0ZShkYXRhLmRhdGUpO1xuICAgICAgfVxuICAgICAgaWYgKGRhdGE/LmJhdGNoKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdCYXRjaCBmb3VuZCAnLCBkYXRhPy5iYXRjaCk7XG4gICAgICAgIGRhdGEuYmF0Y2hfbnVtYmVyID0gZGF0YT8uYmF0Y2g/LmJhdGNoX251bWJlcjtcbiAgICAgICAgZGF0YS5leHBpcmVzX29uID0gZGF0YT8uYmF0Y2g/LmV4cGlyZXNfb24gPyBuZXcgRGF0ZShkYXRhPy5iYXRjaD8uZXhwaXJlc19vbikgOiAnJztcbiAgICAgIH1cbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKGRhdGEpO1xuXG4gICAgICBjb25zb2xlLmxvZygndGhpcy5mb3JtLnZhbHVlJywgdGhpcy5mb3JtLnZhbHVlKTtcblxuICAgICAgdGhpcy5wYXRjaEZvcm1Qcm9kdWN0cyh0aGlzLnN0b2NrUmVjZWlwdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG9uIGNyZWF0ZSBmb3Igc2V0IGRlZmF1bHQgcXVhbnRpdHkgYW5kIHB1cmNoYXNlIHByaWNlIGZyb20gbGFzdCByZWNvcmRcbiAgICAgIGlmICh0aGlzLnByb2R1Y3Q/Lmxhc3Rfc3RvY2tfcmVjZWlwdCkge1xuICAgICAgICBjb25zdCB7IHF1YW50aXR5LCBwdXJjaGFzZV9wcmljZSwgbG9jYXRpb25faWQgfSA9IHRoaXMucHJvZHVjdC5sYXN0X3N0b2NrX3JlY2VpcHQ7XG4gICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBxdWFudGl0eSxcbiAgICAgICAgICBwdXJjaGFzZV9wcmljZSxcbiAgICAgICAgICBsb2NhdGlvbl9pZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcGF0Y2hGb3JtUHJvZHVjdHMoc3RvY2tSZWNlaXB0UHJvZHVjdDogYW55KSB7XG4gICAgaWYgKHN0b2NrUmVjZWlwdFByb2R1Y3Quc3RvY2tfcmVjZWlwdF9wcm9kdWN0cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1XaXRoUHJvZHVjdEFycmF5KHN0b2NrUmVjZWlwdFByb2R1Y3Quc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXSk7XG5cbiAgICAgIHRoaXMucHJvZHVjdCA9IHN0b2NrUmVjZWlwdFByb2R1Y3Quc3RvY2tfcmVjZWlwdF9wcm9kdWN0c1swXS5wcm9kdWN0O1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUZvcm1XaXRoUHJvZHVjdEFycmF5KHN0b2NrUmVjZWlwdFByb2R1Y3Q6IGFueSkge1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIHByb2R1Y3RfaWQ6IHN0b2NrUmVjZWlwdFByb2R1Y3QucHJvZHVjdF9pZCxcbiAgICAgIHF1YW50aXR5OiBzdG9ja1JlY2VpcHRQcm9kdWN0LnF1YW50aXR5LFxuICAgICAgbG9jYXRpb25faWQ6IHN0b2NrUmVjZWlwdFByb2R1Y3QubG9jYXRpb25faWQsXG4gICAgICBzdXBwbGllcl9pZDogc3RvY2tSZWNlaXB0UHJvZHVjdC5zdXBwbGllcl9pZCxcbiAgICAgIHBhcnRpY3VsYXJzOiBzdG9ja1JlY2VpcHRQcm9kdWN0LnBhcnRpY3VsYXJzLFxuICAgICAgcHVyY2hhc2VfcHJpY2U6IHN0b2NrUmVjZWlwdFByb2R1Y3QucHVyY2hhc2VfcHJpY2UsXG4gICAgICBhbW91bnQ6IHN0b2NrUmVjZWlwdFByb2R1Y3QuYW1vdW50LFxuICAgICAgcmVjZWl2YWJsZV90eXBlOiBzdG9ja1JlY2VpcHRQcm9kdWN0Lmlzc3VhYmxlX3R5cGUsXG4gICAgICByZWNlaXZhYmxlX2lkOiBzdG9ja1JlY2VpcHRQcm9kdWN0Lmlzc3VhYmxlX2lkXG4gICAgfSk7XG4gIH1cblxuICBnZXQgbG9jYXRpb25zQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5sb2NhdGlvbnNDb3VudFZhbHVlO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdQbGVhc2UgY2hlY2sgdGhlIGZvcm0gZm9yIGVycm9ycycsICdlcnJvcicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRhOiBhbnkgPSB7XG4gICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICBwcm9kdWN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgIHdpdGg6ICdiYXRjaCcsXG4gICAgICAgICAgaWQ6IHRoaXMucHJvZHVjdC5pZCxcbiAgICAgICAgICBwcm9kdWN0X2lkOiB0aGlzLnByb2R1Y3QuaWRcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICB9O1xuICAgIGlmIChkYXRhLmRhdGUpIHtcbiAgICAgIGRhdGEuZGF0ZSA9IHRoaXMuZGF0ZVV0aWxzLmdldFlZWVlNTUREU3RyaW5nKGRhdGEuZGF0ZSk7XG4gICAgfVxuICAgIGlmIChkYXRhPy5leHBpcmVzX29uKSB7XG4gICAgICBkYXRhLmV4cGlyZXNfb24gPSB0aGlzLmRhdGVVdGlscy5nZXRZWVlZTU1ERFN0cmluZyhkYXRhLmV4cGlyZXNfb24pO1xuICAgIH1cbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgbGV0IHJlcXVlc3Q6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuc3RvY2tSZWNlaXB0U2VydmljZS5zdG9yZShkYXRhKTtcbiAgICBpZiAodGhpcy5zdG9ja1JlY2VpcHQ/LmlkKSB7XG4gICAgICByZXF1ZXN0ID0gdGhpcy5zdG9ja1JlY2VpcHRTZXJ2aWNlLnVwZGF0ZShkYXRhKTtcbiAgICB9XG4gICAgcmVxdWVzdC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zYXZlZC5lbWl0KHJlc3BvbnNlPy5pdGVtKTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoJ1N0b2NrIFJlY2VpcHQgU2F2ZWQgU3VjY2Vzc2Z1bGx5IScsICdzdWNjZXNzJyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+ICh0aGlzLmlzV29ya2luZyA9IGZhbHNlKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVG90YWxBbW91bnQoKSB7XG4gICAgY29uc3QgeyBwdXJjaGFzZV9wcmljZSwgcXVhbnRpdHkgfSA9IHRoaXMuZm9ybS52YWx1ZTtcbiAgICBjb25zdCBhbW91bnQ6IGFueSA9IHBhcnNlRmxvYXQocHVyY2hhc2VfcHJpY2UpICogcGFyc2VGbG9hdChxdWFudGl0eSkgfHwgMDtcbiAgICB0aGlzLmZvcm0uZ2V0KCdhbW91bnQnKT8uc2V0VmFsdWUoYW1vdW50KTtcbiAgfVxufVxuIiwiPGgzIGNsYXNzPVwidGV4dC1jZW50ZXJcIj57eyBzdG9ja1JlY2VpcHQ/LmlkID8gJ0VkaXQnIDogJ1JlY2VpdmUnIH19IFN0b2NrIGZvciB7eyBwcm9kdWN0Py5uYW1lIH19PC9oMz5cbjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0xIGp1c3RpZnktY29udGVudC1zdGFydFwiIChzdWJtaXQpPVwic2F2ZSgpXCI+XG4gIDxhcHAtcGF5ZWUtc2VsZWN0b3IgbGFiZWw9XCJTdXBwbGllclwiIGZvcm1Db250cm9sTmFtZT1cInN1cHBsaWVyX2lkXCIgYXBwZWFyYW5jZT1cImZpbGxcIlxuICAgIFtzaG93QWRkQnV0dG9uXT1cInRydWVcIj48L2FwcC1wYXllZS1zZWxlY3Rvcj5cblxuICA8YXBwLWxvY2F0aW9uLXNlbGVjdG9yICpuZ0lmPVwibG9jYXRpb25zQ291bnQgPiAxXCIgZm9ybUNvbnRyb2xOYW1lPVwibG9jYXRpb25faWRcIiBhcHBlYXJhbmNlPVwiZmlsbFwiPjwvYXBwLWxvY2F0aW9uLXNlbGVjdG9yPlxuXG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPkRhdGU8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwiZGF0ZVBpY2tlclwiIGZvcm1Db250cm9sTmFtZT1cImRhdGVcIiAoZm9jdXMpPVwiZGF0ZVBpY2tlci5vcGVuKClcIiAvPlxuICAgIDxtYXQtZGF0ZXBpY2tlciAjZGF0ZVBpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ2RhdGUnKVwiPlxuICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCdkYXRlJykgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD5RdWFudGl0eTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJxdWFudGl0eVwiIHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgLz5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdxdWFudGl0eScpXCI+XG4gICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoJ3F1YW50aXR5JykgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD5QdXJjaGFzZSBQcmljZTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwdXJjaGFzZV9wcmljZVwiIHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgLz5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdwdXJjaGFzZV9wcmljZScpXCI+XG4gICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoJ3B1cmNoYXNlX3ByaWNlJykgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD5Ub3RhbCBWYWx1ZTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJhbW91bnRcIiByZWFkb25seSB0eXBlPVwibnVtYmVyXCIgbWluPVwiMFwiIC8+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPGRpdiB0ZWNobGlmeUZlYXR1cmVFbmFibGVkPVwicHJvZHVjdC1iYXRjaC1udW1iZXJzXCIgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTIgdy0xMDBcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPkJhdGNoICM8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cImJhdGNoX251bWJlclwiIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQmF0Y2ggI1wiPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPkV4cGlyZXMgT248L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbbWF0RGF0ZXBpY2tlcl09XCJleHBpcmVzT25QaWNrZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJleHBpcmVzX29uXCIgKGZvY3VzKT1cImV4cGlyZXNPblBpY2tlci5vcGVuKClcIiAvPlxuICAgICAgPG1hdC1kYXRlcGlja2VyICNleHBpcmVzT25QaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cblxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD5QYXJ0aWN1bGFyczwvbWF0LWxhYmVsPlxuICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwYXJ0aWN1bGFyc1wiIHJvd3M9XCIzXCI+PC90ZXh0YXJlYT5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNXb3JraW5nXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiPlNhdmU8L2J1dHRvbj5cbiAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIiAoY2xpY2spPVwiY2FuY2VsbGVkLmVtaXQoKVwiIG1hdC1mbGF0LWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCI+Q2FuY2VsPC9idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPiJdfQ==
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/dialog";
|
|
4
|
-
import * as i2 from "ngx-techlify-core";
|
|
5
|
-
import * as i3 from "@angular/router";
|
|
6
|
-
import * as i4 from "../stock-receipt-form/stock-receipt-form.component";
|
|
7
|
-
export class StockReceiptFormButtonComponent {
|
|
8
|
-
matDialog;
|
|
9
|
-
product;
|
|
10
|
-
stockReceipt;
|
|
11
|
-
latestLocationId;
|
|
12
|
-
icon;
|
|
13
|
-
saved = new EventEmitter();
|
|
14
|
-
matDialogRef;
|
|
15
|
-
constructor(matDialog) {
|
|
16
|
-
this.matDialog = matDialog;
|
|
17
|
-
}
|
|
18
|
-
showStockReceiptForm(templateRef) {
|
|
19
|
-
this.matDialogRef = this.matDialog.open(templateRef, { width: '500px' });
|
|
20
|
-
}
|
|
21
|
-
onStockReceiptSaved(item) {
|
|
22
|
-
this.matDialogRef.close();
|
|
23
|
-
this.saved.emit(item);
|
|
24
|
-
}
|
|
25
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormButtonComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StockReceiptFormButtonComponent, selector: "app-stock-receipt-form-button", inputs: { product: "product", stockReceipt: "stockReceipt", latestLocationId: "latestLocationId", icon: "icon" }, outputs: { saved: "saved" }, ngImport: i0, template: "<app-techlify-icon role='button' name='edit'\n [routerLink]=\"['/inventory/stock-receipts/batch-form', stockReceipt?.id]\"></app-techlify-icon>\n\n<ng-template #stockReceiptFormTemplate>\n <app-stock-receipt-form mat-dialog-content [latestLocationId]=\"latestLocationId\" [product]=\"product\"\n [stockReceipt]=\"stockReceipt\" (cancelled)=\"matDialogRef.close()\"\n (saved)=\"onStockReceiptSaved($event)\"></app-stock-receipt-form>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i2.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.StockReceiptFormComponent, selector: "app-stock-receipt-form", inputs: ["product", "stockReceipt", "stockReceiptProduct", "latestLocationId"], outputs: ["saved", "cancelled"] }], preserveWhitespaces: true });
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormButtonComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{ selector: 'app-stock-receipt-form-button', template: "<app-techlify-icon role='button' name='edit'\n [routerLink]=\"['/inventory/stock-receipts/batch-form', stockReceipt?.id]\"></app-techlify-icon>\n\n<ng-template #stockReceiptFormTemplate>\n <app-stock-receipt-form mat-dialog-content [latestLocationId]=\"latestLocationId\" [product]=\"product\"\n [stockReceipt]=\"stockReceipt\" (cancelled)=\"matDialogRef.close()\"\n (saved)=\"onStockReceiptSaved($event)\"></app-stock-receipt-form>\n</ng-template>\n" }]
|
|
31
|
-
}], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { product: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}], stockReceipt: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], latestLocationId: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], icon: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], saved: [{
|
|
40
|
-
type: Output
|
|
41
|
-
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stcmVjZWlwdC1mb3JtLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdG9jay1yZWNlaXB0cy9zdG9jay1yZWNlaXB0LWZvcm0vc3RvY2stcmVjZWlwdC1mb3JtLWJ1dHRvbi9zdG9jay1yZWNlaXB0LWZvcm0tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLXJlY2VpcHRzL3N0b2NrLXJlY2VpcHQtZm9ybS9zdG9jay1yZWNlaXB0LWZvcm0tYnV0dG9uL3N0b2NrLXJlY2VpcHQtZm9ybS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUXBGLE1BQU0sT0FBTywrQkFBK0I7SUFTdEI7SUFSWCxPQUFPLENBQU07SUFDYixZQUFZLENBQU07SUFDbEIsZ0JBQWdCLENBQU07SUFDdEIsSUFBSSxDQUFpQjtJQUNwQixLQUFLLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFN0QsWUFBWSxDQUFxQjtJQUVqQyxZQUFvQixTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQUcsQ0FBQztJQUU1QyxvQkFBb0IsQ0FBQyxXQUE2QjtRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFTO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQzt3R0FsQlUsK0JBQStCOzRGQUEvQiwrQkFBK0Isb05DUjVDLDRjQVFBOzs0RkRBYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsK0JBQStCOzhFQUtoQyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3RvY2stcmVjZWlwdC1mb3JtLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9jay1yZWNlaXB0LWZvcm0tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RvY2stcmVjZWlwdC1mb3JtLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja1JlY2VpcHRGb3JtQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvZHVjdDogYW55O1xuICBASW5wdXQoKSBzdG9ja1JlY2VpcHQ6IGFueTtcbiAgQElucHV0KCkgbGF0ZXN0TG9jYXRpb25JZDogYW55O1xuICBASW5wdXQoKSBpY29uITogc3RyaW5nIHwgbnVsbDtcbiAgQE91dHB1dCgpIHNhdmVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIG1hdERpYWxvZ1JlZiE6IE1hdERpYWxvZ1JlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0RGlhbG9nOiBNYXREaWFsb2cpIHt9XG5cbiAgc2hvd1N0b2NrUmVjZWlwdEZvcm0odGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLm1hdERpYWxvZ1JlZiA9IHRoaXMubWF0RGlhbG9nLm9wZW4odGVtcGxhdGVSZWYsIHsgd2lkdGg6ICc1MDBweCcgfSk7XG4gIH1cblxuICBvblN0b2NrUmVjZWlwdFNhdmVkKGl0ZW06IGFueSkge1xuICAgIHRoaXMubWF0RGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgdGhpcy5zYXZlZC5lbWl0KGl0ZW0pO1xuICB9XG59XG4iLCI8YXBwLXRlY2hsaWZ5LWljb24gcm9sZT0nYnV0dG9uJyBuYW1lPSdlZGl0J1xuICBbcm91dGVyTGlua109XCJbJy9pbnZlbnRvcnkvc3RvY2stcmVjZWlwdHMvYmF0Y2gtZm9ybScsIHN0b2NrUmVjZWlwdD8uaWRdXCI+PC9hcHAtdGVjaGxpZnktaWNvbj5cblxuPG5nLXRlbXBsYXRlICNzdG9ja1JlY2VpcHRGb3JtVGVtcGxhdGU+XG4gIDxhcHAtc3RvY2stcmVjZWlwdC1mb3JtIG1hdC1kaWFsb2ctY29udGVudCBbbGF0ZXN0TG9jYXRpb25JZF09XCJsYXRlc3RMb2NhdGlvbklkXCIgW3Byb2R1Y3RdPVwicHJvZHVjdFwiXG4gICAgW3N0b2NrUmVjZWlwdF09XCJzdG9ja1JlY2VpcHRcIiAoY2FuY2VsbGVkKT1cIm1hdERpYWxvZ1JlZi5jbG9zZSgpXCJcbiAgICAoc2F2ZWQpPVwib25TdG9ja1JlY2VpcHRTYXZlZCgkZXZlbnQpXCI+PC9hcHAtc3RvY2stcmVjZWlwdC1mb3JtPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.module.mjs
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { StockReceiptFormComponent } from './stock-receipt-form/stock-receipt-form.component';
|
|
4
|
-
import { StockReceiptFormButtonComponent } from './stock-receipt-form-button/stock-receipt-form-button.component';
|
|
5
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
-
import { PayeeSelectorModule } from '../../supplier/payee-selector/payee-selector.module';
|
|
7
|
-
import { SearchableSelectorModule, TechlifyFeatureModule, TechlifyIconModule } from 'ngx-techlify-core';
|
|
8
|
-
import { MaterialModule } from '../../material.module';
|
|
9
|
-
import { LocationSelectorComponent } from '../../location/location-selector/location-selector.component';
|
|
10
|
-
import { RouterModule } from '@angular/router';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
export class StockReceiptFormModule {
|
|
13
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormModule, declarations: [StockReceiptFormComponent, StockReceiptFormButtonComponent], imports: [CommonModule,
|
|
15
|
-
PayeeSelectorModule,
|
|
16
|
-
ReactiveFormsModule,
|
|
17
|
-
MaterialModule,
|
|
18
|
-
SearchableSelectorModule,
|
|
19
|
-
TechlifyFeatureModule,
|
|
20
|
-
LocationSelectorComponent,
|
|
21
|
-
TechlifyIconModule,
|
|
22
|
-
RouterModule], exports: [StockReceiptFormButtonComponent] });
|
|
23
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormModule, imports: [CommonModule,
|
|
24
|
-
PayeeSelectorModule,
|
|
25
|
-
ReactiveFormsModule,
|
|
26
|
-
MaterialModule,
|
|
27
|
-
SearchableSelectorModule,
|
|
28
|
-
TechlifyFeatureModule,
|
|
29
|
-
LocationSelectorComponent,
|
|
30
|
-
TechlifyIconModule,
|
|
31
|
-
RouterModule] });
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptFormModule, decorators: [{
|
|
34
|
-
type: NgModule,
|
|
35
|
-
args: [{
|
|
36
|
-
declarations: [StockReceiptFormComponent, StockReceiptFormButtonComponent],
|
|
37
|
-
exports: [StockReceiptFormButtonComponent],
|
|
38
|
-
imports: [
|
|
39
|
-
CommonModule,
|
|
40
|
-
PayeeSelectorModule,
|
|
41
|
-
ReactiveFormsModule,
|
|
42
|
-
MaterialModule,
|
|
43
|
-
SearchableSelectorModule,
|
|
44
|
-
TechlifyFeatureModule,
|
|
45
|
-
LocationSelectorComponent,
|
|
46
|
-
TechlifyIconModule,
|
|
47
|
-
RouterModule
|
|
48
|
-
],
|
|
49
|
-
}]
|
|
50
|
-
}] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stcmVjZWlwdC1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLXJlY2VpcHRzL3N0b2NrLXJlY2VpcHQtZm9ybS9zdG9jay1yZWNlaXB0LWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBa0MsTUFBTSxtQkFBbUIsQ0FBQztBQUN4SSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWlCL0MsTUFBTSxPQUFPLHNCQUFzQjt3R0FBdEIsc0JBQXNCO3lHQUF0QixzQkFBc0IsaUJBZGxCLHlCQUF5QixFQUFFLCtCQUErQixhQUd2RSxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQix5QkFBeUI7WUFDekIsa0JBQWtCO1lBQ2xCLFlBQVksYUFWSiwrQkFBK0I7eUdBYTlCLHNCQUFzQixZQVgvQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQix5QkFBeUI7WUFDekIsa0JBQWtCO1lBQ2xCLFlBQVk7OzRGQUdILHNCQUFzQjtrQkFmbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSwrQkFBK0IsQ0FBQztvQkFDMUUsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDVCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLGtCQUFrQjt3QkFDbEIsWUFBWTtxQkFDZjtpQkFDQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3RvY2tSZWNlaXB0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vc3RvY2stcmVjZWlwdC1mb3JtL3N0b2NrLXJlY2VpcHQtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RvY2tSZWNlaXB0Rm9ybUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vc3RvY2stcmVjZWlwdC1mb3JtLWJ1dHRvbi9zdG9jay1yZWNlaXB0LWZvcm0tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGF5ZWVTZWxlY3Rvck1vZHVsZSB9IGZyb20gJy4uLy4uL3N1cHBsaWVyL3BheWVlLXNlbGVjdG9yL3BheWVlLXNlbGVjdG9yLm1vZHVsZSc7XG5pbXBvcnQgeyBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsIFRlY2hsaWZ5RmVhdHVyZU1vZHVsZSwgVGVjaGxpZnlJY29uTW9kdWxlLCBBdWRpdExvZ1ZpZXdNb2RlbFJvdXRpbmdNb2R1bGUgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBMb2NhdGlvblNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbG9jYXRpb24vbG9jYXRpb24tc2VsZWN0b3IvbG9jYXRpb24tc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1N0b2NrUmVjZWlwdEZvcm1Db21wb25lbnQsIFN0b2NrUmVjZWlwdEZvcm1CdXR0b25Db21wb25lbnRdLFxuICBleHBvcnRzOiBbU3RvY2tSZWNlaXB0Rm9ybUJ1dHRvbkNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQYXllZVNlbGVjdG9yTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICAgIFRlY2hsaWZ5RmVhdHVyZU1vZHVsZSxcbiAgICBMb2NhdGlvblNlbGVjdG9yQ29tcG9uZW50LFxuICAgIFRlY2hsaWZ5SWNvbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGVcbl0sXG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrUmVjZWlwdEZvcm1Nb2R1bGUge31cbiJdfQ==
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Component, input, output, signal } from "@angular/core";
|
|
3
|
-
import { UntilDestroy } from "@ngneat/until-destroy";
|
|
4
|
-
import { toSignal } from "@angular/core/rxjs-interop";
|
|
5
|
-
import { startWith } from "rxjs";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/forms";
|
|
8
|
-
import * as i2 from "@angular/common";
|
|
9
|
-
import * as i3 from "@angular/material/button-toggle";
|
|
10
|
-
import * as i4 from "@angular/material/card";
|
|
11
|
-
import * as i5 from "@angular/material/form-field";
|
|
12
|
-
import * as i6 from "@angular/material/input";
|
|
13
|
-
import * as i7 from "@angular/material/tooltip";
|
|
14
|
-
import * as i8 from "@angular/router";
|
|
15
|
-
import * as i9 from "ngx-techlify-core";
|
|
16
|
-
import * as i10 from "../../shared/export-to-excel-button/export-to-excel-button.component";
|
|
17
|
-
import * as i11 from "../grouped-stock-receipt-list/grouped-stock-receipt-list.component";
|
|
18
|
-
import * as i12 from "../itemized-stock-receipt-products-list/itemized-stock-receipt-products-list.component";
|
|
19
|
-
let StockReceiptsListPageComponent = class StockReceiptsListPageComponent {
|
|
20
|
-
formBuilder;
|
|
21
|
-
product = input(null);
|
|
22
|
-
supplierId = input(undefined);
|
|
23
|
-
listUpdated = output();
|
|
24
|
-
selectedView = signal('itemized');
|
|
25
|
-
exportInProgress = signal(false);
|
|
26
|
-
columnConfig = [];
|
|
27
|
-
selectedColumns = [];
|
|
28
|
-
filterForm;
|
|
29
|
-
filtersValue;
|
|
30
|
-
constructor(formBuilder) {
|
|
31
|
-
this.formBuilder = formBuilder;
|
|
32
|
-
this.filterForm = this.formBuilder.group({
|
|
33
|
-
category_ids: [''],
|
|
34
|
-
duration: [''],
|
|
35
|
-
location_ids: [''],
|
|
36
|
-
measure_ids: [''],
|
|
37
|
-
product_ids: [''],
|
|
38
|
-
search: [''],
|
|
39
|
-
supplier_ids: [''],
|
|
40
|
-
date_from: [''],
|
|
41
|
-
date_to: [''],
|
|
42
|
-
});
|
|
43
|
-
this.filtersValue = toSignal(this.filterForm.valueChanges.pipe(startWith(this.filterForm.value)));
|
|
44
|
-
}
|
|
45
|
-
ngOnInit() {
|
|
46
|
-
const productVal = this.product();
|
|
47
|
-
if (productVal) {
|
|
48
|
-
this.filterForm.get('product_ids')?.setValue(productVal.id);
|
|
49
|
-
}
|
|
50
|
-
const supplierIdVal = this.supplierId();
|
|
51
|
-
if (supplierIdVal) {
|
|
52
|
-
this.filterForm.get('supplier_ids')?.setValue(supplierIdVal);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
onColumnConfigReady(config) {
|
|
56
|
-
this.columnConfig = config;
|
|
57
|
-
this.selectedColumns = config.filter(col => col.isSelected);
|
|
58
|
-
}
|
|
59
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptsListPageComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: StockReceiptsListPageComponent, selector: "app-stock-receipts-list-page", inputs: { product: { classPropertyName: "product", publicName: "product", isSignal: true, isRequired: false, transformFunction: null }, supplierId: { classPropertyName: "supplierId", publicName: "supplierId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { listUpdated: "listUpdated" }, 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\">Stock Receipts</h3>\n\n <app-techlify-icon role='button' name='add' [routerLink]=\"['/inventory/stock-receipts/batch-form']\"\n class='ms-2'></app-techlify-icon>\n\n <span matTooltip=\"Import\" routerLink=\"import\" class=\"cursor-pointer material-symbols-outlined\">\n file_upload\n </span>\n\n <app-export-to-excel-button tableId=\"stockReceiptTable\" fileName=\"Stock Receipts\"\n (onExportStart)=\"exportInProgress.set(true)\" (onExportEnd)=\"exportInProgress.set(false)\">\n </app-export-to-excel-button>\n\n <app-column-selector *ngIf=\"columnConfig.length > 0\" mode=\"icon\" class=\"mt-1 d-print-none\"\n [columnConfigs]=\"columnConfig\" [(selectedColumns)]=\"selectedColumns\"></app-column-selector>\n\n <mat-button-toggle-group class=\"view-toggle\" [value]=\"selectedView()\" (change)=\"selectedView.set($event.value)\">\n <mat-button-toggle value=\"itemized\">Itemized</mat-button-toggle>\n <mat-button-toggle value=\"grouped\">Grouped</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n\n <form [formGroup]=\"filterForm\" class=\"d-flex align-items-center gap-2 flex-wrap\">\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input matInput formControlName=\"search\" />\n </mat-form-field>\n\n <app-timeline-filter labelText=\"Date\" formControlName=\"duration\" [form]=\"filterForm\"></app-timeline-filter>\n\n <mat-form-field class='fl-sm'>\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 class='fl-sm'>\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 class='fl-sm'>\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\n <mat-form-field class='fl-sm'>\n <mat-label>Supplier</mat-label>\n <app-searchable-selector apiUrl=\"api/suppliers\" formControlName=\"supplier_ids\" titleField=\"company_name\"\n [multiple]=\"true\">\n </app-searchable-selector>\n </mat-form-field>\n </form>\n </mat-card-content>\n</mat-card>\n\n<mat-card *ngIf=\"product()\" class=\"mb-2\">\n <mat-card-content class=\"mb-0\">\n <div class=\"d-flex justify-content-start align-items-center gap-2 mb-2\">\n <span class=\"material-symbols-outlined\"> output_circle </span>\n <h3 class=\"mb-0\">Stock Receipts</h3>\n </div>\n </mat-card-content>\n</mat-card>\n\n<app-itemized-stock-receipt-products-list *ngIf=\"selectedView() === 'itemized'\" [filters]=\"filtersValue()\"\n [selectedColumns]=\"selectedColumns\" [exportInProgress]=\"exportInProgress()\"\n (columnConfigReady)=\"onColumnConfigReady($event)\" (listUpdated)=\"listUpdated.emit($event)\">\n</app-itemized-stock-receipt-products-list>\n\n<app-grouped-stock-receipt-list *ngIf=\"selectedView() === 'grouped'\" [filters]=\"filtersValue()\"\n [selectedColumns]=\"selectedColumns\" [exportInProgress]=\"exportInProgress()\"\n (columnConfigReady)=\"onColumnConfigReady($event)\" (listUpdated)=\"listUpdated.emit($event)\">\n</app-grouped-stock-receipt-list>", styles: [":host ::ng-deep .mat-mdc-footer-row{position:sticky;bottom:0;background-color:#fff;z-index:10;box-shadow:0 -2px 4px #0000001a}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i3.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i8.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i9.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: i9.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: i9.ColumnSelectorComponent, selector: "app-column-selector", inputs: ["label", "mode", "columnConfigs", "selectedColumns", "isExportWorking"], outputs: ["selectedColumnsChange", "displayedColumnsChange"] }, { kind: "component", type: i9.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "component", type: i10.ExportToExcelButtonComponent, selector: "app-export-to-excel-button", inputs: ["tableId", "fileName"], outputs: ["onExportStart", "onExportEnd"] }, { kind: "component", type: i11.GroupedStockReceiptListComponent, selector: "app-grouped-stock-receipt-list", inputs: ["filters", "selectedColumns", "exportInProgress"], outputs: ["listUpdated", "columnConfigReady"] }, { kind: "component", type: i12.ItemizedStockReceiptProductsListComponent, selector: "app-itemized-stock-receipt-products-list", inputs: ["filters", "isProductView", "selectedColumns", "exportInProgress"], outputs: ["listUpdated", "columnConfigReady"] }], preserveWhitespaces: true });
|
|
61
|
-
};
|
|
62
|
-
StockReceiptsListPageComponent = __decorate([
|
|
63
|
-
UntilDestroy()
|
|
64
|
-
], StockReceiptsListPageComponent);
|
|
65
|
-
export { StockReceiptsListPageComponent };
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StockReceiptsListPageComponent, decorators: [{
|
|
67
|
-
type: Component,
|
|
68
|
-
args: [{ selector: 'app-stock-receipts-list-page', 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\">Stock Receipts</h3>\n\n <app-techlify-icon role='button' name='add' [routerLink]=\"['/inventory/stock-receipts/batch-form']\"\n class='ms-2'></app-techlify-icon>\n\n <span matTooltip=\"Import\" routerLink=\"import\" class=\"cursor-pointer material-symbols-outlined\">\n file_upload\n </span>\n\n <app-export-to-excel-button tableId=\"stockReceiptTable\" fileName=\"Stock Receipts\"\n (onExportStart)=\"exportInProgress.set(true)\" (onExportEnd)=\"exportInProgress.set(false)\">\n </app-export-to-excel-button>\n\n <app-column-selector *ngIf=\"columnConfig.length > 0\" mode=\"icon\" class=\"mt-1 d-print-none\"\n [columnConfigs]=\"columnConfig\" [(selectedColumns)]=\"selectedColumns\"></app-column-selector>\n\n <mat-button-toggle-group class=\"view-toggle\" [value]=\"selectedView()\" (change)=\"selectedView.set($event.value)\">\n <mat-button-toggle value=\"itemized\">Itemized</mat-button-toggle>\n <mat-button-toggle value=\"grouped\">Grouped</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n\n <form [formGroup]=\"filterForm\" class=\"d-flex align-items-center gap-2 flex-wrap\">\n <mat-form-field>\n <mat-label>Search</mat-label>\n <input matInput formControlName=\"search\" />\n </mat-form-field>\n\n <app-timeline-filter labelText=\"Date\" formControlName=\"duration\" [form]=\"filterForm\"></app-timeline-filter>\n\n <mat-form-field class='fl-sm'>\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 class='fl-sm'>\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 class='fl-sm'>\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\n <mat-form-field class='fl-sm'>\n <mat-label>Supplier</mat-label>\n <app-searchable-selector apiUrl=\"api/suppliers\" formControlName=\"supplier_ids\" titleField=\"company_name\"\n [multiple]=\"true\">\n </app-searchable-selector>\n </mat-form-field>\n </form>\n </mat-card-content>\n</mat-card>\n\n<mat-card *ngIf=\"product()\" class=\"mb-2\">\n <mat-card-content class=\"mb-0\">\n <div class=\"d-flex justify-content-start align-items-center gap-2 mb-2\">\n <span class=\"material-symbols-outlined\"> output_circle </span>\n <h3 class=\"mb-0\">Stock Receipts</h3>\n </div>\n </mat-card-content>\n</mat-card>\n\n<app-itemized-stock-receipt-products-list *ngIf=\"selectedView() === 'itemized'\" [filters]=\"filtersValue()\"\n [selectedColumns]=\"selectedColumns\" [exportInProgress]=\"exportInProgress()\"\n (columnConfigReady)=\"onColumnConfigReady($event)\" (listUpdated)=\"listUpdated.emit($event)\">\n</app-itemized-stock-receipt-products-list>\n\n<app-grouped-stock-receipt-list *ngIf=\"selectedView() === 'grouped'\" [filters]=\"filtersValue()\"\n [selectedColumns]=\"selectedColumns\" [exportInProgress]=\"exportInProgress()\"\n (columnConfigReady)=\"onColumnConfigReady($event)\" (listUpdated)=\"listUpdated.emit($event)\">\n</app-grouped-stock-receipt-list>", styles: [":host ::ng-deep .mat-mdc-footer-row{position:sticky;bottom:0;background-color:#fff;z-index:10;box-shadow:0 -2px 4px #0000001a}\n"] }]
|
|
69
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }] });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stcmVjZWlwdHMtbGlzdC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludmVudG9yeS1jb21tb24vc3JjL2xpYi9pbnZlbnRvcnktY29tbW9uL3N0b2NrLXJlY2VpcHRzL3N0b2NrLXJlY2VpcHRzLWxpc3QtcGFnZS9zdG9jay1yZWNlaXB0cy1saXN0LXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3RvY2stcmVjZWlwdHMvc3RvY2stcmVjZWlwdHMtbGlzdC1wYWdlL3N0b2NrLXJlY2VpcHRzLWxpc3QtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0IsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVMxQixJQUFNLDhCQUE4QixHQUFwQyxNQUFNLDhCQUE4QjtJQWNyQjtJQWJwQixPQUFPLEdBQUcsS0FBSyxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQzNCLFVBQVUsR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELFdBQVcsR0FBRyxNQUFNLEVBQU8sQ0FBQztJQUU1QixZQUFZLEdBQUcsTUFBTSxDQUF5QixVQUFVLENBQUMsQ0FBQztJQUMxRCxnQkFBZ0IsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFMUMsWUFBWSxHQUFtQixFQUFFLENBQUM7SUFDbEMsZUFBZSxHQUFtQixFQUFFLENBQUM7SUFFckMsVUFBVSxDQUFZO0lBQ3RCLFlBQVksQ0FBYztJQUUxQixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3ZDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsQixRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDZCxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbEIsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2pCLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNqQixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDWixZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbEIsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNwRSxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQXNCO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5RCxDQUFDO3dHQS9DVSw4QkFBOEI7NEZBQTlCLDhCQUE4Qiw4WENiM0Msb3VIQThFaUM7O0FEakVwQiw4QkFBOEI7SUFOMUMsWUFBWSxFQUFFO0dBTUYsOEJBQThCLENBZ0QxQzs7NEZBaERZLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgU2lnbmFsLCBpbnB1dCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95IH0gZnJvbSBcIkBuZ25lYXQvdW50aWwtZGVzdHJveVwiO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBDb2x1bW5Db25maWcgfSBmcm9tIFwibmd4LXRlY2hsaWZ5LWNvcmVcIjtcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3RvY2stcmVjZWlwdHMtbGlzdC1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b2NrLXJlY2VpcHRzLWxpc3QtcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0b2NrLXJlY2VpcHRzLWxpc3QtcGFnZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja1JlY2VpcHRzTGlzdFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm9kdWN0ID0gaW5wdXQ8YW55PihudWxsKTtcbiAgc3VwcGxpZXJJZCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgbGlzdFVwZGF0ZWQgPSBvdXRwdXQ8YW55PigpO1xuXG4gIHNlbGVjdGVkVmlldyA9IHNpZ25hbDwnaXRlbWl6ZWQnIHwgJ2dyb3VwZWQnPignaXRlbWl6ZWQnKTtcbiAgZXhwb3J0SW5Qcm9ncmVzcyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29sdW1uQ29uZmlnOiBDb2x1bW5Db25maWdbXSA9IFtdO1xuICBzZWxlY3RlZENvbHVtbnM6IENvbHVtbkNvbmZpZ1tdID0gW107XG5cbiAgZmlsdGVyRm9ybTogRm9ybUdyb3VwO1xuICBmaWx0ZXJzVmFsdWU6IFNpZ25hbDxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBjYXRlZ29yeV9pZHM6IFsnJ10sXG4gICAgICBkdXJhdGlvbjogWycnXSxcbiAgICAgIGxvY2F0aW9uX2lkczogWycnXSxcbiAgICAgIG1lYXN1cmVfaWRzOiBbJyddLFxuICAgICAgcHJvZHVjdF9pZHM6IFsnJ10sXG4gICAgICBzZWFyY2g6IFsnJ10sXG4gICAgICBzdXBwbGllcl9pZHM6IFsnJ10sXG4gICAgICBkYXRlX2Zyb206IFsnJ10sXG4gICAgICBkYXRlX3RvOiBbJyddLFxuICAgIH0pO1xuXG4gICAgdGhpcy5maWx0ZXJzVmFsdWUgPSB0b1NpZ25hbChcbiAgICAgIHRoaXMuZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5maWx0ZXJGb3JtLnZhbHVlKSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgcHJvZHVjdFZhbCA9IHRoaXMucHJvZHVjdCgpO1xuICAgIGlmIChwcm9kdWN0VmFsKSB7XG4gICAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KCdwcm9kdWN0X2lkcycpPy5zZXRWYWx1ZShwcm9kdWN0VmFsLmlkKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdXBwbGllcklkVmFsID0gdGhpcy5zdXBwbGllcklkKCk7XG4gICAgaWYgKHN1cHBsaWVySWRWYWwpIHtcbiAgICAgIHRoaXMuZmlsdGVyRm9ybS5nZXQoJ3N1cHBsaWVyX2lkcycpPy5zZXRWYWx1ZShzdXBwbGllcklkVmFsKTtcbiAgICB9XG4gIH1cblxuICBvbkNvbHVtbkNvbmZpZ1JlYWR5KGNvbmZpZzogQ29sdW1uQ29uZmlnW10pIHtcbiAgICB0aGlzLmNvbHVtbkNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLnNlbGVjdGVkQ29sdW1ucyA9IGNvbmZpZy5maWx0ZXIoY29sID0+IGNvbC5pc1NlbGVjdGVkKTtcbiAgfVxufVxuIiwiPG1hdC1jYXJkICpuZ0lmPVwiIXByb2R1Y3QoKVwiIGNsYXNzPVwibWItMlwiPlxuICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgIDxoMyBjbGFzcz1cIm1iLTBcIj5TdG9jayBSZWNlaXB0czwvaDM+XG5cbiAgICAgIDxhcHAtdGVjaGxpZnktaWNvbiByb2xlPSdidXR0b24nIG5hbWU9J2FkZCcgW3JvdXRlckxpbmtdPVwiWycvaW52ZW50b3J5L3N0b2NrLXJlY2VpcHRzL2JhdGNoLWZvcm0nXVwiXG4gICAgICAgIGNsYXNzPSdtcy0yJz48L2FwcC10ZWNobGlmeS1pY29uPlxuXG4gICAgICA8c3BhbiBtYXRUb29sdGlwPVwiSW1wb3J0XCIgcm91dGVyTGluaz1cImltcG9ydFwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPlxuICAgICAgICBmaWxlX3VwbG9hZFxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8YXBwLWV4cG9ydC10by1leGNlbC1idXR0b24gdGFibGVJZD1cInN0b2NrUmVjZWlwdFRhYmxlXCIgZmlsZU5hbWU9XCJTdG9jayBSZWNlaXB0c1wiXG4gICAgICAgIChvbkV4cG9ydFN0YXJ0KT1cImV4cG9ydEluUHJvZ3Jlc3Muc2V0KHRydWUpXCIgKG9uRXhwb3J0RW5kKT1cImV4cG9ydEluUHJvZ3Jlc3Muc2V0KGZhbHNlKVwiPlxuICAgICAgPC9hcHAtZXhwb3J0LXRvLWV4Y2VsLWJ1dHRvbj5cblxuICAgICAgPGFwcC1jb2x1bW4tc2VsZWN0b3IgKm5nSWY9XCJjb2x1bW5Db25maWcubGVuZ3RoID4gMFwiIG1vZGU9XCJpY29uXCIgY2xhc3M9XCJtdC0xIGQtcHJpbnQtbm9uZVwiXG4gICAgICAgIFtjb2x1bW5Db25maWdzXT1cImNvbHVtbkNvbmZpZ1wiIFsoc2VsZWN0ZWRDb2x1bW5zKV09XCJzZWxlY3RlZENvbHVtbnNcIj48L2FwcC1jb2x1bW4tc2VsZWN0b3I+XG5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCBjbGFzcz1cInZpZXctdG9nZ2xlXCIgW3ZhbHVlXT1cInNlbGVjdGVkVmlldygpXCIgKGNoYW5nZSk9XCJzZWxlY3RlZFZpZXcuc2V0KCRldmVudC52YWx1ZSlcIj5cbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiaXRlbWl6ZWRcIj5JdGVtaXplZDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cImdyb3VwZWRcIj5Hcm91cGVkPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgPC9kaXY+XG5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgZmxleC13cmFwXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+U2VhcmNoPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPGFwcC10aW1lbGluZS1maWx0ZXIgbGFiZWxUZXh0PVwiRGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cImR1cmF0aW9uXCIgW2Zvcm1dPVwiZmlsdGVyRm9ybVwiPjwvYXBwLXRpbWVsaW5lLWZpbHRlcj5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSdmbC1zbSc+XG4gICAgICAgIDxtYXQtbGFiZWw+Q2F0ZWdvcnk8L21hdC1sYWJlbD5cbiAgICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGFwaVVybD1cImFwaS9wcm9kdWN0LWNhdGVnb3JpZXNcIiBmb3JtQ29udHJvbE5hbWU9XCJjYXRlZ29yeV9pZHNcIiBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxuICAgICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSdmbC1zbSc+XG4gICAgICAgIDxtYXQtbGFiZWw+TWVhc3VyZTwvbWF0LWxhYmVsPlxuICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgYXBpVXJsPVwiYXBpL3Byb2R1Y3QtbWVhc3VyZXNcIiBmb3JtQ29udHJvbE5hbWU9XCJtZWFzdXJlX2lkc1wiIFttdWx0aXBsZV09XCJ0cnVlXCI+XG4gICAgICAgIDwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9J2ZsLXNtJz5cbiAgICAgICAgPG1hdC1sYWJlbD5Mb2NhdGlvbjwvbWF0LWxhYmVsPlxuICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgYXBpVXJsPVwiYXBpL2ludmVudG9yeS1sb2NhdGlvbnNcIiBmb3JtQ29udHJvbE5hbWU9XCJsb2NhdGlvbl9pZHNcIiBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxuICAgICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSdmbC1zbSc+XG4gICAgICAgIDxtYXQtbGFiZWw+U3VwcGxpZXI8L21hdC1sYWJlbD5cbiAgICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGFwaVVybD1cImFwaS9zdXBwbGllcnNcIiBmb3JtQ29udHJvbE5hbWU9XCJzdXBwbGllcl9pZHNcIiB0aXRsZUZpZWxkPVwiY29tcGFueV9uYW1lXCJcbiAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxuICAgICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Zvcm0+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG5cbjxtYXQtY2FyZCAqbmdJZj1cInByb2R1Y3QoKVwiIGNsYXNzPVwibWItMlwiPlxuICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cIm1iLTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbWItMlwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+IG91dHB1dF9jaXJjbGUgPC9zcGFuPlxuICAgICAgPGgzIGNsYXNzPVwibWItMFwiPlN0b2NrIFJlY2VpcHRzPC9oMz5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cblxuPGFwcC1pdGVtaXplZC1zdG9jay1yZWNlaXB0LXByb2R1Y3RzLWxpc3QgKm5nSWY9XCJzZWxlY3RlZFZpZXcoKSA9PT0gJ2l0ZW1pemVkJ1wiIFtmaWx0ZXJzXT1cImZpbHRlcnNWYWx1ZSgpXCJcbiAgW3NlbGVjdGVkQ29sdW1uc109XCJzZWxlY3RlZENvbHVtbnNcIiBbZXhwb3J0SW5Qcm9ncmVzc109XCJleHBvcnRJblByb2dyZXNzKClcIlxuICAoY29sdW1uQ29uZmlnUmVhZHkpPVwib25Db2x1bW5Db25maWdSZWFkeSgkZXZlbnQpXCIgKGxpc3RVcGRhdGVkKT1cImxpc3RVcGRhdGVkLmVtaXQoJGV2ZW50KVwiPlxuPC9hcHAtaXRlbWl6ZWQtc3RvY2stcmVjZWlwdC1wcm9kdWN0cy1saXN0PlxuXG48YXBwLWdyb3VwZWQtc3RvY2stcmVjZWlwdC1saXN0ICpuZ0lmPVwic2VsZWN0ZWRWaWV3KCkgPT09ICdncm91cGVkJ1wiIFtmaWx0ZXJzXT1cImZpbHRlcnNWYWx1ZSgpXCJcbiAgW3NlbGVjdGVkQ29sdW1uc109XCJzZWxlY3RlZENvbHVtbnNcIiBbZXhwb3J0SW5Qcm9ncmVzc109XCJleHBvcnRJblByb2dyZXNzKClcIlxuICAoY29sdW1uQ29uZmlnUmVhZHkpPVwib25Db2x1bW5Db25maWdSZWFkeSgkZXZlbnQpXCIgKGxpc3RVcGRhdGVkKT1cImxpc3RVcGRhdGVkLmVtaXQoJGV2ZW50KVwiPlxuPC9hcHAtZ3JvdXBlZC1zdG9jay1yZWNlaXB0LWxpc3Q+Il19
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { MaterialModule } from '../../material.module';
|
|
4
|
-
import { ActionPopupComponent } from 'ngx-techlify-core';
|
|
5
|
-
import { lastValueFrom } from 'rxjs';
|
|
6
|
-
import { NgxPermissionsModule } from 'ngx-permissions';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/material/dialog";
|
|
9
|
-
import * as i2 from "ngx-techlify-core";
|
|
10
|
-
import * as i3 from "../supplier.service";
|
|
11
|
-
import * as i4 from "@angular/material/icon";
|
|
12
|
-
import * as i5 from "ngx-permissions";
|
|
13
|
-
export class SupplierDeleteButtonComponent {
|
|
14
|
-
dialog;
|
|
15
|
-
alertService;
|
|
16
|
-
errorHandler;
|
|
17
|
-
supplierService;
|
|
18
|
-
supplier;
|
|
19
|
-
onDelete = new EventEmitter();
|
|
20
|
-
constructor(dialog, alertService, errorHandler, supplierService) {
|
|
21
|
-
this.dialog = dialog;
|
|
22
|
-
this.alertService = alertService;
|
|
23
|
-
this.errorHandler = errorHandler;
|
|
24
|
-
this.supplierService = supplierService;
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
}
|
|
28
|
-
openDialog() {
|
|
29
|
-
this.dialog.open(ActionPopupComponent, {
|
|
30
|
-
width: '400px',
|
|
31
|
-
data: {
|
|
32
|
-
title: 'Delete Supplier',
|
|
33
|
-
message: 'Are you sure you want to delete the Supplier?',
|
|
34
|
-
},
|
|
35
|
-
autoFocus: false,
|
|
36
|
-
}).afterClosed().subscribe(async (result) => {
|
|
37
|
-
if (result) {
|
|
38
|
-
try {
|
|
39
|
-
await lastValueFrom(this.supplierService.delete(this.supplier.id));
|
|
40
|
-
this.alertService.addAlert('Successfully deleted the Supplier', 'success');
|
|
41
|
-
this.onDelete.emit(this.supplier);
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
this.errorHandler.handleError(error);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SupplierDeleteButtonComponent, deps: [{ token: i1.MatDialog }, { token: i2.AlertService }, { token: i2.ErrorHandlerService }, { token: i3.SupplierService }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SupplierDeleteButtonComponent, isStandalone: true, selector: "app-supplier-delete-button", inputs: { supplier: "supplier" }, outputs: { onDelete: "onDelete" }, ngImport: i0, template: "<mat-icon class=\"cursor-pointer\" *ngxPermissionsOnly=\"['supplier.delete']\" (click)=\"openDialog()\">\n delete\n</mat-icon>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: NgxPermissionsModule }, { kind: "directive", type: i5.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }], preserveWhitespaces: true });
|
|
51
|
-
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SupplierDeleteButtonComponent, decorators: [{
|
|
53
|
-
type: Component,
|
|
54
|
-
args: [{ selector: 'app-supplier-delete-button', standalone: true, imports: [
|
|
55
|
-
CommonModule,
|
|
56
|
-
MaterialModule,
|
|
57
|
-
NgxPermissionsModule
|
|
58
|
-
], template: "<mat-icon class=\"cursor-pointer\" *ngxPermissionsOnly=\"['supplier.delete']\" (click)=\"openDialog()\">\n delete\n</mat-icon>" }]
|
|
59
|
-
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.AlertService }, { type: i2.ErrorHandlerService }, { type: i3.SupplierService }], propDecorators: { supplier: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], onDelete: [{
|
|
62
|
-
type: Output
|
|
63
|
-
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXItZGVsZXRlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdXBwbGllci9zdXBwbGllci1kZWxldGUtYnV0dG9uL3N1cHBsaWVyLWRlbGV0ZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3VwcGxpZXIvc3VwcGxpZXItZGVsZXRlLWJ1dHRvbi9zdXBwbGllci1kZWxldGUtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQWUsb0JBQW9CLEVBQXFDLE1BQU0sbUJBQW1CLENBQUM7QUFFekcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7OztBQWF2RCxNQUFNLE9BQU8sNkJBQTZCO0lBS3BCO0lBQ1Y7SUFDQTtJQUNBO0lBTkQsUUFBUSxDQUFLO0lBQ1osUUFBUSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFBO0lBRS9ELFlBQW9CLE1BQWlCLEVBQzNCLFlBQTBCLEVBQzFCLFlBQWlDLEVBQ2pDLGVBQWdDO1FBSHRCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUN0QyxDQUFDO0lBRUwsUUFBUTtJQUNSLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDckMsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQWU7Z0JBQ2pCLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLE9BQU8sRUFBRSwrQ0FBK0M7YUFDekQ7WUFDRCxTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMxQyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQztvQkFDSCxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7b0JBQ2xFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLG1DQUFtQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO29CQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBQ25DLENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztvQkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBakNVLDZCQUE2Qjs0RkFBN0IsNkJBQTZCLDJKQ3BCMUMsaUlBRVcseUREYVAsWUFBWSw4QkFDWixjQUFjLG1MQUNkLG9CQUFvQjs7NEZBR1gsNkJBQTZCO2tCQVh6QyxTQUFTOytCQUNFLDRCQUE0QixjQUcxQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLG9CQUFvQjtxQkFDckI7eUtBSVEsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IEFjdGlvblBvcHVwLCBBY3Rpb25Qb3B1cENvbXBvbmVudCwgQWxlcnRTZXJ2aWNlLCBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRlY2hsaWZ5LWNvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1cHBsaWVyU2VydmljZSB9IGZyb20gJy4uL3N1cHBsaWVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmd4UGVybWlzc2lvbnNNb2R1bGUgfSBmcm9tICduZ3gtcGVybWlzc2lvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3VwcGxpZXItZGVsZXRlLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdXBwbGllci1kZWxldGUtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3VwcGxpZXItZGVsZXRlLWJ1dHRvbi5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgTmd4UGVybWlzc2lvbnNNb2R1bGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3VwcGxpZXJEZWxldGVCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHN1cHBsaWVyOiBhbnlcbiAgQE91dHB1dCgpIG9uRGVsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3VwcGxpZXJTZXJ2aWNlOiBTdXBwbGllclNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG9wZW5EaWFsb2coKSB7XG4gICAgdGhpcy5kaWFsb2cub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBkYXRhOiA8QWN0aW9uUG9wdXA+e1xuICAgICAgICB0aXRsZTogJ0RlbGV0ZSBTdXBwbGllcicsXG4gICAgICAgIG1lc3NhZ2U6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoZSBTdXBwbGllcj8nLFxuICAgICAgfSxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgfSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5zdXBwbGllclNlcnZpY2UuZGVsZXRlKHRoaXMuc3VwcGxpZXIuaWQpKVxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdTdWNjZXNzZnVsbHkgZGVsZXRlZCB0aGUgU3VwcGxpZXInLCAnc3VjY2VzcycpO1xuICAgICAgICAgIHRoaXMub25EZWxldGUuZW1pdCh0aGlzLnN1cHBsaWVyKVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxtYXQtaWNvbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5neFBlcm1pc3Npb25zT25seT1cIlsnc3VwcGxpZXIuZGVsZXRlJ11cIiAoY2xpY2spPVwib3BlbkRpYWxvZygpXCI+XG4gIGRlbGV0ZVxuPC9tYXQtaWNvbj4iXX0=
|