techlify-inventory-common 18.51.0 → 22.0.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/fesm2022/techlify-inventory-common-category.module-Dtn1604q.mjs +842 -0
- package/fesm2022/techlify-inventory-common-category.module-Dtn1604q.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-location.service-C99J8Lje.mjs +50 -0
- package/fesm2022/techlify-inventory-common-location.service-C99J8Lje.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-material.module-ClupVm7-.mjs +190 -0
- package/fesm2022/techlify-inventory-common-material.module-ClupVm7-.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-measure.service-DvJUGa0i.mjs +38 -0
- package/fesm2022/techlify-inventory-common-measure.service-DvJUGa0i.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-product-category-badges.component-VnfnNhtV.mjs +133 -0
- package/fesm2022/techlify-inventory-common-product-category-badges.component-VnfnNhtV.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-product.module-MZoVK3bN.mjs +4278 -0
- package/fesm2022/techlify-inventory-common-product.module-MZoVK3bN.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-purchase-order-view.component-CjED8n4_.mjs +852 -0
- package/fesm2022/techlify-inventory-common-purchase-order-view.component-CjED8n4_.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-purchase-order.service-ztJ5RRH5.mjs +40 -0
- package/fesm2022/techlify-inventory-common-purchase-order.service-ztJ5RRH5.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-recipient.module-gxR77BIj.mjs +647 -0
- package/fesm2022/techlify-inventory-common-recipient.module-gxR77BIj.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-shared.module-DP-FVqea.mjs +102 -0
- package/fesm2022/techlify-inventory-common-shared.module-DP-FVqea.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-stock-allocation-list.component-Du-VCtbs.mjs +382 -0
- package/fesm2022/techlify-inventory-common-stock-allocation-list.component-Du-VCtbs.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-stock-issue-form.component-DfgbqIKn.mjs +486 -0
- package/fesm2022/techlify-inventory-common-stock-issue-form.component-DfgbqIKn.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-stock-issue-page.module-DX9n3X1T.mjs +2509 -0
- package/fesm2022/techlify-inventory-common-stock-issue-page.module-DX9n3X1T.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-stock-issue-product-view.component-D8aIc5Oh.mjs +208 -0
- package/fesm2022/techlify-inventory-common-stock-issue-product-view.component-D8aIc5Oh.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-stock-issue-product.service-BRbfc5KP.mjs +38 -0
- package/fesm2022/techlify-inventory-common-stock-issue-product.service-BRbfc5KP.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-Cp_0YkKh.mjs +239 -0
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-Cp_0YkKh.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-stock-issue.service-CLHasWVp.mjs +38 -0
- package/fesm2022/techlify-inventory-common-stock-issue.service-CLHasWVp.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-stock-receipts.module-BPxUGNbD.mjs +4195 -0
- package/fesm2022/techlify-inventory-common-stock-receipts.module-BPxUGNbD.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-techlify-filter.module-BdRNWNHi.mjs +464 -0
- package/fesm2022/techlify-inventory-common-techlify-filter.module-BdRNWNHi.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common-techlify-form-service-D9K3W2jt.mjs +13 -0
- package/fesm2022/techlify-inventory-common-techlify-form-service-D9K3W2jt.mjs.map +1 -0
- package/fesm2022/techlify-inventory-common.mjs +10803 -2
- package/fesm2022/techlify-inventory-common.mjs.map +1 -1
- package/package.json +9 -11
- package/types/techlify-inventory-common.d.ts +1792 -0
- package/esm2022/lib/inventory-common/category/category-form/category-form.component.mjs +0 -75
- package/esm2022/lib/inventory-common/category/category-form-button/category-form-button.component.mjs +0 -32
- package/esm2022/lib/inventory-common/category/category-list-page/category-list-page.component.mjs +0 -64
- package/esm2022/lib/inventory-common/category/category-routing.module.mjs +0 -29
- package/esm2022/lib/inventory-common/category/category-view/category-view.component.mjs +0 -46
- package/esm2022/lib/inventory-common/category/category.module.mjs +0 -62
- package/esm2022/lib/inventory-common/category/category.service.mjs +0 -18
- package/esm2022/lib/inventory-common/incident/incident-form/incident-form.component.mjs +0 -113
- package/esm2022/lib/inventory-common/incident/incident-form-button/incident-form-button.component.mjs +0 -45
- package/esm2022/lib/inventory-common/incident/incident-list/incident-list.component.mjs +0 -140
- package/esm2022/lib/inventory-common/incident/incident-routing.module.mjs +0 -24
- package/esm2022/lib/inventory-common/incident/incident.module.mjs +0 -22
- package/esm2022/lib/inventory-common/incident/incident.service.mjs +0 -18
- package/esm2022/lib/inventory-common/inventory-common-routing.module.mjs +0 -81
- package/esm2022/lib/inventory-common/inventory-common.module.mjs +0 -43
- package/esm2022/lib/inventory-common/inventory-dashboard-page/inventory-dashboard-page.component.mjs +0 -44
- package/esm2022/lib/inventory-common/inventory-value-report.service.mjs +0 -21
- package/esm2022/lib/inventory-common/location/location-form/location-form.component.mjs +0 -63
- package/esm2022/lib/inventory-common/location/location-form-button/location-form-button.component.mjs +0 -47
- package/esm2022/lib/inventory-common/location/location-information/location-information.component.mjs +0 -36
- package/esm2022/lib/inventory-common/location/location-list/location-list.component.mjs +0 -81
- package/esm2022/lib/inventory-common/location/location-product-statistics/location-product-statistics.component.mjs +0 -80
- package/esm2022/lib/inventory-common/location/location-routing.module.mjs +0 -38
- package/esm2022/lib/inventory-common/location/location-status-changer/location-status-changer.component.mjs +0 -64
- package/esm2022/lib/inventory-common/location/location-view/location-view.component.mjs +0 -52
- package/esm2022/lib/inventory-common/location/location.module.mjs +0 -22
- package/esm2022/lib/inventory-common/location/location.service.mjs +0 -33
- package/esm2022/lib/inventory-common/location/shelf/shelf-form/shelf-form.component.mjs +0 -86
- package/esm2022/lib/inventory-common/location/shelf/shelf-form-button/shelf-form-button.component.mjs +0 -39
- package/esm2022/lib/inventory-common/location/shelf/shelf-list/shelf-list.component.mjs +0 -103
- package/esm2022/lib/inventory-common/location/shelf/shelf-routing.module.mjs +0 -24
- package/esm2022/lib/inventory-common/location/shelf/shelf.module.mjs +0 -22
- package/esm2022/lib/inventory-common/location/shelf/shelf.service.mjs +0 -20
- package/esm2022/lib/inventory-common/low-stock-report.service.mjs +0 -23
- package/esm2022/lib/inventory-common/material.module.mjs +0 -172
- package/esm2022/lib/inventory-common/measure/measure-form/measure-form.component.mjs +0 -63
- package/esm2022/lib/inventory-common/measure/measure-list/measure-list.component.mjs +0 -75
- package/esm2022/lib/inventory-common/measure/measure-routing.module.mjs +0 -24
- package/esm2022/lib/inventory-common/measure/measure.module.mjs +0 -43
- package/esm2022/lib/inventory-common/measure/measure.service.mjs +0 -18
- package/esm2022/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.component.mjs +0 -47
- package/esm2022/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.module.mjs +0 -22
- package/esm2022/lib/inventory-common/product/product-basic-info/product-basic-info.component.mjs +0 -58
- package/esm2022/lib/inventory-common/product/product-batch-update-form/product-batch-update-form.component.mjs +0 -54
- package/esm2022/lib/inventory-common/product/product-delete-button/product-delete-button.component.mjs +0 -54
- package/esm2022/lib/inventory-common/product/product-form/product-form.component.mjs +0 -258
- package/esm2022/lib/inventory-common/product/product-form-button/product-form-button.component.mjs +0 -15
- package/esm2022/lib/inventory-common/product/product-form.service.mjs +0 -17
- package/esm2022/lib/inventory-common/product/product-import-page/product-import-page.component.mjs +0 -66
- package/esm2022/lib/inventory-common/product/product-list/product-list.component.mjs +0 -177
- package/esm2022/lib/inventory-common/product/product-location/product-location-list/product-location-list.component.mjs +0 -61
- package/esm2022/lib/inventory-common/product/product-measure-form/product-measure-form.component.mjs +0 -101
- package/esm2022/lib/inventory-common/product/product-measures-list/product-measures-list.component.mjs +0 -145
- package/esm2022/lib/inventory-common/product/product-nav-bar/product-nav-bar.component.mjs +0 -12
- package/esm2022/lib/inventory-common/product/product-quick-search/product-quick-search.component.mjs +0 -69
- package/esm2022/lib/inventory-common/product/product-routing.module.mjs +0 -68
- package/esm2022/lib/inventory-common/product/product-search/product-search.component.mjs +0 -151
- package/esm2022/lib/inventory-common/product/product-search/product-search.module.mjs +0 -39
- package/esm2022/lib/inventory-common/product/product-statistics.service.mjs +0 -23
- package/esm2022/lib/inventory-common/product/product-summary-chart/product-summary-chart.component.mjs +0 -57
- package/esm2022/lib/inventory-common/product/product-summary-chart/product-summary-chart.module.mjs +0 -18
- package/esm2022/lib/inventory-common/product/product-summary.service.mjs +0 -20
- package/esm2022/lib/inventory-common/product/product-view-page/product-view-page.component.mjs +0 -98
- package/esm2022/lib/inventory-common/product/product.module.mjs +0 -145
- package/esm2022/lib/inventory-common/product/product.service.mjs +0 -20
- package/esm2022/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.mjs +0 -15
- package/esm2022/lib/inventory-common/product-batch.service.mjs +0 -20
- package/esm2022/lib/inventory-common/rating/rating-form/rating-form.component.mjs +0 -112
- package/esm2022/lib/inventory-common/rating/rating-form-button/rating-form-button.component.mjs +0 -45
- package/esm2022/lib/inventory-common/rating/rating-list/rating-list.component.mjs +0 -135
- package/esm2022/lib/inventory-common/rating/rating-routing.module.mjs +0 -23
- package/esm2022/lib/inventory-common/rating/rating.module.mjs +0 -22
- package/esm2022/lib/inventory-common/rating/rating.service.mjs +0 -18
- package/esm2022/lib/inventory-common/recipient/recipient-form/recipient-form.component.mjs +0 -59
- package/esm2022/lib/inventory-common/recipient/recipient-list/recipient-list.component.mjs +0 -49
- package/esm2022/lib/inventory-common/recipient/recipient-routing.module.mjs +0 -24
- package/esm2022/lib/inventory-common/recipient/recipient.module.mjs +0 -18
- package/esm2022/lib/inventory-common/recipient/recipient.service.mjs +0 -18
- package/esm2022/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.mjs +0 -152
- package/esm2022/lib/inventory-common/reports/low-stock-report/low-stock-report.component.mjs +0 -161
- package/esm2022/lib/inventory-common/reports/stock-issue-summary-report/stock-issue-product-data.service.mjs +0 -20
- package/esm2022/lib/inventory-common/reports/stock-issue-summary-report/stock-issue-summary-report.component.mjs +0 -98
- package/esm2022/lib/inventory-common/services/techlify-form-service.mjs +0 -11
- package/esm2022/lib/inventory-common/shared/export-to-excel-button/export-to-excel-button.component.mjs +0 -58
- package/esm2022/lib/inventory-common/shared.module.mjs +0 -67
- package/esm2022/lib/inventory-common/stock-allocation/stock-allocation-list/stock-allocation-list.component.mjs +0 -81
- package/esm2022/lib/inventory-common/stock-allocation/stock-allocation.service.mjs +0 -16
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-form/stock-issue-form.component.mjs +0 -198
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-import-page/stock-issue-import-page.component.mjs +0 -59
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-list/stock-issue-list.component.mjs +0 -149
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.component.mjs +0 -91
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.module.mjs +0 -82
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.mjs +0 -35
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form.component.mjs +0 -102
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-product-view/stock-issue-product-view.component.mjs +0 -59
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-product.service.mjs +0 -16
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-products-list/stock-issue-products-list.component.mjs +0 -167
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-routing.module.mjs +0 -51
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-single-product-form/stock-issue-single-product-form.component.mjs +0 -201
- package/esm2022/lib/inventory-common/stock-issue/stock-issue-view/stock-issue-view.component.mjs +0 -64
- package/esm2022/lib/inventory-common/stock-issue/stock-issue.module.mjs +0 -47
- package/esm2022/lib/inventory-common/stock-issue/stock-issue.service.mjs +0 -18
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.component.mjs +0 -226
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-import-page/stock-receipt-import-page.component.mjs +0 -74
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-list/stock-receipt-list.component.mjs +0 -152
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form-button/stock-receipt-product-form-button.component.mjs +0 -37
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form.component.mjs +0 -80
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-list/stock-receipt-product-list.component.mjs +0 -149
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-view/stock-receipt-product-view.component.mjs +0 -59
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product.service.mjs +0 -18
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-single-product-form/stock-receipt-simple-form/stock-receipt-single-product-form.component.mjs +0 -181
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.mjs +0 -54
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipt.service.mjs +0 -18
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-page/stock-receipts-page.component.mjs +0 -70
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-routing.module.mjs +0 -52
- package/esm2022/lib/inventory-common/stock-receipts/stock-receipts.module.mjs +0 -104
- package/esm2022/lib/inventory-common/stock-summary.service.mjs +0 -26
- package/esm2022/lib/inventory-common/stock-transfer/stock-transfer-form/stock-transfer-form.component.mjs +0 -98
- package/esm2022/lib/inventory-common/stock-transfer/stock-transfer-list/stock-transfer-list.component.mjs +0 -139
- package/esm2022/lib/inventory-common/stock-transfer/stock-transfer.service.mjs +0 -18
- package/esm2022/lib/inventory-common/supplier/payee-selector/payee-selector/payee-selector.component.mjs +0 -59
- package/esm2022/lib/inventory-common/supplier/payee-selector/payee-selector.module.mjs +0 -21
- package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-form/purchase-order-form.component.mjs +0 -156
- package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-listing/purchase-order-listing.component.mjs +0 -67
- package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product-form/purchase-order-product-form.component.mjs +0 -74
- package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product-form-button/purchase-order-product-form-button.component.mjs +0 -38
- package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product-list.component.mjs +0 -61
- package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product.service.mjs +0 -20
- package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-view/purchase-order-view.component.mjs +0 -64
- package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order.service.mjs +0 -20
- package/esm2022/lib/inventory-common/supplier/supplier-branch-delete-button/supplier-branch-delete-button.component.mjs +0 -63
- package/esm2022/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form-button/supplier-branch-form-button.component.mjs +0 -47
- package/esm2022/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form.component.mjs +0 -79
- package/esm2022/lib/inventory-common/supplier/supplier-branch.service.mjs +0 -18
- package/esm2022/lib/inventory-common/supplier/supplier-branches-list/supplier-branches-list.component.mjs +0 -79
- package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form.component.mjs +0 -94
- package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form.service.mjs +0 -17
- package/esm2022/lib/inventory-common/supplier/supplier-information/supplier-information.component.mjs +0 -73
- package/esm2022/lib/inventory-common/supplier/supplier-list/supplier-list.component.mjs +0 -68
- package/esm2022/lib/inventory-common/supplier/supplier-routing.module.mjs +0 -51
- package/esm2022/lib/inventory-common/supplier/supplier-type.service.mjs +0 -25
- package/esm2022/lib/inventory-common/supplier/supplier-view/supplier-view.component.mjs +0 -70
- package/esm2022/lib/inventory-common/supplier/supplier.component.mjs +0 -20
- package/esm2022/lib/inventory-common/supplier/supplier.module.mjs +0 -64
- package/esm2022/lib/inventory-common/supplier/supplier.service.mjs +0 -20
- package/esm2022/lib/inventory-common/techlify-filter/techlify-filter.component.mjs +0 -116
- package/esm2022/lib/inventory-common/techlify-filter/techlify-filter.module.mjs +0 -42
- package/esm2022/public-api.mjs +0 -71
- package/esm2022/techlify-inventory-common.mjs +0 -5
- package/fesm2022/techlify-inventory-common-category.module-oi41ku5U.mjs +0 -288
- package/fesm2022/techlify-inventory-common-category.module-oi41ku5U.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-purchase-order-view.component-DkWmMRaW.mjs +0 -227
- package/fesm2022/techlify-inventory-common-purchase-order-view.component-DkWmMRaW.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-recipient.module-v77bDJCC.mjs +0 -147
- package/fesm2022/techlify-inventory-common-recipient.module-v77bDJCC.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-stock-issue-form.component-ABIh_GkN.mjs +0 -199
- package/fesm2022/techlify-inventory-common-stock-issue-form.component-ABIh_GkN.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-stock-issue-product-view.component-3FB_GfyZ.mjs +0 -60
- package/fesm2022/techlify-inventory-common-stock-issue-product-view.component-3FB_GfyZ.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-D4AloV4G.mjs +0 -66
- package/fesm2022/techlify-inventory-common-stock-issue-view.component-D4AloV4G.mjs.map +0 -1
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-B_42CQL_.mjs +0 -7218
- package/fesm2022/techlify-inventory-common-techlify-inventory-common-B_42CQL_.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/inventory-common/category/category-form/category-form.component.d.ts +0 -18
- package/lib/inventory-common/category/category-form-button/category-form-button.component.d.ts +0 -13
- package/lib/inventory-common/category/category-list-page/category-list-page.component.d.ts +0 -20
- package/lib/inventory-common/category/category-routing.module.d.ts +0 -7
- package/lib/inventory-common/category/category-view/category-view.component.d.ts +0 -16
- package/lib/inventory-common/category/category.module.d.ts +0 -20
- package/lib/inventory-common/category/category.service.d.ts +0 -7
- package/lib/inventory-common/incident/incident-form/incident-form.component.d.ts +0 -19
- package/lib/inventory-common/incident/incident-form-button/incident-form-button.component.d.ts +0 -15
- package/lib/inventory-common/incident/incident-list/incident-list.component.d.ts +0 -22
- package/lib/inventory-common/incident/incident-routing.module.d.ts +0 -7
- package/lib/inventory-common/incident/incident.module.d.ts +0 -8
- package/lib/inventory-common/incident/incident.service.d.ts +0 -7
- package/lib/inventory-common/inventory-common-routing.module.d.ts +0 -7
- package/lib/inventory-common/inventory-common.module.d.ts +0 -14
- package/lib/inventory-common/inventory-dashboard-page/inventory-dashboard-page.component.d.ts +0 -14
- package/lib/inventory-common/inventory-value-report.service.d.ts +0 -9
- package/lib/inventory-common/location/location-form/location-form.component.d.ts +0 -18
- package/lib/inventory-common/location/location-form-button/location-form-button.component.d.ts +0 -13
- package/lib/inventory-common/location/location-information/location-information.component.d.ts +0 -12
- package/lib/inventory-common/location/location-list/location-list.component.d.ts +0 -18
- package/lib/inventory-common/location/location-product-statistics/location-product-statistics.component.d.ts +0 -18
- package/lib/inventory-common/location/location-routing.module.d.ts +0 -7
- package/lib/inventory-common/location/location-status-changer/location-status-changer.component.d.ts +0 -17
- package/lib/inventory-common/location/location-view/location-view.component.d.ts +0 -16
- package/lib/inventory-common/location/location.module.d.ts +0 -8
- package/lib/inventory-common/location/location.service.d.ts +0 -15
- package/lib/inventory-common/location/shelf/shelf-form/shelf-form.component.d.ts +0 -18
- package/lib/inventory-common/location/shelf/shelf-form-button/shelf-form-button.component.d.ts +0 -13
- package/lib/inventory-common/location/shelf/shelf-list/shelf-list.component.d.ts +0 -19
- package/lib/inventory-common/location/shelf/shelf-routing.module.d.ts +0 -7
- package/lib/inventory-common/location/shelf/shelf.module.d.ts +0 -8
- package/lib/inventory-common/location/shelf/shelf.service.d.ts +0 -8
- package/lib/inventory-common/low-stock-report.service.d.ts +0 -10
- package/lib/inventory-common/material.module.d.ts +0 -40
- package/lib/inventory-common/measure/measure-form/measure-form.component.d.ts +0 -21
- package/lib/inventory-common/measure/measure-list/measure-list.component.d.ts +0 -19
- package/lib/inventory-common/measure/measure-routing.module.d.ts +0 -7
- package/lib/inventory-common/measure/measure.module.d.ts +0 -14
- package/lib/inventory-common/measure/measure.service.d.ts +0 -7
- package/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.component.d.ts +0 -13
- package/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.module.d.ts +0 -12
- package/lib/inventory-common/product/product-basic-info/product-basic-info.component.d.ts +0 -21
- package/lib/inventory-common/product/product-batch-update-form/product-batch-update-form.component.d.ts +0 -17
- package/lib/inventory-common/product/product-delete-button/product-delete-button.component.d.ts +0 -26
- package/lib/inventory-common/product/product-form/product-form.component.d.ts +0 -46
- package/lib/inventory-common/product/product-form-button/product-form-button.component.d.ts +0 -7
- package/lib/inventory-common/product/product-form.service.d.ts +0 -7
- package/lib/inventory-common/product/product-import-page/product-import-page.component.d.ts +0 -10
- package/lib/inventory-common/product/product-list/product-list.component.d.ts +0 -34
- package/lib/inventory-common/product/product-location/product-location-list/product-location-list.component.d.ts +0 -18
- package/lib/inventory-common/product/product-measure-form/product-measure-form.component.d.ts +0 -33
- package/lib/inventory-common/product/product-measures-list/product-measures-list.component.d.ts +0 -43
- package/lib/inventory-common/product/product-nav-bar/product-nav-bar.component.d.ts +0 -5
- package/lib/inventory-common/product/product-quick-search/product-quick-search.component.d.ts +0 -15
- package/lib/inventory-common/product/product-routing.module.d.ts +0 -7
- package/lib/inventory-common/product/product-search/product-search.component.d.ts +0 -48
- package/lib/inventory-common/product/product-search/product-search.module.d.ts +0 -13
- package/lib/inventory-common/product/product-statistics.service.d.ts +0 -9
- package/lib/inventory-common/product/product-summary-chart/product-summary-chart.component.d.ts +0 -15
- package/lib/inventory-common/product/product-summary-chart/product-summary-chart.module.d.ts +0 -10
- package/lib/inventory-common/product/product-summary.service.d.ts +0 -8
- package/lib/inventory-common/product/product-view-page/product-view-page.component.d.ts +0 -44
- package/lib/inventory-common/product/product.module.d.ts +0 -31
- package/lib/inventory-common/product/product.service.d.ts +0 -8
- package/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.d.ts +0 -6
- package/lib/inventory-common/product-batch.service.d.ts +0 -8
- package/lib/inventory-common/rating/rating-form/rating-form.component.d.ts +0 -19
- package/lib/inventory-common/rating/rating-form-button/rating-form-button.component.d.ts +0 -15
- package/lib/inventory-common/rating/rating-list/rating-list.component.d.ts +0 -22
- package/lib/inventory-common/rating/rating-routing.module.d.ts +0 -7
- package/lib/inventory-common/rating/rating.module.d.ts +0 -8
- package/lib/inventory-common/rating/rating.service.d.ts +0 -7
- package/lib/inventory-common/recipient/recipient-form/recipient-form.component.d.ts +0 -21
- package/lib/inventory-common/recipient/recipient-list/recipient-list.component.d.ts +0 -16
- package/lib/inventory-common/recipient/recipient-routing.module.d.ts +0 -7
- package/lib/inventory-common/recipient/recipient.module.d.ts +0 -9
- package/lib/inventory-common/recipient/recipient.service.d.ts +0 -7
- package/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.d.ts +0 -27
- package/lib/inventory-common/reports/low-stock-report/low-stock-report.component.d.ts +0 -25
- package/lib/inventory-common/reports/stock-issue-summary-report/stock-issue-product-data.service.d.ts +0 -8
- package/lib/inventory-common/reports/stock-issue-summary-report/stock-issue-summary-report.component.d.ts +0 -25
- package/lib/inventory-common/services/techlify-form-service.d.ts +0 -5
- package/lib/inventory-common/shared/export-to-excel-button/export-to-excel-button.component.d.ts +0 -12
- package/lib/inventory-common/shared.module.d.ts +0 -13
- package/lib/inventory-common/stock-allocation/stock-allocation-list/stock-allocation-list.component.d.ts +0 -19
- package/lib/inventory-common/stock-allocation/stock-allocation.service.d.ts +0 -7
- package/lib/inventory-common/stock-issue/stock-issue-form/stock-issue-form.component.d.ts +0 -45
- package/lib/inventory-common/stock-issue/stock-issue-import-page/stock-issue-import-page.component.d.ts +0 -10
- package/lib/inventory-common/stock-issue/stock-issue-list/stock-issue-list.component.d.ts +0 -33
- package/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.component.d.ts +0 -30
- package/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.module.d.ts +0 -18
- package/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form-button/stock-issue-product-form-button.component.d.ts +0 -12
- package/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form.component.d.ts +0 -21
- package/lib/inventory-common/stock-issue/stock-issue-product-view/stock-issue-product-view.component.d.ts +0 -19
- package/lib/inventory-common/stock-issue/stock-issue-product.service.d.ts +0 -7
- package/lib/inventory-common/stock-issue/stock-issue-products-list/stock-issue-products-list.component.d.ts +0 -41
- package/lib/inventory-common/stock-issue/stock-issue-routing.module.d.ts +0 -7
- package/lib/inventory-common/stock-issue/stock-issue-single-product-form/stock-issue-single-product-form.component.d.ts +0 -42
- package/lib/inventory-common/stock-issue/stock-issue-view/stock-issue-view.component.d.ts +0 -19
- package/lib/inventory-common/stock-issue/stock-issue.module.d.ts +0 -14
- package/lib/inventory-common/stock-issue/stock-issue.service.d.ts +0 -7
- package/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.component.d.ts +0 -48
- package/lib/inventory-common/stock-receipts/stock-receipt-import-page/stock-receipt-import-page.component.d.ts +0 -10
- package/lib/inventory-common/stock-receipts/stock-receipt-list/stock-receipt-list.component.d.ts +0 -30
- package/lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form-button/stock-receipt-product-form-button.component.d.ts +0 -12
- package/lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form.component.d.ts +0 -17
- package/lib/inventory-common/stock-receipts/stock-receipt-product-list/stock-receipt-product-list.component.d.ts +0 -31
- package/lib/inventory-common/stock-receipts/stock-receipt-product-view/stock-receipt-product-view.component.d.ts +0 -19
- package/lib/inventory-common/stock-receipts/stock-receipt-product.service.d.ts +0 -7
- package/lib/inventory-common/stock-receipts/stock-receipt-single-product-form/stock-receipt-simple-form/stock-receipt-single-product-form.component.d.ts +0 -33
- package/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.d.ts +0 -19
- package/lib/inventory-common/stock-receipts/stock-receipt.service.d.ts +0 -7
- package/lib/inventory-common/stock-receipts/stock-receipts-page/stock-receipts-page.component.d.ts +0 -21
- package/lib/inventory-common/stock-receipts/stock-receipts-routing.module.d.ts +0 -7
- package/lib/inventory-common/stock-receipts/stock-receipts.module.d.ts +0 -22
- package/lib/inventory-common/stock-summary.service.d.ts +0 -14
- package/lib/inventory-common/stock-transfer/stock-transfer-form/stock-transfer-form.component.d.ts +0 -19
- package/lib/inventory-common/stock-transfer/stock-transfer-list/stock-transfer-list.component.d.ts +0 -28
- package/lib/inventory-common/stock-transfer/stock-transfer.service.d.ts +0 -7
- package/lib/inventory-common/supplier/payee-selector/payee-selector/payee-selector.component.d.ts +0 -20
- package/lib/inventory-common/supplier/payee-selector/payee-selector.module.d.ts +0 -11
- package/lib/inventory-common/supplier/purchase-order/purchase-order-form/purchase-order-form.component.d.ts +0 -30
- package/lib/inventory-common/supplier/purchase-order/purchase-order-listing/purchase-order-listing.component.d.ts +0 -16
- package/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product-form/purchase-order-product-form.component.d.ts +0 -16
- package/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product-form-button/purchase-order-product-form-button.component.d.ts +0 -12
- package/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product-list.component.d.ts +0 -15
- package/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product.service.d.ts +0 -8
- package/lib/inventory-common/supplier/purchase-order/purchase-order-view/purchase-order-view.component.d.ts +0 -19
- package/lib/inventory-common/supplier/purchase-order/purchase-order.service.d.ts +0 -8
- package/lib/inventory-common/supplier/supplier-branch-delete-button/supplier-branch-delete-button.component.d.ts +0 -18
- package/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form-button/supplier-branch-form-button.component.d.ts +0 -13
- package/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form.component.d.ts +0 -22
- package/lib/inventory-common/supplier/supplier-branch.service.d.ts +0 -7
- package/lib/inventory-common/supplier/supplier-branches-list/supplier-branches-list.component.d.ts +0 -18
- package/lib/inventory-common/supplier/supplier-form/supplier-form.component.d.ts +0 -25
- package/lib/inventory-common/supplier/supplier-form/supplier-form.service.d.ts +0 -7
- package/lib/inventory-common/supplier/supplier-information/supplier-information.component.d.ts +0 -18
- package/lib/inventory-common/supplier/supplier-list/supplier-list.component.d.ts +0 -20
- package/lib/inventory-common/supplier/supplier-routing.module.d.ts +0 -7
- package/lib/inventory-common/supplier/supplier-type.service.d.ts +0 -13
- package/lib/inventory-common/supplier/supplier-view/supplier-view.component.d.ts +0 -20
- package/lib/inventory-common/supplier/supplier.component.d.ts +0 -10
- package/lib/inventory-common/supplier/supplier.module.d.ts +0 -20
- package/lib/inventory-common/supplier/supplier.service.d.ts +0 -8
- package/lib/inventory-common/techlify-filter/techlify-filter.component.d.ts +0 -31
- package/lib/inventory-common/techlify-filter/techlify-filter.module.d.ts +0 -12
- package/public-api.d.ts +0 -67
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"techlify-inventory-common-stock-issue-page.module-DX9n3X1T.mjs","names":["i3.StockIssueProductService","i4","MaterialModule","i5","i6","i7","i2.StockIssueService","i3","i4.LocationService","i5","MaterialModule","i6","i8","i9","i10","i1.StockIssueProductService","i3","i6","i12.ProductCategoryBadgesComponent","i1.StockIssueService","i3","i4","i6","i11.ProductCategoryBadgesComponent","i12","i1","i2","i3","i4","i5","i7","i8","i9.ExportToExcelButtonComponent","i10.StockIssueListComponent","i11.StockIssueProductListComponent"],"sources":["../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form.component.ts","../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form.component.html","../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-single-product-form/stock-issue-single-product-form.component.ts","../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-single-product-form/stock-issue-single-product-form.component.html","../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-products-list/stock-issue-products-list.component.ts","../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-products-list/stock-issue-products-list.component.html","../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-list/stock-issue-list.component.ts","../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-list/stock-issue-list.component.html","../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.component.ts","../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.component.html","../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.module.ts"],"sourcesContent":["import { Component, Inject, OnInit, ViewChild, ChangeDetectionStrategy } from '@angular/core';\nimport { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport {\n FormValidatorService,\n SearchableSelectorComponent,\n SearchableSelectorModule,\n TechlifyFeatureModule,\n TechlifyFormComponent,\n} from 'ngx-techlify-core';\nimport { MAT_DIALOG_DATA, MatDialogContent, MatDialogRef, MatDialogTitle } from '@angular/material/dialog';\nimport { MaterialModule } from '../../material.module';\nimport { StockIssueProductService } from '../stock-issue-product.service';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\n\n@Component({\n selector: 'app-stock-issue-product-form',\n templateUrl: './stock-issue-product-form.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [\n ReactiveFormsModule,\n MaterialModule,\n SearchableSelectorModule,\n TechlifyFeatureModule,\n MatDialogTitle,\n MatDialogContent,\n ],\n})\nexport class StockIssueProductFormComponent extends TechlifyFormComponent implements OnInit {\n @ViewChild('batchSelector') batchSelector?: SearchableSelectorComponent;\n\n batchesApiUrl = '';\n isBatchPatched = false;\n\n constructor(\n formValidatorService: FormValidatorService,\n private fb: FormBuilder,\n protected override service: StockIssueProductService,\n dialogRef: MatDialogRef<StockIssueProductFormComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) {\n super(formValidatorService);\n this.dialogRef = dialogRef;\n\n this.errorMessages = {\n product_id: { required: 'Product is required.' },\n quantity: { required: 'Quantity is required.', min: 'Quantity must be greater than or equal to 0.' },\n };\n\n this.form = this.fb.group({\n id: [''],\n stock_issue_id: ['', Validators.required],\n product_id: ['', Validators.required],\n quantity: [0, [Validators.required, Validators.min(0)]],\n location_from_id: [''],\n batch_id: [''],\n particulars: [''],\n });\n }\n\n ngOnInit(): void {\n this.form.patchValue({ stock_issue_id: this.data.stockIssueId });\n\n this.form.get('location_from_id')?.valueChanges.pipe(\n debounceTime(50),\n distinctUntilChanged(),\n ).subscribe((val: number) => {\n this.resetBatchSelector(val);\n });\n\n const product = this.data.model;\n if (product) {\n this.isUpdate = true;\n this.form.patchValue(product, { emitEvent: false });\n this.resetBatchSelector(product.location_from_id, false);\n }\n }\n\n onBatchItemsChange(): void {\n if (this.data.model && !this.isBatchPatched && this.batchSelector) {\n this.form.get('batch_id')?.setValue(this.data.model.batch_id);\n this.batchSelector.selectedValue = this.data.model.batch;\n this.isBatchPatched = true;\n }\n }\n\n private resetBatchSelector(locationId: number, reset = true): void {\n if (reset) {\n this.form.get('batch_id')?.setValue(null, { emitEvent: false });\n }\n this.batchesApiUrl = locationId ? `api/stock-receipt-batches?location_ids=${locationId}` : '';\n\n Promise.resolve().then(() => {\n if (this.batchSelector) {\n if (reset) {\n this.batchSelector.selectedValue = null;\n }\n this.batchSelector.apiUrl = this.batchesApiUrl;\n this.batchSelector.reloadData();\n }\n });\n }\n\n cancel(): void {\n this.dialogRef.close();\n }\n}\n","<h3 mat-dialog-title class='text-center'>Stock Issue Product Form</h3>\n\n<mat-dialog-content>\n <form [formGroup]=\"form\" (submit)=\"submit(form.getRawValue())\" class=\"d-flex flex-column gap-3 mt-2\">\n\n <mat-form-field class=\"w-100\">\n <mat-label>Product</mat-label>\n <app-searchable-selector formControlName=\"product_id\" apiUrl=\"api/products\" titleField=\"name\"\n [selectedValue]=\"$safeNavigationMigration(data?.product)\" [cache]=\"true\"></app-searchable-selector>\n @if (isFieldValid('product_id')) {\n <mat-error>{{ getErrorMessage('product_id') }}</mat-error>\n }\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>Quantity</mat-label>\n <input matInput type=\"number\" formControlName=\"quantity\" min=\"0\" step=\"any\">\n @if (isFieldValid('quantity')) {\n <mat-error>{{ getErrorMessage('quantity') }}</mat-error>\n }\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>Location From</mat-label>\n <app-searchable-selector formControlName=\"location_from_id\" apiUrl=\"api/inventory-locations?status_ids=1\"\n [selectedValue]=\"$safeNavigationMigration(data.stockIssueProduct?.location)\" titleField=\"title\"></app-searchable-selector>\n </mat-form-field>\n\n @if (form.value?.location_from_id && batchesApiUrl) {\n <mat-form-field class=\"w-100\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <mat-label>Batch</mat-label>\n <app-searchable-selector #batchSelector formControlName=\"batch_id\"\n [apiUrl]=\"batchesApiUrl\" [enableSearch]=\"false\"\n (itemsChange)=\"onBatchItemsChange()\">\n </app-searchable-selector>\n </mat-form-field>\n }\n\n <mat-form-field class=\"w-100\">\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 gap-2\">\n <button mat-flat-button type=\"button\" [disabled]=\"isWorking\" (click)=\"cancel()\">Cancel</button>\n <button mat-raised-button color=\"primary\" type=\"submit\" [disabled]=\"isWorking\">Save</button>\n </div>\n\n </form>\n</mat-dialog-content>\n","import { Component, Inject, OnInit, Optional, ViewChild, ChangeDetectionStrategy } from '@angular/core';\nimport {\n DateUtils,\n FormConfigurationForFormModule,\n FormConfigurationFormService,\n FormConfigurationUtilityService,\n FormValidatorService,\n SearchableSelectorComponent,\n SearchableSelectorModule,\n TechlifyFeatureModule,\n TechlifyFormComponent,\n} from 'ngx-techlify-core';\nimport { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { StockIssueService } from '../stock-issue.service';\nimport { LocationService } from '../../location/location.service';\nimport { MaterialModule } from '../../material.module';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\n\n@Component({\n selector: 'app-stock-issue-single-product-form',\n imports: [\n ReactiveFormsModule,\n MaterialModule,\n MatDialogModule,\n SearchableSelectorModule,\n TechlifyFeatureModule,\n FormConfigurationForFormModule,\n ],\n templateUrl: './stock-issue-single-product-form.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n styleUrls: ['./stock-issue-single-product-form.component.scss'],\n})\nexport class StockIssueSingleProductFormComponent extends TechlifyFormComponent implements OnInit {\n @ViewChild('batchSearchableSelector') batchSearchableSelector!: SearchableSelectorComponent;\n\n product: any;\n stockIssue: any;\n\n private locationsCountValue: number = 0;\n batchesApiUrl = '';\n isBatchPatched: boolean = false;\n\n public formConfigurationUtilityService: FormConfigurationUtilityService;\n\n constructor(\n protected override formValidatorService: FormValidatorService,\n protected override service: StockIssueService,\n private formBuilder: FormBuilder,\n private dateUtils: DateUtils,\n private locationService: LocationService,\n private formConfigService: FormConfigurationFormService,\n @Optional() public override dialogRef: MatDialogRef<StockIssueSingleProductFormComponent>,\n @Inject(MAT_DIALOG_DATA) @Optional() public data: { model?: any; product?: any },\n ) {\n super(formValidatorService);\n this.formConfigurationUtilityService = new FormConfigurationUtilityService();\n this.errorMessages = {\n date: { required: 'The date field is required.' },\n quantity: { required: 'The quantity field is required.' },\n product_id: { required: 'The product field is required.' },\n location_from_id: { required: 'The location from field is required.' },\n recipient_id: { required: 'Please select a recipient.' },\n };\n this.form = this.formBuilder.group({\n id: [''],\n product_id: ['', Validators.required],\n location_from_id: [''],\n batch_id: [''],\n date: [new Date(), Validators.required],\n recipient_id: [''],\n quantity: [1, Validators.required],\n particulars: [''],\n });\n }\n\n ngOnInit() {\n this.product = this.data?.product;\n this.stockIssue = this.data?.model;\n\n this.form.get('location_from_id')?.valueChanges?.pipe(\n debounceTime(50),\n distinctUntilChanged(),\n ).subscribe((val: number) => {\n this.resetBatchSelector(val);\n });\n\n this.locationService.index({ status_ids: '1' }).subscribe((response: any) => {\n const locations = response?.data || [];\n this.locationsCountValue = locations.length;\n\n this.form.get('location_from_id')?.setValidators(locations.length > 0 ? Validators.required : null);\n this.form.get('location_from_id')?.updateValueAndValidity();\n\n if (!this.stockIssue && !this.form.get('location_from_id')?.value && locations.length > 0) {\n this.form.get('location_from_id')?.setValue(locations[0].id);\n }\n });\n\n this.formConfigurationUtilityService.initialize(this.formConfigService, 'stock-issue').subscribe({\n next: () => {\n this.form.get('recipient_id')?.setValidators(\n this.formConfigurationUtilityService.getFieldRequired('recipient_id') ? Validators.required : null\n );\n this.form.get('recipient_id')?.updateValueAndValidity();\n }\n });\n\n if (this.product) {\n this.form.patchValue({ product_id: this.product.id });\n }\n\n this.patchFormData();\n }\n\n patchFormData() {\n if (this.stockIssue) {\n const data: any = { ...this.stockIssue };\n if (data.date) {\n data.date = new Date(data.date);\n }\n this.isUpdate = true;\n this.form.patchValue(data, { emitEvent: false });\n this.resetBatchSelector(data.location_from_id, false);\n this.patchFormProducts(this.stockIssue);\n } else {\n if (this.product?.last_stock_issue) {\n const { quantity, location_from_id } = this.product.last_stock_issue;\n this.form.patchValue({ quantity, location_from_id });\n }\n }\n }\n\n patchFormProducts(stockIssue: any) {\n if (stockIssue.stock_issue_products?.length > 0) {\n this.updateFormWithProductArray(stockIssue.stock_issue_products[0]);\n this.product = stockIssue.stock_issue_products[0].product;\n }\n }\n\n updateFormWithProductArray(stockIssueProduct: any) {\n this.form.patchValue({\n product_id: stockIssueProduct.product_id,\n quantity: stockIssueProduct.quantity,\n location_from_id: stockIssueProduct.location_from_id,\n batch_id: stockIssueProduct.batch_id,\n particulars: stockIssueProduct.particulars,\n });\n }\n\n get locationsCount(): number {\n return this.locationsCountValue;\n }\n\n save() {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n this.alertService.addAlert('Please check the form for errors', 'error');\n return;\n }\n const data: any = {\n ...this.form.value,\n products: [{ ...this.form.value, id: this.form.value.product_id }],\n };\n if (data.date) {\n data.date = this.dateUtils.getYYYYMMDDString(data.date);\n }\n this.isWorking = true;\n const request: any = this.isUpdate ? this.service.update(data) : this.service.store(data);\n request.subscribe({\n next: (response: any) => {\n this.isWorking = false;\n this.dialogRef.close(response?.item.stock_issue_products);\n this.alertService.addAlert('Stock Issue Saved Successfully!', 'success');\n },\n error: () => (this.isWorking = false),\n });\n }\n\n onProductChange(product: any) {\n this.product = product;\n }\n\n onBatchItemsChange() {\n if (this.stockIssue && !this.isBatchPatched) {\n this.form.get('batch_id')?.setValue(this.stockIssue?.stock_issue_products[0]?.batch_id);\n this.batchSearchableSelector.selectedValue = this.stockIssue?.stock_issue_products[0]?.batch;\n this.isBatchPatched = true;\n }\n }\n\n private resetBatchSelector(val: number, reset = true) {\n if (reset) {\n this.form.get('batch_id')?.setValue(null, { emitEvent: false });\n }\n this.batchesApiUrl = val ? `api/stock-receipt-batches?location_ids=${val}` : '';\n Promise.resolve().then(() => {\n if (this.batchSearchableSelector) {\n if (reset) {\n this.batchSearchableSelector.selectedValue = null;\n }\n this.batchSearchableSelector.apiUrl = this.batchesApiUrl;\n this.batchSearchableSelector?.reloadData();\n }\n });\n }\n}\n","<mat-card-content>\n <div class=\"d-flex flex-row justify-content-between align-items-center gap-1\">\n <h5 class=\"text-center mb-0\">\n Stock Issue form\n\n @if (data.product) {\n for {{ data.product?.name }}\n }\n </h5>\n <app-form-configuration-for-form formCode=\"stock-issue\"\n (click)=\"dialogRef.close()\"></app-form-configuration-for-form>\n </div>\n <form [formGroup]=\"form\" class=\"d-flex flex-column gap-1 justify-content-start\" (submit)=\"save()\">\n @if (!product) {\n <mat-form-field>\n <mat-label>Product</mat-label>\n <app-searchable-selector formControlName=\"product_id\" apiUrl=\"api/products\" titleField=\"name\"\n required (selectedValueChange)=\"onProductChange($event)\"></app-searchable-selector>\n @if (isFieldValid('product_id')) {\n <mat-error>\n {{ getErrorMessage('product_id') }}\n </mat-error>\n }\n </mat-form-field>\n } @if (locationsCount > 1) {\n <mat-form-field>\n <mat-label>Location From</mat-label>\n <app-searchable-selector formControlName=\"location_from_id\" apiUrl=\"api/inventory-locations?status_ids=1\"\n required [selectedValue]=\"$safeNavigationMigration(stockIssue?.stock_issue_products[0]?.location)\"></app-searchable-selector>\n <mat-hint>Which warehouse are we taking stock from?</mat-hint>\n @if (isFieldValid('location_from_id')) {\n <mat-error>\n {{ getErrorMessage('location_from_id') }}\n </mat-error>\n }\n </mat-form-field>\n } @if (locationsCount > 1 && form.value?.location_from_id && batchesApiUrl)\n {\n <mat-form-field techlifyFeatureEnabled=\"product-batch-numbers\">\n <mat-label>Batch</mat-label>\n <app-searchable-selector #batchSearchableSelector formControlName=\"batch_id\" [apiUrl]=\"batchesApiUrl\"\n [enableSearch]=\"false\" (itemsChange)=\"onBatchItemsChange()\">\n </app-searchable-selector>\n </mat-form-field>\n }\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 @if (isFieldValid('date')) {\n <mat-error>\n {{ getErrorMessage('date') }}\n </mat-error>\n }\n </mat-form-field>\n\n @if (formConfigurationUtilityService.getFieldEnabled('recipient_id')) {\n <mat-form-field>\n <mat-label>Recipient @if\n (formConfigurationUtilityService.getFieldRequired('recipient_id')) {\n <sup>*</sup>\n }\n </mat-label>\n <app-searchable-selector formControlName=\"recipient_id\" apiUrl=\"api/recipients\"\n titleField=\"name\"></app-searchable-selector>\n @if (isFieldValid('recipient_id')) {\n <mat-error>\n {{ getErrorMessage('recipient_id') }}\n </mat-error>\n }\n </mat-form-field>\n }\n\n <mat-form-field>\n <mat-label>Quantity</mat-label>\n <input matInput formControlName=\"quantity\" type=\"number\" min=\"0\" />\n @if (isFieldValid('quantity')) {\n <mat-error>\n {{ getErrorMessage('quantity') }}\n </mat-error>\n }\n </mat-form-field>\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)=\"dialogRef.close()\" mat-flat-button type=\"button\">Cancel</button>\n </div>\n </form>\n</mat-card-content>","import { Component, OnInit, effect, input, model, output, signal, ChangeDetectionStrategy } from \"@angular/core\";\nimport { StockIssueProductFormComponent } from \"../stock-issue-product-form/stock-issue-product-form.component\";\nimport { StockIssueSingleProductFormComponent } from \"../stock-issue-single-product-form/stock-issue-single-product-form.component\";\nimport {\n ColumnConfig, TechlifyFeatureService,\n TechlifyListComponent\n} from 'ngx-techlify-core';\nimport { StockIssueProductService } from \"../stock-issue-product.service\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { UntilDestroy } from \"@ngneat/until-destroy\";\nimport { DatePipe } from \"@angular/common\";\n\n@UntilDestroy()\n@Component({\n selector: 'app-stock-issue-products-list',\n templateUrl: './stock-issue-products-list.component.html',\n styleUrls: ['./stock-issue-products-list.component.scss'],\n providers: [DatePipe],\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: false\n})\nexport class StockIssueProductListComponent extends TechlifyListComponent implements OnInit {\n filtersInput = input<any>({}, { alias: 'filters' });\n isProductView = input<boolean>(false);\n product = input<any>(null);\n\n stockIssueSingleProductForm = signal(StockIssueSingleProductFormComponent);\n selectedColumns = model<ColumnConfig[]>([]);\n exportInProgress = input<boolean>(false);\n listUpdated = output<any>();\n columnConfigReady = output<ColumnConfig[]>();\n\n issuableData = input<{\n issuable_type: string;\n issuable_id: number;\n } | null>(null);\n\n stockIssueProductForm = signal(StockIssueProductFormComponent);\n\n private readonly productViewHiddenColumns = ['product', 'sku', 'measure'];\n private _defaultSelectedColumns: ColumnConfig[] = [];\n\n columnConfig: ColumnConfig[] = [\n { label: '#', def: 'no', isSelected: true, isEditable: false },\n { label: 'Issue #', def: 'issue_number', isSelected: true, isEditable: false },\n { label: 'Product', def: 'product', isSelected: true, isEditable: false },\n { label: 'Average Cost', def: 'average_cost', isSelected: false, isEditable: true },\n { label: 'Product Categories', def: 'product_categories', isSelected: false, isEditable: true, isExportable: false },\n { label: 'Categories', def: 'categories', isSelected: false, isEditable: false, isExportable: true },\n { label: 'SKU', def: 'sku', isSelected: true, isEditable: false },\n { label: 'Date', def: 'date', isSelected: true, isEditable: false },\n { label: 'Quantity', def: 'quantity', isSelected: true, isEditable: false },\n { label: 'Total Cost (AVCO)', def: 'total_avco', isSelected: true, isEditable: true },\n { label: 'Total Cost (FIFO)', def: 'total_fifo_value', isSelected: true, isEditable: true },\n { label: 'Measure', def: 'measure', isSelected: true, isEditable: true },\n { label: 'Location From', def: 'location', isSelected: true, isEditable: false },\n { label: 'Related', def: 'related', isSelected: true, isEditable: false },\n { label: 'Particulars', def: 'particulars', isSelected: true, isEditable: false },\n { label: 'Creator', def: 'creator', isSelected: false, isEditable: true },\n { label: 'Actions', def: 'actions', isSelected: true, isEditable: false, isExportable: false },\n ];\n\n get displayedColumns(): string[] {\n const cols = this.selectedColumns().length > 0 ? this.selectedColumns() : this._defaultSelectedColumns;\n const selectedDefs = new Set(cols.map(col => col.def));\n return this.columnConfig.filter(col => {\n if (this.isProductView() && this.productViewHiddenColumns.includes(col.def)) {\n return false;\n }\n if (this.exportInProgress()) {\n if (col.isExportable === true) {\n return true;\n }\n if (col.isExportable === false) {\n return false;\n }\n }\n return selectedDefs.has(col.def);\n }).map(col => col.def);\n }\n\n get totalQuantity(): number {\n return this.models.reduce((sum, model) => sum + Number(model?.quantity ?? 0), 0);\n }\n\n get grandTotalAvco(): number {\n return this.models.reduce((sum, model) => sum + Number(model?.total_avco ?? 0), 0);\n }\n\n get grandTotalFifoValue(): number {\n return this.models.reduce((sum, model) => sum + Number(model?.total_fifo_value ?? 0), 0);\n }\n\n get footerColumns(): string[] {\n return this.displayedColumns.map(col => `footer-${col}`);\n }\n\n constructor(\n protected override service: StockIssueProductService,\n private formBuilder: FormBuilder,\n private featureService: TechlifyFeatureService,\n private datePipe: DatePipe\n ) {\n super();\n\n this.filterFormConfiguration = {\n date_from: { date: true },\n date_to: { date: true },\n category_ids: { multiple: true },\n location_ids: { multiple: true },\n measure_ids: { multiple: true },\n product_ids: { multiple: true },\n };\n\n this.filterForm = this.formBuilder.group({\n category_ids: [''],\n date_from: [''],\n date_to: [''],\n duration: [''],\n location_ids: [''],\n measure_ids: [''],\n product_ids: [''],\n search: [''],\n sort_by: ['date|desc'],\n page: this.page,\n perPage: this.perPage,\n });\n\n let initialized = false;\n effect(() => {\n const filters = this.filtersInput();\n if (!initialized) {\n initialized = true;\n return;\n }\n this.filterForm.patchValue(filters, { emitEvent: true });\n });\n }\n\n ngOnInit(): void {\n this.loadFeatures();\n this._defaultSelectedColumns = this.columnConfig.filter(col => col.isSelected);\n queueMicrotask(() => this.columnConfigReady.emit(this.columnConfig));\n\n const initialFilters = this.filtersInput();\n if (initialFilters) {\n this.filterForm.patchValue(initialFilters, { emitEvent: false });\n }\n\n this.patchFiltersFromRoute();\n this.listenFilterChanges();\n this.loadData();\n }\n\n override loadData(): void {\n let filters = this.filterForm.value;\n filters.date_from = this.datePipe.transform(filters.date_from, 'yyyy-mm-dd') ?? '';\n filters.date_to = this.datePipe.transform(filters.date_to, 'yyyy-mm-dd') ?? '';\n filters.page = this.page;\n filters.perPage = this.perPage;\n\n\n if (this.issuableData()) {\n filters.issuable_ids = this.issuableData()?.issuable_id;\n filters.issuable_type = this.issuableData()?.issuable_type;\n }\n\n super.loadData(filters);\n }\n\n private loadFeatures() {\n if (this.featureService.isFeatureExists('product-batch-numbers')) {\n const qtyIndex = this.columnConfig.findIndex(c => c.def === 'quantity');\n if (qtyIndex >= 0) {\n this.columnConfig.splice(qtyIndex + 1, 0, { label: 'Batch', def: 'batch', isSelected: true, isEditable: false });\n }\n }\n }\n}\n","<mat-card>\n @if (isProductView()) {\n <mat-card-header class=\"d-flex align-items-center gap-2\">\n <mat-card-title>Stock Issues</mat-card-title>\n <app-techlify-form-button [component]=\"stockIssueSingleProductForm()\" [data]=\"{ product: product() }\" width=\"500px\"\n (saved)=\"modelCreated($event);listUpdated.emit(true)\"></app-techlify-form-button>\n @if (columnConfig.length > 0) {\n <app-column-selector mode=\"icon\" [columnConfigs]=\"columnConfig\"\n [(selectedColumns)]=\"selectedColumns\"></app-column-selector>\n }\n </mat-card-header>\n }\n\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\" aria-describedby=\"Stock Issue Products\" infiniteScroll\n id=\"stockIssueTable\" [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" matSort\n (matSortChange)=\"sortColumn($event)\">\n\n <!-- # Column -->\n <ng-container matColumnDef=\"no\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"issue_number\">\n <th mat-header-cell *matHeaderCellDef matTooltip=\"Stock Issue ID\">Issue #</th>\n <td mat-cell *matCellDef=\"let element\">\n <a class=\"text-decoration-none text-dark\"\n [routerLink]=\"['/inventory/stock-issues', $safeNavigationMigration(element?.stock_issue_id), 'view']\">\n {{ element?.stock_issue_id }} <i class=\"fa-solid fa-up-right-from-square\"></i>\n </a>\n </td>\n </ng-container>\n\n <!-- Product Column -->\n <ng-container matColumnDef=\"product\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Product</th>\n <td mat-cell *matCellDef=\"let element\">\n <a class=\"text-decoration-none text-dark\"\n [routerLink]=\"['/inventory/products', $safeNavigationMigration(element?.product?.id), 'view']\">\n {{ element?.product?.name }}\n </a>\n </td>\n </ng-container>\n\n <!-- Average Price Column -->\n <ng-container matColumnDef=\"average_cost\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Average Cost</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ $safeNavigationMigration(element?.average_cost) | currency : 'USD' }}\n </td>\n </ng-container>\n\n <!-- Product Categories Column -->\n <ng-container matColumnDef=\"product_categories\">\n <th mat-header-cell *matHeaderCellDef>Product Categories</th>\n <td mat-cell *matCellDef=\"let element\">\n <app-product-category-badges [product]=\"$safeNavigationMigration(element?.product)\"></app-product-category-badges>\n </td>\n </ng-container>\n\n <!-- Categories Column (export only) -->\n <ng-container matColumnDef=\"categories\">\n <th mat-header-cell *matHeaderCellDef>Categories</th>\n <td mat-cell *matCellDef=\"let element\">\n @for (category of element?.product?.categories; track category; let\n last = $last) {\n <span> {{ category?.title }}@if (!last) { , } </span>\n }\n </td>\n </ng-container>\n\n <!-- SKU Column -->\n <ng-container matColumnDef=\"sku\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>SKU</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.product?.sku }}</td>\n </ng-container>\n\n <!-- Date Column -->\n <ng-container matColumnDef=\"date\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Date</th>\n <td mat-cell *matCellDef=\"let element\">{{ $safeNavigationMigration(element?.stock_issue?.date) | date }}</td>\n </ng-container>\n\n <!-- Quantity Column -->\n <ng-container matColumnDef=\"quantity\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Quantity</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.quantity }} {{ element?.product?.measure?.title }}\n </td>\n </ng-container>\n\n <!-- Total Cost (AVCO) Column -->\n <ng-container matColumnDef=\"total_avco\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Total Cost (AVCO)</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ $safeNavigationMigration(element?.total_avco) | currency }}\n </td>\n </ng-container>\n\n <!-- Total Cost (FIFO) Column -->\n <ng-container matColumnDef=\"total_fifo_value\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Total Cost (FIFO)</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ $safeNavigationMigration(element?.total_fifo_value) | currency }}\n </td>\n </ng-container>\n\n <!-- Batch Column -->\n <ng-container matColumnDef=\"batch\">\n <th mat-header-cell *matHeaderCellDef>Batch</th>\n <td mat-cell *matCellDef=\"let element\">\n @if (element?.batch?.batch_number) {\n <p class=\"mb-0\">{{ element?.batch?.batch_number }}</p>\n } @if (element?.batch?.expires_on) {\n <small class=\"text-secondary\">\n Expires\n {{ $safeNavigationMigration(element?.batch?.expires_on) | date }}\n </small>\n }\n </td>\n </ng-container>\n\n <!-- Measure Column -->\n <ng-container matColumnDef=\"measure\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Measure</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.product?.measure?.title }}</td>\n </ng-container>\n\n <!-- Location Column -->\n <ng-container matColumnDef=\"location\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Location From</th>\n <td mat-cell *matCellDef=\"let element\">\n <a class=\"text-decoration-none text-dark\"\n [routerLink]=\"['/inventory/locations', $safeNavigationMigration(element?.location_from_id), 'view']\">\n {{ element?.location?.title }}\n </a>\n <br>\n @if (element?.stock_issue?.recipient) {\n <span>\n <small class=\"text-secondary\"> received by {{ element?.stock_issue?.recipient?.name }} </small>\n </span>\n }\n </td>\n </ng-container>\n\n <!-- Related Column -->\n <ng-container matColumnDef=\"related\">\n <th mat-header-cell *matHeaderCellDef>Related</th>\n <td mat-cell *matCellDef=\"let element\">\n @if (element?.stock_issue?.issuable) {\n <a class=\"text-dark\"\n [routerLink]=\"['/maintenances', $safeNavigationMigration(element?.stock_issue?.issuable_id), 'view']\">\n Maintenance for {{ element?.stock_issue?.issuable?.fixed_asset?.name }}\n </a>\n }\n </td>\n </ng-container>\n\n <!-- Particulars Column -->\n <ng-container matColumnDef=\"particulars\">\n <th mat-header-cell *matHeaderCellDef>Particulars</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.particulars }}</td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef>Creator</th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-1\">{{ element?.stock_issue?.creator?.name }}</p>\n <small class=\"text-secondary\">{{ $safeNavigationMigration(element?.stock_issue?.created_at) | date }}</small>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n\n @if (element.stock_issue?.stock_transfer) {\n <span class=\"badge rounded-pill text-bg-secondary\">Stock Transfer</span>\n } @else {\n <div class=\"d-flex gap-1 text-secondary\">\n <app-techlify-icon name=\"view\" size=\"md\"\n [routerLink]=\"['/inventory', 'stock-issues', 'products', $safeNavigationMigration(element?.id), 'view']\"></app-techlify-icon>\n <app-techlify-form-button [component]=\"stockIssueProductForm()\" [model]=\"element\"\n [data]=\"{ stockIssueId: $safeNavigationMigration(element?.stock_issue_id), product: $safeNavigationMigration(element?.product) }\" width=\"500px\"\n (saved)=\"modelsUpdatedById($event);listUpdated.emit(true)\">\n </app-techlify-form-button>\n <app-techlify-delete-button [service]=\"service\" [model]=\"element\"\n [data]=\"{ title: $safeNavigationMigration(element?.product?.name), type: 'Stock Issue Product' }\"\n (deleted)=\"reload();listUpdated.emit(true)\"></app-techlify-delete-button>\n </div>\n }\n\n </td>\n </ng-container>\n\n <!-- Footer Cells for Total Row -->\n <ng-container matColumnDef=\"footer-no\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-issue_number\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-product\">\n <td mat-footer-cell *matFooterCellDef><strong>Total</strong></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-average_cost\">\n <td mat-footer-cell *matFooterCellDef><strong>Total</strong></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-product_categories\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-sku\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-categories\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-date\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-quantity\">\n <td mat-footer-cell *matFooterCellDef><strong>{{ totalQuantity }}</strong></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-total_avco\">\n <td mat-footer-cell *matFooterCellDef><strong>{{ grandTotalAvco | currency }}</strong></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-total_fifo_value\">\n <td mat-footer-cell *matFooterCellDef><strong>{{ grandTotalFifoValue | currency }}</strong></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-batch\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-measure\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-location\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-related\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-particulars\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-creator\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-actions\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n <tr mat-footer-row *matFooterRowDef=\"footerColumns\"></tr>\n </table>\n\n @if (isWorking) {\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n }\n </mat-card-content>\n</mat-card>","import { Component, OnInit, effect, input, output, ChangeDetectionStrategy } from \"@angular/core\";\nimport {\n ColumnConfig, TechlifyFeatureService,\n TechlifyListComponent\n} from 'ngx-techlify-core';\nimport { StockIssueService } from \"../stock-issue.service\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { UntilDestroy } from \"@ngneat/until-destroy\";\nimport { Router } from '@angular/router';\n\n@UntilDestroy()\n@Component({\n selector: 'app-stock-issue-list',\n templateUrl: './stock-issue-list.component.html',\n styleUrls: ['./stock-issue-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: false,\n})\nexport class StockIssueListComponent extends TechlifyListComponent implements OnInit {\n filtersInput = input<any>({}, { alias: 'filters' });\n selectedColumns = input<ColumnConfig[]>([]);\n exportInProgress = input<boolean>(false);\n listUpdated = output<any>();\n columnConfigReady = output<ColumnConfig[]>();\n\n issuableData = input<{\n issuable_type: string;\n issuable_id: number;\n } | null>(null);\n\n private _defaultSelectedColumns: ColumnConfig[] = [];\n\n columnConfig: ColumnConfig[] = [\n { label: '#', def: 'no', isSelected: true, isEditable: false },\n { label: 'Issue #', def: 'issue_number', isSelected: true, isEditable: false },\n { label: 'Product', def: 'product', isSelected: true, isEditable: false },\n { label: 'Product Categories', def: 'product_categories', isSelected: false, isEditable: true, isExportable: false },\n { label: 'Categories', def: 'categories', isSelected: false, isEditable: false, isExportable: true },\n { label: 'SKU', def: 'sku', isSelected: true, isEditable: false },\n { label: 'Date', def: 'date', isSelected: true, isEditable: false },\n { label: 'Quantity', def: 'quantity', isSelected: true, isEditable: false },\n { label: 'Measure', def: 'measure', isSelected: true, isEditable: true },\n { label: 'Location From', def: 'location', isSelected: true, isEditable: false },\n { label: 'Related', def: 'related', isSelected: true, isEditable: false },\n { label: 'Particulars', def: 'particulars', isSelected: true, isEditable: false },\n { label: 'Creator', def: 'creator', isSelected: false, isEditable: true },\n { label: 'Actions', def: 'actions', isSelected: true, isEditable: false, isExportable: false },\n ];\n\n get displayedColumns(): string[] {\n const cols = this.selectedColumns().length > 0 ? this.selectedColumns() : this._defaultSelectedColumns;\n const selectedDefs = new Set(cols.map(col => col.def));\n return this.columnConfig.filter(col => {\n if (this.exportInProgress()) {\n if (col.isExportable === true) {\n return true;\n }\n if (col.isExportable === false) {\n return false;\n }\n }\n return selectedDefs.has(col.def);\n }).map(col => col.def);\n }\n\n get totalQuantity(): number {\n return this.models.reduce((sum, model) => {\n const products = model?.stock_issue_products ?? [];\n return sum + products.reduce((productSum: number, product: any) =>\n productSum + Number(product?.quantity ?? 0), 0);\n }, 0);\n }\n\n get footerColumns(): string[] {\n return this.displayedColumns.map(col => `footer-${col}`);\n }\n\n constructor(\n protected override service: StockIssueService,\n private formBuilder: FormBuilder,\n private router: Router,\n private featureService: TechlifyFeatureService\n ) {\n super();\n this.lastPage = 0;\n\n this.filterFormConfiguration = {\n date_from: { date: true },\n date_to: { date: true },\n category_ids: { multiple: true },\n location_ids: { multiple: true },\n measure_ids: { multiple: true },\n product_ids: { multiple: true },\n };\n\n this.filterForm = this.formBuilder.group({\n category_ids: [''],\n date_from: [''],\n date_to: [''],\n duration: [''],\n import_id: [''],\n location_ids: [''],\n measure_ids: [''],\n product_ids: [''],\n search: [''],\n sort_by: ['date|desc'],\n page: this.page,\n perPage: this.perPage,\n });\n\n let initialized = false;\n effect(() => {\n const filters = this.filtersInput();\n if (!initialized) {\n initialized = true;\n return;\n }\n this.filterForm.patchValue(filters, { emitEvent: true });\n });\n }\n\n ngOnInit(): void {\n this.loadFeatures();\n this._defaultSelectedColumns = this.columnConfig.filter(col => col.isSelected);\n queueMicrotask(() => this.columnConfigReady.emit(this.columnConfig));\n this.patchFiltersFromRoute();\n this.listenFilterChanges();\n this.loadData();\n }\n\n override loadData(): void {\n let filters = this.filterForm.value;\n filters.page = this.page;\n filters.perPage = this.perPage;\n\n if (this.issuableData()) {\n filters.issuable_ids = this.issuableData()?.issuable_id;\n filters.issuable_type = this.issuableData()?.issuable_type;\n }\n\n super.loadData(filters);\n }\n\n private loadFeatures() {\n if (this.featureService.isFeatureExists('product-batch-numbers')) {\n const qtyIndex = this.columnConfig.findIndex(c => c.def === 'quantity');\n if (qtyIndex >= 0) {\n this.columnConfig.splice(qtyIndex + 1, 0, { label: 'Batch', def: 'batch', isSelected: true, isEditable: false });\n }\n }\n }\n\n redirectToView(model: any) {\n this.router.navigate(['/inventory/stock-issues', model?.id, 'view']);\n }\n}\n","<mat-card>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\" aria-describedby=\"Stock Issues\" infiniteScroll\n id=\"stockIssueTable\" [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" matSort\n (matSortChange)=\"sortColumn($event)\">\n\n <!-- # Column -->\n <ng-container matColumnDef=\"no\">\n <th mat-header-cell *matHeaderCellDef>#</th>\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 }}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"issue_number\">\n <th mat-header-cell *matHeaderCellDef matTooltip=\"Stock Issue ID\">Issue #</th>\n <td mat-cell *matCellDef=\"let element\">\n <a class=\"text-decoration-none text-dark\" [routerLink]=\"['/inventory/stock-issues', $safeNavigationMigration(element?.id), 'view']\">\n {{ element?.id }} <i class=\"fa-solid fa-up-right-from-square\"></i>\n </a>\n </td>\n </ng-container>\n\n <!-- Product Column -->\n <ng-container matColumnDef=\"product\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Product</th>\n <td mat-cell *matCellDef=\"let element\">\n <ul class=\"mb-0 ps-3\">\n @for (sip of element?.stock_issue_products; track sip) {\n <li>\n {{ sip?.quantity }} {{ sip?.product?.measure?.title }} <em>of</em>\n <a class=\"text-decoration-none text-dark\"\n [routerLink]=\"['/inventory/products', $safeNavigationMigration(sip?.product?.id), 'view']\">\n {{ sip?.product?.name }}\n </a>\n </li>\n }\n </ul>\n </td>\n </ng-container>\n\n <!-- Product Categories Column -->\n <ng-container matColumnDef=\"product_categories\">\n <th mat-header-cell *matHeaderCellDef>Product Categories</th>\n <td mat-cell *matCellDef=\"let element\">\n <app-product-category-badges\n [product]=\"$safeNavigationMigration(element?.stock_issue_products[0]?.product)\"></app-product-category-badges>\n </td>\n </ng-container>\n\n <!-- SKU Column -->\n <ng-container matColumnDef=\"sku\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>SKU</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.stock_issue_products[0]?.product?.sku }}</td>\n </ng-container>\n\n <!-- Categories Column (export only) -->\n <ng-container matColumnDef=\"categories\">\n <th mat-header-cell *matHeaderCellDef>Categories</th>\n <td mat-cell *matCellDef=\"let element\">\n @for (category of\n element?.stock_issue_products[0]?.product?.categories; track category;\n let last = $last) {\n <span> {{ category?.title }}@if (!last) { , } </span>\n }\n </td>\n </ng-container>\n\n <!-- Date Column -->\n <ng-container matColumnDef=\"date\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Date</th>\n <td mat-cell *matCellDef=\"let element\">{{ $safeNavigationMigration(element?.date) | date }}</td>\n </ng-container>\n\n <!-- Quantity Column -->\n <ng-container matColumnDef=\"quantity\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Quantity</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.stock_issue_products[0]?.quantity }}\n {{ element?.stock_issue_products[0]?.product?.measure?.title }}\n </td>\n </ng-container>\n\n <!-- Batch Column -->\n <ng-container matColumnDef=\"batch\">\n <th mat-header-cell *matHeaderCellDef>Batch</th>\n <td mat-cell *matCellDef=\"let element\">\n @if (element?.stock_issue_products[0]?.batch?.batch_number) {\n <p class=\"mb-0\">\n {{ element?.stock_issue_products[0]?.batch?.batch_number }}\n </p>\n } @if (element?.stock_issue_products[0]?.batch?.expires_on) {\n <small class=\"text-secondary\">\n Expires\n {{ $safeNavigationMigration(element?.stock_issue_products[0]?.batch?.expires_on) | date }}\n </small>\n }\n </td>\n </ng-container>\n\n <!-- Measure Column -->\n <ng-container matColumnDef=\"measure\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Measure</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.stock_issue_products[0]?.product?.measure?.title }}</td>\n </ng-container>\n\n <!-- Location Column -->\n <ng-container matColumnDef=\"location\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Location From</th>\n <td mat-cell *matCellDef=\"let element\">\n <a class=\"text-decoration-none text-dark\"\n [routerLink]=\"['/inventory/locations', $safeNavigationMigration(element?.stock_issue_products[0]?.location_from_id), 'view']\">\n {{ element?.stock_issue_products[0]?.location?.title }}\n </a>\n <br>\n @if (element?.recipient) {\n <span>\n <small class=\"text-secondary\">received by {{element?.recipient?.name}}</small>\n </span>\n }\n </td>\n </ng-container>\n\n <!-- Related Column -->\n <ng-container matColumnDef=\"related\">\n <th mat-header-cell *matHeaderCellDef>Related</th>\n <td mat-cell *matCellDef=\"let element\">\n @if (element?.issuable) {\n <a class=\"text-dark\" [routerLink]=\"['/maintenances', $safeNavigationMigration(element?.issuable_id), 'view']\">\n Maintenance for {{ element?.issuable?.fixed_asset?.name }}\n </a>\n }\n </td>\n </ng-container>\n\n <!-- Particulars Column -->\n <ng-container matColumnDef=\"particulars\">\n <th mat-header-cell *matHeaderCellDef>Particulars</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.stock_issue_products[0]?.particulars }}</td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef>Creator</th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-1\">{{ element?.creator?.name }}</p>\n <small class=\"text-secondary\">{{ $safeNavigationMigration(element?.created_at) | date }}</small>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n @if (!element.stock_transfer) {\n <div class=\"d-flex gap-1 text-secondary\">\n <app-techlify-icon name=\"view\" size=\"md\"\n [routerLink]=\"['/inventory', 'stock-issues', $safeNavigationMigration(element?.id), 'view']\"></app-techlify-icon>\n <app-techlify-icon name=\"edit\" role=\"button\"\n [routerLink]=\"['/inventory/stock-issues/form', $safeNavigationMigration(element?.id)]\"></app-techlify-icon>\n <app-techlify-delete-button [model]=\"element\" [service]=\"service\"\n [data]=\"{ title: $safeNavigationMigration(element?.id), type: 'Stock Issue' }\"\n (deleted)=\"reload()\"\n >\n </app-techlify-delete-button>\n </div>\n } @if (element.stock_transfer) {\n <span class=\"badge rounded-pill text-bg-secondary\">Stock Transfer</span>\n }\n </td>\n </ng-container>\n\n <!-- Footer Cells for Total Row -->\n <ng-container matColumnDef=\"footer-no\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-issue_number\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-product\">\n <td mat-footer-cell *matFooterCellDef><strong>Total</strong></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-product_categories\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-sku\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-categories\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-date\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-quantity\">\n <td mat-footer-cell *matFooterCellDef><strong>{{ totalQuantity }}</strong></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-batch\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-measure\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-location\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-related\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-particulars\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-creator\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"footer-actions\">\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n <tr mat-footer-row *matFooterRowDef=\"footerColumns\"></tr>\n </table>\n\n @if (isWorking) {\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n }\n </mat-card-content>\n</mat-card>","import { Component, EventEmitter, Input, OnInit, Output, Signal, ViewChild, input, signal, ChangeDetectionStrategy } from '@angular/core';\nimport { ColumnConfig } from 'ngx-techlify-core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { startWith } from 'rxjs';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { StockIssueListComponent } from '../stock-issue-list/stock-issue-list.component';\nimport { StockIssueProductListComponent } from '../stock-issue-products-list/stock-issue-products-list.component';\n\n@UntilDestroy()\n@Component({\n selector: 'app-stock-issue-page',\n templateUrl: './stock-issue-page.component.html',\n styleUrls: ['./stock-issue-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: false,\n})\nexport class StockIssuePageComponent implements OnInit {\n @Input() product: any;\n @Input() label = 'Stock Issues';\n @Input() showActions: boolean = true;\n @Input() showFilters: boolean = true;\n @Output() listUpdated: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild(StockIssueProductListComponent) private itemizedList?: StockIssueProductListComponent;\n @ViewChild(StockIssueListComponent) private groupedList?: StockIssueListComponent;\n\n selectedView = signal<'itemized' | 'grouped'>('itemized');\n exportInProgress = signal<boolean>(false);\n issuableData = input<{\n issuable_type: string;\n issuable_id: number;\n } | null>(null);\n\n\n columnConfig: ColumnConfig[] = [];\n selectedColumns: ColumnConfig[] = [];\n\n filterForm: FormGroup;\n filtersValue: Signal<any>;\n\n constructor(private formBuilder: FormBuilder) {\n this.filterForm = this.formBuilder.group({\n category_ids: [''],\n date_from: [''],\n date_to: [''],\n duration: [''],\n location_ids: [''],\n measure_ids: [''],\n product_ids: [''],\n search: [''],\n });\n\n this.filtersValue = toSignal(\n this.filterForm.valueChanges.pipe(startWith(this.filterForm.value))\n );\n }\n\n ngOnInit(): void {\n if (this.product) {\n this.filterForm.get('product_ids')?.setValue(this.product?.id);\n }\n }\n\n reload(): void {\n this.itemizedList?.reload();\n this.groupedList?.reload();\n }\n\n onColumnConfigReady(config: ColumnConfig[]) {\n this.columnConfig = config;\n this.selectedColumns = config.filter(col => col.isSelected);\n }\n}\n","@if (!product) {\n<mat-card class=\"mb-2\">\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-3\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <h3 class=\"mb-0\">{{ label }}</h3>\n\n <div class=\"d-flex gap-2 align-items-center ms-2 d-print-none\">\n <app-techlify-icon role='button' name='add'\n [routerLink]=\"['/inventory/stock-issues/form']\" [queryParams]=\"issuableData()\"></app-techlify-icon>\n @if (showActions) {\n <span matTooltip=\"Import\" routerLink=\"import\"\n class=\"cursor-pointer material-symbols-outlined\">\n file_upload\n </span>\n }\n <app-export-to-excel-button tableId=\"stockIssueTable\" fileName=\"Stock Issues\"\n (onExportStart)=\"exportInProgress.set(true)\" (onExportEnd)=\"exportInProgress.set(false)\">\n </app-export-to-excel-button>\n @if (showActions && columnConfig.length > 0) {\n <app-column-selector mode=\"icon\" [columnConfigs]=\"columnConfig\"\n [(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 </div>\n @if (showFilters) {\n <form [formGroup]=\"filterForm\" class=\"d-flex align-items-center gap-2 flex-wrap\">\n <mat-form-field class='fl-md'>\n <mat-label>Search</mat-label>\n <input matInput placeholder=\"Search products\" formControlName=\"search\" />\n </mat-form-field>\n\n <app-timeline-filter appearance=\"fill\" labelText=\"Date\" formControlName=\"duration\" [form]=\"filterForm\"\n [showClearButton]=\"true\"></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 From</mat-label>\n <app-searchable-selector apiUrl=\"api/inventory-locations\" formControlName=\"location_ids\" [multiple]=\"true\">\n </app-searchable-selector>\n </mat-form-field>\n </form>\n }\n </mat-card-content>\n</mat-card>\n} @if (selectedView() === 'itemized') {\n<app-stock-issue-products-list [filters]=\"filtersValue()\"\n [isProductView]=\"!!product\" [selectedColumns]=\"selectedColumns\" [exportInProgress]=\"exportInProgress()\"\n (columnConfigReady)=\"onColumnConfigReady($event)\" (listUpdated)=\"listUpdated.emit($event)\" [issuableData]=\"issuableData()\">\n</app-stock-issue-products-list>\n} @if (selectedView() === 'grouped') {\n<app-stock-issue-list [filters]=\"filtersValue()\"\n [selectedColumns]=\"selectedColumns\" [exportInProgress]=\"exportInProgress()\"\n (columnConfigReady)=\"onColumnConfigReady($event)\" (listUpdated)=\"listUpdated.emit($event)\" [issuableData]=\"issuableData()\">\n</app-stock-issue-list>\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StockIssuePageComponent } from './stock-issue-page.component';\nimport { InfiniteScrollDirective } from 'ngx-infinite-scroll';\nimport {\n ColumnSelectorModule,\n MaterialModule,\n SearchableSelectorModule,\n TechlifyDeleteButtonComponent,\n TechlifyFormButtonComponent,\n TechlifyIconModule,\n TimelineFilterModule\n} from 'ngx-techlify-core';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { RouterModule } from '@angular/router';\nimport { TechlifyFilterModule } from '../../techlify-filter/techlify-filter.module';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ProductCategoryBadgesComponent } from '../../product/widgets/product-category-badges/product-category-badges.component';\nimport { ExportToExcelButtonComponent } from '../../shared/export-to-excel-button/export-to-excel-button.component';\nimport { StockIssueListComponent } from '../stock-issue-list/stock-issue-list.component';\nimport { StockIssueProductListComponent } from '../stock-issue-products-list/stock-issue-products-list.component';\n\n@NgModule({\n declarations: [\n StockIssuePageComponent,\n StockIssueListComponent,\n StockIssueProductListComponent,\n ],\n imports: [\n CommonModule,\n MaterialModule,\n TechlifyFilterModule,\n InfiniteScrollDirective,\n MatProgressBarModule,\n RouterModule,\n SearchableSelectorModule,\n TimelineFilterModule,\n ReactiveFormsModule,\n ProductCategoryBadgesComponent,\n ColumnSelectorModule,\n TechlifyIconModule,\n ExportToExcelButtonComponent,\n TechlifyFormButtonComponent,\n TechlifyDeleteButtonComponent\n ],\n exports: [\n StockIssuePageComponent,\n StockIssueListComponent,\n StockIssueProductListComponent,\n ],\n})\nexport class StockIssuePageModule { }\n"],"mappings":"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"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { t as SharedModule } from "./techlify-inventory-common-shared.module-DP-FVqea.mjs";
|
|
2
|
+
import { t as StockAllocationListComponent } from "./techlify-inventory-common-stock-allocation-list.component-Du-VCtbs.mjs";
|
|
3
|
+
import { t as StockIssueProductService } from "./techlify-inventory-common-stock-issue-product.service-BRbfc5KP.mjs";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import { ChangeDetectionStrategy, Component } from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
import * as i6 from "ngx-techlify-core";
|
|
8
|
+
import { NoteModule, TechlifyFeatureModule } from "ngx-techlify-core";
|
|
9
|
+
import * as i4 from "@angular/material/card";
|
|
10
|
+
import * as i5 from "@angular/material/progress-bar";
|
|
11
|
+
import * as i3 from "@angular/common";
|
|
12
|
+
var StockIssueProductViewComponent = class StockIssueProductViewComponent {
|
|
13
|
+
activatedRoute;
|
|
14
|
+
service;
|
|
15
|
+
location;
|
|
16
|
+
id;
|
|
17
|
+
isLoading;
|
|
18
|
+
model;
|
|
19
|
+
constructor(activatedRoute, service, location) {
|
|
20
|
+
this.activatedRoute = activatedRoute;
|
|
21
|
+
this.service = service;
|
|
22
|
+
this.location = location;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.activatedRoute.params.subscribe((params) => {
|
|
26
|
+
this.id = parseInt(params["id"]);
|
|
27
|
+
if (this.id) this.loadData();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
loadData() {
|
|
31
|
+
this.isLoading = true;
|
|
32
|
+
this.service.show(this.id).subscribe({
|
|
33
|
+
next: (response) => {
|
|
34
|
+
this.model = response?.item;
|
|
35
|
+
this.isLoading = false;
|
|
36
|
+
},
|
|
37
|
+
error: () => {
|
|
38
|
+
this.isLoading = false;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
redirectBack() {
|
|
43
|
+
this.location.back();
|
|
44
|
+
}
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
46
|
+
minVersion: "12.0.0",
|
|
47
|
+
version: "22.2.5",
|
|
48
|
+
ngImport: i0,
|
|
49
|
+
type: StockIssueProductViewComponent,
|
|
50
|
+
deps: [
|
|
51
|
+
{ token: i1.ActivatedRoute },
|
|
52
|
+
{ token: StockIssueProductService },
|
|
53
|
+
{ token: i3.Location }
|
|
54
|
+
],
|
|
55
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
56
|
+
});
|
|
57
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
58
|
+
minVersion: "17.0.0",
|
|
59
|
+
version: "22.2.5",
|
|
60
|
+
type: StockIssueProductViewComponent,
|
|
61
|
+
isStandalone: true,
|
|
62
|
+
selector: "app-stock-issue-product-view",
|
|
63
|
+
ngImport: i0,
|
|
64
|
+
template: "@if (isLoading) {\n<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n} @if (model) {\n<div class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Issue for {{ model?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> ungroup </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2 text-secondary\">\n <app-techlify-icon name=\"edit\" role=\"button\"\n [routerLink]=\"['/inventory/stock-issues/form', $safeNavigationMigration(model?.stock_issue_id)]\"></app-techlify-icon>\n <app-techlify-delete-button [model]=\"model\" [service]=\"service\"\n [data]=\"{ title: $safeNavigationMigration(model?.product?.name), type: 'Stock Issue Product' }\"\n (deleted)=\"redirectBack()\"\n >\n </app-techlify-delete-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"d-flex flex-column justify-content-start gap-2 mt-3\">\n <div class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex flex-column gap-0\">\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/products', $safeNavigationMigration(model?.product?.id), 'view']\">\n <p class=\"mb-0\">{{ model?.product?.name }}</p>\n </a>\n @if (model?.product?.sku) {\n <small>{{ model?.product?.sku }}</small>\n }\n </div>\n <div class=\"d-flex flex-column justify-content-end gap-0\">\n @if (model?.stock_issue?.date) {\n <small>{{ $safeNavigationMigration(model?.stock_issue?.date) | date }}</small>\n } @if (model?.batch?.expires_on) {\n <small techlifyFeatureEnabled=\"product-batch-numbers\">\n Expires on\n {{ $safeNavigationMigration(model?.batch?.expires_on) | date }}\n </small>\n }\n </div>\n </div>\n\n <div class=\"row\">\n @if (model?.quantity) {\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Quantity</small>\n <div class=\"d-flex gap-1\">\n <h3 class=\"mb-0\">{{ model?.quantity }}</h3>\n <small class=\"text-secondary\">{{ model?.product?.measure?.title }}</small>\n </div>\n </div>\n </div>\n } @if (model?.location || model?.stock_issue?.recipient) {\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n @if (model?.location) {\n <small class=\"text-secondary\">Location From</small>\n <p class=\"mb-0\">{{ model?.location?.title }}</p>\n } @if (model?.stock_issue?.recipient) {\n <small class=\"text-secondary\">\n received by {{ model?.stock_issue?.recipient?.name }}\n </small>\n }\n </div>\n </div>\n }\n </div>\n @if (model?.batch) {\n <div class=\"row\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Batch</small>\n <p class=\"mb-0\">{{ model?.batch?.batch_number }}</p>\n </div>\n </div>\n @if (model?.batch?.expires_on) {\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Expires On</small>\n <p class=\"mb-0\">{{ $safeNavigationMigration(model?.batch?.expires_on) | date }}</p>\n </div>\n </div>\n }\n </div>\n } @if (model?.particulars) {\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Particulars</small>\n <p class=\"mb-0\">{{ model?.particulars }}</p>\n </div>\n </div>\n </div>\n } @if (model?.stock_issue?.creator) {\n <div class=\"row\">\n <div class=\"col-12\">\n <small class=\"mb-0\">\n <span class=\"text-secondary\">Created By</span> {{ model?.stock_issue?.creator?.name }}\n <span class=\"text-secondary\">On</span> {{ $safeNavigationMigration(model?.stock_issue?.created_at) | date }}\n </small>\n </div>\n </div>\n }\n </mat-card-content>\n </mat-card>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"StockIssueProduct\"\n [relatedModelId]=\"$safeNavigationMigration(model?.stock_issue_id)\"></app-note-list>\n </div>\n\n <div style=\"width: calc(100% - 350px - 0.5rem)\">\n <app-stock-allocation-list [stockIssueProductId]=\"$safeNavigationMigration(model?.id)\"></app-stock-allocation-list>\n </div>\n </div>\n</div>\n}\n",
|
|
65
|
+
styles: [""],
|
|
66
|
+
dependencies: [
|
|
67
|
+
{
|
|
68
|
+
kind: "ngmodule",
|
|
69
|
+
type: SharedModule
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
kind: "component",
|
|
73
|
+
type: i4.MatCard,
|
|
74
|
+
selector: "mat-card",
|
|
75
|
+
inputs: ["appearance"],
|
|
76
|
+
exportAs: ["matCard"]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
kind: "directive",
|
|
80
|
+
type: i4.MatCardContent,
|
|
81
|
+
selector: "mat-card-content"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
kind: "component",
|
|
85
|
+
type: i5.MatProgressBar,
|
|
86
|
+
selector: "mat-progress-bar",
|
|
87
|
+
inputs: [
|
|
88
|
+
"color",
|
|
89
|
+
"value",
|
|
90
|
+
"bufferValue",
|
|
91
|
+
"mode"
|
|
92
|
+
],
|
|
93
|
+
outputs: ["animationEnd"],
|
|
94
|
+
exportAs: ["matProgressBar"]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
kind: "component",
|
|
98
|
+
type: i6.NoteListComponent,
|
|
99
|
+
selector: "app-note-list",
|
|
100
|
+
inputs: [
|
|
101
|
+
"relatedModelId",
|
|
102
|
+
"modelType",
|
|
103
|
+
"readonly",
|
|
104
|
+
"labelText",
|
|
105
|
+
"commentsView",
|
|
106
|
+
"viewMode"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
kind: "directive",
|
|
111
|
+
type: i1.RouterLink,
|
|
112
|
+
selector: "[routerLink]",
|
|
113
|
+
inputs: [
|
|
114
|
+
"target",
|
|
115
|
+
"queryParams",
|
|
116
|
+
"fragment",
|
|
117
|
+
"queryParamsHandling",
|
|
118
|
+
"state",
|
|
119
|
+
"info",
|
|
120
|
+
"relativeTo",
|
|
121
|
+
"preserveFragment",
|
|
122
|
+
"skipLocationChange",
|
|
123
|
+
"replaceUrl",
|
|
124
|
+
"browserUrl",
|
|
125
|
+
"routerLink"
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
kind: "component",
|
|
130
|
+
type: i6.TechlifyDeleteButtonComponent,
|
|
131
|
+
selector: "app-techlify-delete-button",
|
|
132
|
+
inputs: [
|
|
133
|
+
"data",
|
|
134
|
+
"model",
|
|
135
|
+
"message",
|
|
136
|
+
"service"
|
|
137
|
+
],
|
|
138
|
+
outputs: ["deleted", "loading"]
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
kind: "component",
|
|
142
|
+
type: i6.TechlifyIconComponent,
|
|
143
|
+
selector: "app-techlify-icon",
|
|
144
|
+
inputs: ["name", "size"]
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
kind: "ngmodule",
|
|
148
|
+
type: NoteModule
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
kind: "ngmodule",
|
|
152
|
+
type: TechlifyFeatureModule
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
kind: "directive",
|
|
156
|
+
type: i6.TechlifyFeatureEnabledDirective,
|
|
157
|
+
selector: "[techlifyFeatureEnabled]",
|
|
158
|
+
inputs: ["techlifyFeatureEnabled"]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
kind: "component",
|
|
162
|
+
type: StockAllocationListComponent,
|
|
163
|
+
selector: "app-stock-allocation-list",
|
|
164
|
+
inputs: [
|
|
165
|
+
"stockIssueProductId",
|
|
166
|
+
"stockReceiptProductId",
|
|
167
|
+
"selectedColumns"
|
|
168
|
+
],
|
|
169
|
+
outputs: ["selectedColumnsChange"]
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
kind: "pipe",
|
|
173
|
+
type: i3.DatePipe,
|
|
174
|
+
name: "date"
|
|
175
|
+
}
|
|
176
|
+
],
|
|
177
|
+
changeDetection: i0.ChangeDetectionStrategy.Eager,
|
|
178
|
+
preserveWhitespaces: true
|
|
179
|
+
});
|
|
180
|
+
};
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
182
|
+
minVersion: "12.0.0",
|
|
183
|
+
version: "22.2.5",
|
|
184
|
+
ngImport: i0,
|
|
185
|
+
type: StockIssueProductViewComponent,
|
|
186
|
+
decorators: [{
|
|
187
|
+
type: Component,
|
|
188
|
+
args: [{
|
|
189
|
+
selector: "app-stock-issue-product-view",
|
|
190
|
+
changeDetection: ChangeDetectionStrategy.Eager,
|
|
191
|
+
imports: [
|
|
192
|
+
SharedModule,
|
|
193
|
+
NoteModule,
|
|
194
|
+
TechlifyFeatureModule,
|
|
195
|
+
StockAllocationListComponent
|
|
196
|
+
],
|
|
197
|
+
template: "@if (isLoading) {\n<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n} @if (model) {\n<div class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Issue for {{ model?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> ungroup </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2 text-secondary\">\n <app-techlify-icon name=\"edit\" role=\"button\"\n [routerLink]=\"['/inventory/stock-issues/form', $safeNavigationMigration(model?.stock_issue_id)]\"></app-techlify-icon>\n <app-techlify-delete-button [model]=\"model\" [service]=\"service\"\n [data]=\"{ title: $safeNavigationMigration(model?.product?.name), type: 'Stock Issue Product' }\"\n (deleted)=\"redirectBack()\"\n >\n </app-techlify-delete-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"d-flex flex-column justify-content-start gap-2 mt-3\">\n <div class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex flex-column gap-0\">\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/products', $safeNavigationMigration(model?.product?.id), 'view']\">\n <p class=\"mb-0\">{{ model?.product?.name }}</p>\n </a>\n @if (model?.product?.sku) {\n <small>{{ model?.product?.sku }}</small>\n }\n </div>\n <div class=\"d-flex flex-column justify-content-end gap-0\">\n @if (model?.stock_issue?.date) {\n <small>{{ $safeNavigationMigration(model?.stock_issue?.date) | date }}</small>\n } @if (model?.batch?.expires_on) {\n <small techlifyFeatureEnabled=\"product-batch-numbers\">\n Expires on\n {{ $safeNavigationMigration(model?.batch?.expires_on) | date }}\n </small>\n }\n </div>\n </div>\n\n <div class=\"row\">\n @if (model?.quantity) {\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Quantity</small>\n <div class=\"d-flex gap-1\">\n <h3 class=\"mb-0\">{{ model?.quantity }}</h3>\n <small class=\"text-secondary\">{{ model?.product?.measure?.title }}</small>\n </div>\n </div>\n </div>\n } @if (model?.location || model?.stock_issue?.recipient) {\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n @if (model?.location) {\n <small class=\"text-secondary\">Location From</small>\n <p class=\"mb-0\">{{ model?.location?.title }}</p>\n } @if (model?.stock_issue?.recipient) {\n <small class=\"text-secondary\">\n received by {{ model?.stock_issue?.recipient?.name }}\n </small>\n }\n </div>\n </div>\n }\n </div>\n @if (model?.batch) {\n <div class=\"row\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Batch</small>\n <p class=\"mb-0\">{{ model?.batch?.batch_number }}</p>\n </div>\n </div>\n @if (model?.batch?.expires_on) {\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Expires On</small>\n <p class=\"mb-0\">{{ $safeNavigationMigration(model?.batch?.expires_on) | date }}</p>\n </div>\n </div>\n }\n </div>\n } @if (model?.particulars) {\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Particulars</small>\n <p class=\"mb-0\">{{ model?.particulars }}</p>\n </div>\n </div>\n </div>\n } @if (model?.stock_issue?.creator) {\n <div class=\"row\">\n <div class=\"col-12\">\n <small class=\"mb-0\">\n <span class=\"text-secondary\">Created By</span> {{ model?.stock_issue?.creator?.name }}\n <span class=\"text-secondary\">On</span> {{ $safeNavigationMigration(model?.stock_issue?.created_at) | date }}\n </small>\n </div>\n </div>\n }\n </mat-card-content>\n </mat-card>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"StockIssueProduct\"\n [relatedModelId]=\"$safeNavigationMigration(model?.stock_issue_id)\"></app-note-list>\n </div>\n\n <div style=\"width: calc(100% - 350px - 0.5rem)\">\n <app-stock-allocation-list [stockIssueProductId]=\"$safeNavigationMigration(model?.id)\"></app-stock-allocation-list>\n </div>\n </div>\n</div>\n}\n"
|
|
198
|
+
}]
|
|
199
|
+
}],
|
|
200
|
+
ctorParameters: () => [
|
|
201
|
+
{ type: i1.ActivatedRoute },
|
|
202
|
+
{ type: StockIssueProductService },
|
|
203
|
+
{ type: i3.Location }
|
|
204
|
+
]
|
|
205
|
+
});
|
|
206
|
+
export { StockIssueProductViewComponent };
|
|
207
|
+
|
|
208
|
+
//# sourceMappingURL=techlify-inventory-common-stock-issue-product-view.component-D8aIc5Oh.mjs.map
|
package/fesm2022/techlify-inventory-common-stock-issue-product-view.component-D8aIc5Oh.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"techlify-inventory-common-stock-issue-product-view.component-D8aIc5Oh.mjs","names":["i2.StockIssueProductService"],"sources":["../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-product-view/stock-issue-product-view.component.ts","../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-product-view/stock-issue-product-view.component.html"],"sourcesContent":["import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ActivatedRoute } from '@angular/router';\nimport { SharedModule } from '../../shared.module';\nimport { StockIssueProductService } from '../stock-issue-product.service';\nimport { NoteModule, TechlifyFeatureModule } from 'ngx-techlify-core';\nimport { StockAllocationListComponent } from '../../stock-allocation/stock-allocation-list/stock-allocation-list.component';\n\n@Component({\n selector: 'app-stock-issue-product-view',\n templateUrl: './stock-issue-product-view.component.html',\n styleUrl: './stock-issue-product-view.component.scss',\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [\n SharedModule,\n NoteModule,\n TechlifyFeatureModule,\n StockAllocationListComponent\n ],\n})\nexport class StockIssueProductViewComponent implements OnInit {\n\n id!: number;\n isLoading!: boolean;\n model!: any;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n protected service: StockIssueProductService,\n private location: Location\n ) { }\n\n ngOnInit(): void {\n this.activatedRoute.params.subscribe(params => {\n this.id = parseInt(params['id']);\n if (this.id) {\n this.loadData();\n }\n });\n }\n\n loadData() {\n this.isLoading = true;\n this.service.show(this.id).subscribe({\n next: (response: any) => {\n this.model = response?.item;\n this.isLoading = false;\n },\n error: () => {\n this.isLoading = false;\n }\n });\n }\n\n redirectBack() {\n this.location.back();\n }\n}\n","@if (isLoading) {\n<mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n} @if (model) {\n<div class=\"d-flex flex-column justify-content-start gap-2\">\n <mat-card>\n <mat-card-content>\n <h3 class=\"mb-0\">Stock Issue for {{ model?.product?.name }}</h3>\n </mat-card-content>\n </mat-card>\n <div class=\"d-flex justify-content-start align-items-start gap-2\">\n <div class=\"d-flex flex-column gap-2\" style=\"width: 350px\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span class=\"material-symbols-outlined\"> ungroup </span>\n <strong class=\"mb-0 text-dark\">Information</strong>\n </div>\n <div class=\"d-flex justify-content-start align-items-center gap-2 text-secondary\">\n <app-techlify-icon name=\"edit\" role=\"button\"\n [routerLink]=\"['/inventory/stock-issues/form', $safeNavigationMigration(model?.stock_issue_id)]\"></app-techlify-icon>\n <app-techlify-delete-button [model]=\"model\" [service]=\"service\"\n [data]=\"{ title: $safeNavigationMigration(model?.product?.name), type: 'Stock Issue Product' }\"\n (deleted)=\"redirectBack()\"\n >\n </app-techlify-delete-button>\n </div>\n </mat-card-content>\n <mat-card-content class=\"d-flex flex-column justify-content-start gap-2 mt-3\">\n <div class=\"d-flex justify-content-between align-items-center gap-2\">\n <div class=\"d-flex flex-column gap-0\">\n <a class=\"text-decoration-none text-black\"\n [routerLink]=\"['/inventory/products', $safeNavigationMigration(model?.product?.id), 'view']\">\n <p class=\"mb-0\">{{ model?.product?.name }}</p>\n </a>\n @if (model?.product?.sku) {\n <small>{{ model?.product?.sku }}</small>\n }\n </div>\n <div class=\"d-flex flex-column justify-content-end gap-0\">\n @if (model?.stock_issue?.date) {\n <small>{{ $safeNavigationMigration(model?.stock_issue?.date) | date }}</small>\n } @if (model?.batch?.expires_on) {\n <small techlifyFeatureEnabled=\"product-batch-numbers\">\n Expires on\n {{ $safeNavigationMigration(model?.batch?.expires_on) | date }}\n </small>\n }\n </div>\n </div>\n\n <div class=\"row\">\n @if (model?.quantity) {\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Quantity</small>\n <div class=\"d-flex gap-1\">\n <h3 class=\"mb-0\">{{ model?.quantity }}</h3>\n <small class=\"text-secondary\">{{ model?.product?.measure?.title }}</small>\n </div>\n </div>\n </div>\n } @if (model?.location || model?.stock_issue?.recipient) {\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n @if (model?.location) {\n <small class=\"text-secondary\">Location From</small>\n <p class=\"mb-0\">{{ model?.location?.title }}</p>\n } @if (model?.stock_issue?.recipient) {\n <small class=\"text-secondary\">\n received by {{ model?.stock_issue?.recipient?.name }}\n </small>\n }\n </div>\n </div>\n }\n </div>\n @if (model?.batch) {\n <div class=\"row\" techlifyFeatureEnabled=\"product-batch-numbers\">\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Batch</small>\n <p class=\"mb-0\">{{ model?.batch?.batch_number }}</p>\n </div>\n </div>\n @if (model?.batch?.expires_on) {\n <div class=\"col-6\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Expires On</small>\n <p class=\"mb-0\">{{ $safeNavigationMigration(model?.batch?.expires_on) | date }}</p>\n </div>\n </div>\n }\n </div>\n } @if (model?.particulars) {\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"d-flex flex-column gap-0\">\n <small class=\"text-secondary\">Particulars</small>\n <p class=\"mb-0\">{{ model?.particulars }}</p>\n </div>\n </div>\n </div>\n } @if (model?.stock_issue?.creator) {\n <div class=\"row\">\n <div class=\"col-12\">\n <small class=\"mb-0\">\n <span class=\"text-secondary\">Created By</span> {{ model?.stock_issue?.creator?.name }}\n <span class=\"text-secondary\">On</span> {{ $safeNavigationMigration(model?.stock_issue?.created_at) | date }}\n </small>\n </div>\n </div>\n }\n </mat-card-content>\n </mat-card>\n\n <app-note-list labelText=\"Notes\" viewMode=\"timeline\" modelType=\"StockIssueProduct\"\n [relatedModelId]=\"$safeNavigationMigration(model?.stock_issue_id)\"></app-note-list>\n </div>\n\n <div style=\"width: calc(100% - 350px - 0.5rem)\">\n <app-stock-allocation-list [stockIssueProductId]=\"$safeNavigationMigration(model?.id)\"></app-stock-allocation-list>\n </div>\n </div>\n</div>\n}\n"],"mappings":";;;;;;;;;;;AAoBA,IAAa,iCAAb,MAAa,+BAA8B;CAO3B;CACE;CACF;CAPZ;CACA;CACA;CAEA,YACY,gBACE,SACF,UAAkB;EAFlB,KAAA,iBAAA;EACE,KAAA,UAAA;EACF,KAAA,WAAA;CACR;CAEJ,WAAQ;EACJ,KAAK,eAAe,OAAO,WAAU,WAAS;GAC1C,KAAK,KAAK,SAAS,OAAO,KAAK;GAC/B,IAAI,KAAK,IACL,KAAK,SAAQ;EAErB,CAAC;CACL;CAEA,WAAQ;EACJ,KAAK,YAAY;EACjB,KAAK,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,UAAU;GACjC,OAAO,aAAiB;IACpB,KAAK,QAAQ,UAAU;IACvB,KAAK,YAAY;GACrB;GACA,aAAY;IACR,KAAK,YAAY;GACrB;EACH,CAAA;CACL;CAEA,eAAY;EACR,KAAK,SAAS,KAAI;CACtB;CApCS,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAA8B,MAAA;GAAA,EAAA,OAAA,GAAA,eAAA;GAAA,EAAA,OAAAA,yBAAA;GAAA,EAAA,OAAA,GAAA,SAAA;EAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAA9B,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAA8B,cAAA;EAAA,UAAA;EAAA,UAAA;EAAA,UCpB3C;EA6HA,QAAA,CAAA,EAAA;EAAA,cAAA;GAAA;IAAA,MAAA;IAAA,MD/GQ;GAAY;GAAA;IAAA,MAAA;IAAA,MAAA,GAAA;IAAA,UAAA;IAAA,QAAA,CAAA,YAAA;IAAA,UAAA,CAAA,SAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAA,GAAA;IAAA,UAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAA,GAAA;IAAA,UAAA;IAAA,QAAA;KAAA;KAAA;KAAA;KAAA;IAAA;IAAA,SAAA,CAAA,cAAA;IAAA,UAAA,CAAA,gBAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAA,GAAA;IAAA,UAAA;IAAA,QAAA;KAAA;KAAA;KAAA;KAAA;KAAA;KAAA;IAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAA,GAAA;IAAA,UAAA;IAAA,QAAA;KAAA;KAAA;KAAA;KAAA;KAAA;KAAA;KAAA;KAAA;KAAA;KAAA;KAAA;KAAA;IAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAA,GAAA;IAAA,UAAA;IAAA,QAAA;KAAA;KAAA;KAAA;KAAA;IAAA;IAAA,SAAA,CAAA,WAAA,SAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAA,GAAA;IAAA,UAAA;IAAA,QAAA,CAAA,QAAA,MAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MACZ;GAAU;GAAA;IAAA,MAAA;IAAA,MACV;GAAqB;GAAA;IAAA,MAAA;IAAA,MAAA,GAAA;IAAA,UAAA;IAAA,QAAA,CAAA,wBAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MACrB;IAA4B,UAAA;IAAA,QAAA;KAAA;KAAA;KAAA;IAAA;IAAA,SAAA,CAAA,uBAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAA,GAAA;IAAA,MAAA;GAAA;EAAA;EAAA,iBAAA,GAAA,wBAAA;EAAA,qBAAA;CAAA,CAAA;;AAGvB,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAA8B,YAAA,CAAA;EAZ1C,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAA8B,iBAGvB,wBAAwB;GAAK,SACrC;IACL;IACA;IACA;IACA;GACH;GAAA,UAAA;EAAA,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { Injectable } from "@angular/core";
|
|
3
|
+
import * as i1 from "ngx-techlify-core";
|
|
4
|
+
import { TechlifyService } from "ngx-techlify-core";
|
|
5
|
+
var StockIssueProductService = class StockIssueProductService extends TechlifyService {
|
|
6
|
+
constructor(httpService) {
|
|
7
|
+
super(httpService, "stock-issue-products");
|
|
8
|
+
}
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
10
|
+
minVersion: "12.0.0",
|
|
11
|
+
version: "22.2.5",
|
|
12
|
+
ngImport: i0,
|
|
13
|
+
type: StockIssueProductService,
|
|
14
|
+
deps: [{ token: i1.HttpService }],
|
|
15
|
+
target: i0.ɵɵFactoryTarget.Injectable
|
|
16
|
+
});
|
|
17
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
18
|
+
minVersion: "12.0.0",
|
|
19
|
+
version: "22.2.5",
|
|
20
|
+
ngImport: i0,
|
|
21
|
+
type: StockIssueProductService,
|
|
22
|
+
providedIn: "root"
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
26
|
+
minVersion: "12.0.0",
|
|
27
|
+
version: "22.2.5",
|
|
28
|
+
ngImport: i0,
|
|
29
|
+
type: StockIssueProductService,
|
|
30
|
+
decorators: [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{ providedIn: "root" }]
|
|
33
|
+
}],
|
|
34
|
+
ctorParameters: () => [{ type: i1.HttpService }]
|
|
35
|
+
});
|
|
36
|
+
export { StockIssueProductService as t };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=techlify-inventory-common-stock-issue-product.service-BRbfc5KP.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"techlify-inventory-common-stock-issue-product.service-BRbfc5KP.mjs","names":[],"sources":["../../../projects/inventory-common/src/lib/inventory-common/stock-issue/stock-issue-product.service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpService, TechlifyService } from 'ngx-techlify-core';\n\n@Injectable({ providedIn: 'root' })\nexport class StockIssueProductService extends TechlifyService {\n constructor(httpService: HttpService) {\n super(httpService, 'stock-issue-products');\n }\n}\n"],"mappings":";;;;AAIA,IAAa,2BAAb,MAAa,iCAAiC,gBAAe;CAC3D,YAAY,aAAwB;EAClC,MAAM,aAAa,sBAAsB;CAC3C;CAHW,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAwB,MAAA,CAAA,EAAA,OAAA,GAAA,YAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAxB,OAAA,QAAA,GAAA,sBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAwB,YADX;CAAM,CAAA;;AACnB,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAwB,YAAA,CAAA;EADpC,MAAA;EAAW,MAAA,CAAA,EAAE,YAAY,OAAM,CAAE"}
|