techlify-inventory-common 18.1.0 → 18.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/esm2022/lib/inventory-common/category/category-form/category-form.component.mjs +12 -12
  2. package/esm2022/lib/inventory-common/category/category-form-button/category-form-button.component.mjs +5 -5
  3. package/esm2022/lib/inventory-common/category/category-list-page/category-list-page.component.mjs +22 -26
  4. package/esm2022/lib/inventory-common/category/category-routing.module.mjs +10 -5
  5. package/esm2022/lib/inventory-common/category/category-view/category-view.component.mjs +46 -0
  6. package/esm2022/lib/inventory-common/category/category.module.mjs +23 -24
  7. package/esm2022/lib/inventory-common/category/category.service.mjs +6 -6
  8. package/esm2022/lib/inventory-common/inventory-common-routing.module.mjs +32 -18
  9. package/esm2022/lib/inventory-common/inventory-common.module.mjs +13 -9
  10. package/esm2022/lib/inventory-common/inventory-dashboard-page/inventory-dashboard-page.component.mjs +12 -10
  11. package/esm2022/lib/inventory-common/inventory-value-report.service.mjs +21 -0
  12. package/esm2022/lib/inventory-common/location/location-delete-button/location-delete-button.component.mjs +68 -0
  13. package/esm2022/lib/inventory-common/location/location-form/location-form.component.mjs +86 -0
  14. package/esm2022/lib/inventory-common/location/location-form-button/location-form-button.component.mjs +35 -0
  15. package/esm2022/lib/inventory-common/location/location-information/location-information.component.mjs +34 -0
  16. package/esm2022/lib/inventory-common/location/location-list/location-list.component.mjs +121 -0
  17. package/esm2022/lib/inventory-common/location/location-product-statistics/location-product-statistics.component.mjs +127 -0
  18. package/esm2022/lib/inventory-common/location/location-routing.module.mjs +29 -0
  19. package/esm2022/lib/inventory-common/location/location-view/location-view.component.mjs +53 -0
  20. package/esm2022/lib/inventory-common/location/location.module.mjs +22 -0
  21. package/esm2022/lib/inventory-common/location/location.service.mjs +23 -0
  22. package/esm2022/lib/inventory-common/low-stock-report.service.mjs +23 -0
  23. package/esm2022/lib/inventory-common/material.module.mjs +37 -37
  24. package/esm2022/lib/inventory-common/measure/measure-delete/measure-delete-button/measure-delete-button.component.mjs +4 -4
  25. package/esm2022/lib/inventory-common/measure/measure-delete/measure-delete.module.mjs +4 -4
  26. package/esm2022/lib/inventory-common/measure/measure-form/measure-form/measure-form.component.mjs +14 -14
  27. package/esm2022/lib/inventory-common/measure/measure-form/measure-form-button/measure-form-button.component.mjs +5 -5
  28. package/esm2022/lib/inventory-common/measure/measure-form/measure-form.module.mjs +6 -6
  29. package/esm2022/lib/inventory-common/measure/measure-routing.module.mjs +5 -5
  30. package/esm2022/lib/inventory-common/measure/measure.module.mjs +10 -10
  31. package/esm2022/lib/inventory-common/measure/measure.service.mjs +6 -6
  32. package/esm2022/lib/inventory-common/measure/measures-list/measures-list.component.mjs +12 -18
  33. package/esm2022/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.component.mjs +13 -11
  34. package/esm2022/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.module.mjs +10 -24
  35. package/esm2022/lib/inventory-common/product/product-basic-info/product-basic-info.component.mjs +5 -5
  36. package/esm2022/lib/inventory-common/product/product-batch-update-form/product-batch-update-form.component.mjs +56 -0
  37. package/esm2022/lib/inventory-common/product/product-delete-button/product-delete-button.component.mjs +6 -6
  38. package/esm2022/lib/inventory-common/product/product-form/product-form.component.mjs +43 -45
  39. package/esm2022/lib/inventory-common/product/product-form-button/product-form-button.component.mjs +5 -5
  40. package/esm2022/lib/inventory-common/product/product-form.service.mjs +4 -4
  41. package/esm2022/lib/inventory-common/product/product-import-page/product-import-page.component.mjs +32 -32
  42. package/esm2022/lib/inventory-common/product/product-list/product-list.component.mjs +65 -87
  43. package/esm2022/lib/inventory-common/product/product-location/product-location-list/product-location-list.component.mjs +56 -0
  44. package/esm2022/lib/inventory-common/product/product-measure-form/product-measure-form.component.mjs +12 -12
  45. package/esm2022/lib/inventory-common/product/product-measures-list/product-measures-list.component.mjs +22 -28
  46. package/esm2022/lib/inventory-common/product/product-nav-bar/product-nav-bar.component.mjs +3 -3
  47. package/esm2022/lib/inventory-common/product/product-quick-search/product-quick-search.component.mjs +92 -0
  48. package/esm2022/lib/inventory-common/product/product-routing.module.mjs +17 -17
  49. package/esm2022/lib/inventory-common/product/product-statistics.service.mjs +23 -0
  50. package/esm2022/lib/inventory-common/product/product-summary-chart/product-summary-chart.component.mjs +10 -16
  51. package/esm2022/lib/inventory-common/product/product-summary-chart/product-summary-chart.module.mjs +9 -20
  52. package/esm2022/lib/inventory-common/product/product-tax/product-tax-delete-button/product-tax-delete-button.component.mjs +6 -6
  53. package/esm2022/lib/inventory-common/product/product-tax/product-tax-form-button/product-tax-form-button.component.mjs +14 -14
  54. package/esm2022/lib/inventory-common/product/product-tax/product-tax-list/product-tax-list.component.mjs +6 -6
  55. package/esm2022/lib/inventory-common/product/product-tax/product-tax.module.mjs +9 -26
  56. package/esm2022/lib/inventory-common/product/product-tax/product-tax.service.mjs +6 -6
  57. package/esm2022/lib/inventory-common/product/product-view-page/product-view-page.component.mjs +9 -7
  58. package/esm2022/lib/inventory-common/product/product.module.mjs +37 -26
  59. package/esm2022/lib/inventory-common/product/product.service.mjs +7 -7
  60. package/esm2022/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.mjs +15 -0
  61. package/esm2022/lib/inventory-common/product-batch.service.mjs +20 -0
  62. package/esm2022/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.mjs +168 -0
  63. package/esm2022/lib/inventory-common/reports/low-stock-report/low-stock-report.component.mjs +163 -0
  64. package/esm2022/lib/inventory-common/services/techlify-form-service.mjs +2 -2
  65. package/esm2022/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.component.mjs +6 -6
  66. package/esm2022/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.module.mjs +5 -5
  67. package/esm2022/lib/inventory-common/stock-issuances/stock-issuance.service.mjs +6 -6
  68. package/esm2022/lib/inventory-common/stock-issuances/stock-issuances-list/stock-issuances-list.component.mjs +84 -56
  69. package/esm2022/lib/inventory-common/stock-issuances/stock-issuances-list/stock-issuances-list.module.mjs +28 -12
  70. package/esm2022/lib/inventory-common/stock-issuances/stock-issuances-routing.module.mjs +5 -5
  71. package/esm2022/lib/inventory-common/stock-issuances/stock-issuances.module.mjs +14 -14
  72. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form/stock-issue-form.component.mjs +14 -14
  73. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form-button/stock-issue-form-button.component.mjs +5 -5
  74. package/esm2022/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form.module.mjs +13 -13
  75. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-delete-button/stock-receipt-delete-button.component.mjs +6 -6
  76. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form/stock-receipt-form.component.mjs +18 -18
  77. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form-button/stock-receipt-form-button.component.mjs +5 -5
  78. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.module.mjs +12 -12
  79. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt.service.mjs +6 -6
  80. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-list-page/stock-receipts-list-page.component.mjs +82 -44
  81. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-routing.module.mjs +5 -5
  82. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts.module.mjs +24 -22
  83. package/esm2022/lib/inventory-common/stock-summary.service.mjs +5 -5
  84. package/esm2022/lib/inventory-common/stock-transfer/stock-transfer-form/stock-transfer-form.component.mjs +105 -0
  85. package/esm2022/lib/inventory-common/stock-transfer/stock-transfer-form-button/stock-transfer-form-button.component.mjs +38 -0
  86. package/esm2022/lib/inventory-common/stock-transfer/stock-transfer-list/stock-transfer-list.component.mjs +77 -0
  87. package/esm2022/lib/inventory-common/stock-transfer/stock-transfer.service.mjs +18 -0
  88. package/esm2022/lib/inventory-common/supplier/payee-selector/payee-selector/payee-selector.component.mjs +9 -9
  89. package/esm2022/lib/inventory-common/supplier/payee-selector/payee-selector.module.mjs +10 -24
  90. package/esm2022/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.mjs +64 -0
  91. package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form-button/supplier-form-button.component.mjs +43 -0
  92. package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form.component.mjs +24 -24
  93. package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form.service.mjs +4 -4
  94. package/esm2022/lib/inventory-common/supplier/supplier-information/supplier-information.component.mjs +16 -15
  95. package/esm2022/lib/inventory-common/supplier/supplier-routing.module.mjs +9 -16
  96. package/esm2022/lib/inventory-common/supplier/supplier-view/supplier-view.component.mjs +13 -14
  97. package/esm2022/lib/inventory-common/supplier/supplier.component.mjs +3 -3
  98. package/esm2022/lib/inventory-common/supplier/supplier.module.mjs +23 -15
  99. package/esm2022/lib/inventory-common/supplier/supplier.service.mjs +5 -5
  100. package/esm2022/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.mjs +6 -65
  101. package/esm2022/lib/inventory-common/techlify-filter/techlify-filter.component.mjs +16 -18
  102. package/esm2022/lib/inventory-common/techlify-filter/techlify-filter.module.mjs +13 -9
  103. package/fesm2022/techlify-inventory-common-category.module-BsvJ6rVx.mjs +290 -0
  104. package/fesm2022/techlify-inventory-common-category.module-BsvJ6rVx.mjs.map +1 -0
  105. package/fesm2022/techlify-inventory-common-location.module-Cwx9mHKE.mjs +529 -0
  106. package/fesm2022/techlify-inventory-common-location.module-Cwx9mHKE.mjs.map +1 -0
  107. package/fesm2022/techlify-inventory-common-measure.module-C2v0-n_m.mjs +307 -0
  108. package/fesm2022/techlify-inventory-common-measure.module-C2v0-n_m.mjs.map +1 -0
  109. package/fesm2022/{techlify-inventory-common-stock-issuances.module-BQRRP-hW.mjs → techlify-inventory-common-stock-issuances.module-CPccetrp.mjs} +3 -5
  110. package/fesm2022/techlify-inventory-common-stock-issuances.module-CPccetrp.mjs.map +1 -0
  111. package/fesm2022/techlify-inventory-common-supplier.module-CYq-2pV1.mjs +464 -0
  112. package/fesm2022/techlify-inventory-common-supplier.module-CYq-2pV1.mjs.map +1 -0
  113. package/fesm2022/techlify-inventory-common-techlify-inventory-common-BMNkSTd6.mjs +3620 -0
  114. package/fesm2022/techlify-inventory-common-techlify-inventory-common-BMNkSTd6.mjs.map +1 -0
  115. package/fesm2022/techlify-inventory-common.mjs +1 -1
  116. package/lib/inventory-common/category/category-form/category-form.component.d.ts +4 -4
  117. package/lib/inventory-common/category/category-form-button/category-form-button.component.d.ts +2 -2
  118. package/lib/inventory-common/category/category-list-page/category-list-page.component.d.ts +4 -4
  119. package/lib/inventory-common/category/category-view/category-view.component.d.ts +16 -0
  120. package/lib/inventory-common/category/category.module.d.ts +12 -11
  121. package/lib/inventory-common/category/category.service.d.ts +1 -1
  122. package/lib/inventory-common/inventory-common.module.d.ts +2 -1
  123. package/lib/inventory-common/inventory-dashboard-page/inventory-dashboard-page.component.d.ts +1 -1
  124. package/lib/inventory-common/inventory-value-report.service.d.ts +9 -0
  125. package/lib/inventory-common/location/location-delete-button/location-delete-button.component.d.ts +28 -0
  126. package/lib/inventory-common/location/location-form/location-form.component.d.ts +19 -0
  127. package/lib/inventory-common/location/location-form-button/location-form-button.component.d.ts +13 -0
  128. package/lib/inventory-common/location/location-information/location-information.component.d.ts +10 -0
  129. package/lib/inventory-common/location/location-list/location-list.component.d.ts +20 -0
  130. package/lib/inventory-common/location/location-product-statistics/location-product-statistics.component.d.ts +21 -0
  131. package/lib/inventory-common/location/location-routing.module.d.ts +7 -0
  132. package/lib/inventory-common/location/location-view/location-view.component.d.ts +16 -0
  133. package/lib/inventory-common/location/location.module.d.ts +8 -0
  134. package/lib/inventory-common/location/location.service.d.ts +10 -0
  135. package/lib/inventory-common/low-stock-report.service.d.ts +10 -0
  136. package/lib/inventory-common/measure/measure-delete/measure-delete-button/measure-delete-button.component.d.ts +3 -3
  137. package/lib/inventory-common/measure/measure-form/measure-form/measure-form.component.d.ts +4 -4
  138. package/lib/inventory-common/measure/measure-form/measure-form-button/measure-form-button.component.d.ts +2 -2
  139. package/lib/inventory-common/measure/measure.service.d.ts +1 -1
  140. package/lib/inventory-common/measure/measures-list/measures-list.component.d.ts +5 -5
  141. package/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.component.d.ts +3 -3
  142. package/lib/inventory-common/product/product-basic-info/product-basic-info.component.d.ts +2 -2
  143. package/lib/inventory-common/product/product-batch-update-form/product-batch-update-form.component.d.ts +18 -0
  144. package/lib/inventory-common/product/product-delete-button/product-delete-button.component.d.ts +4 -4
  145. package/lib/inventory-common/product/product-form/product-form.component.d.ts +6 -6
  146. package/lib/inventory-common/product/product-form-button/product-form-button.component.d.ts +3 -3
  147. package/lib/inventory-common/product/product-import-page/product-import-page.component.d.ts +2 -2
  148. package/lib/inventory-common/product/product-list/product-list.component.d.ts +15 -24
  149. package/lib/inventory-common/product/product-location/product-location-list/product-location-list.component.d.ts +15 -0
  150. package/lib/inventory-common/product/product-measure-form/product-measure-form.component.d.ts +6 -6
  151. package/lib/inventory-common/product/product-measures-list/product-measures-list.component.d.ts +7 -7
  152. package/lib/inventory-common/product/product-quick-search/product-quick-search.component.d.ts +15 -0
  153. package/lib/inventory-common/product/product-statistics.service.d.ts +9 -0
  154. package/lib/inventory-common/product/product-summary-chart/product-summary-chart.component.d.ts +1 -1
  155. package/lib/inventory-common/product/product-tax/product-tax-delete-button/product-tax-delete-button.component.d.ts +4 -4
  156. package/lib/inventory-common/product/product-tax/product-tax-form-button/product-tax-form-button.component.d.ts +5 -5
  157. package/lib/inventory-common/product/product-tax/product-tax-list/product-tax-list.component.d.ts +2 -2
  158. package/lib/inventory-common/product/product-tax/product-tax.service.d.ts +1 -1
  159. package/lib/inventory-common/product/product-view-page/product-view-page.component.d.ts +4 -4
  160. package/lib/inventory-common/product/product.module.d.ts +16 -13
  161. package/lib/inventory-common/product/product.service.d.ts +2 -2
  162. package/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.d.ts +6 -0
  163. package/lib/inventory-common/product-batch.service.d.ts +8 -0
  164. package/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.d.ts +26 -0
  165. package/lib/inventory-common/reports/low-stock-report/low-stock-report.component.d.ts +26 -0
  166. package/lib/inventory-common/stock-issuances/stock-issuance-delete-button/stock-issuance-delete-button.component.d.ts +4 -4
  167. package/lib/inventory-common/stock-issuances/stock-issuance.service.d.ts +1 -1
  168. package/lib/inventory-common/stock-issuances/stock-issuances-list/stock-issuances-list.component.d.ts +16 -8
  169. package/lib/inventory-common/stock-issuances/stock-issuances-list/stock-issuances-list.module.d.ts +3 -1
  170. package/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form/stock-issue-form.component.d.ts +4 -4
  171. package/lib/inventory-common/stock-issuances/stock-issue-form/stock-issue-form-button/stock-issue-form-button.component.d.ts +2 -2
  172. package/lib/inventory-common/stock-receipts/stock-receipt-delete-button/stock-receipt-delete-button.component.d.ts +4 -4
  173. package/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form/stock-receipt-form.component.d.ts +4 -4
  174. package/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form-button/stock-receipt-form-button.component.d.ts +2 -2
  175. package/lib/inventory-common/stock-receipts/stock-receipt.service.d.ts +1 -1
  176. package/lib/inventory-common/stock-receipts/stock-receipts-list-page/stock-receipts-list-page.component.d.ts +12 -4
  177. package/lib/inventory-common/stock-receipts/stock-receipts.module.d.ts +2 -1
  178. package/lib/inventory-common/stock-summary.service.d.ts +1 -1
  179. package/lib/inventory-common/stock-transfer/stock-transfer-form/stock-transfer-form.component.d.ts +19 -0
  180. package/lib/inventory-common/stock-transfer/stock-transfer-form-button/stock-transfer-form-button.component.d.ts +14 -0
  181. package/lib/inventory-common/stock-transfer/stock-transfer-list/stock-transfer-list.component.d.ts +17 -0
  182. package/lib/inventory-common/stock-transfer/stock-transfer.service.d.ts +7 -0
  183. package/lib/inventory-common/supplier/payee-selector/payee-selector/payee-selector.component.d.ts +3 -3
  184. package/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.d.ts +18 -0
  185. package/lib/inventory-common/supplier/supplier-form/supplier-form-button/supplier-form-button.component.d.ts +13 -0
  186. package/lib/inventory-common/supplier/supplier-form/supplier-form.component.d.ts +6 -6
  187. package/lib/inventory-common/supplier/supplier-information/supplier-information.component.d.ts +4 -4
  188. package/lib/inventory-common/supplier/supplier-view/supplier-view.component.d.ts +4 -4
  189. package/lib/inventory-common/supplier/supplier.component.d.ts +2 -2
  190. package/lib/inventory-common/supplier/supplier.module.d.ts +3 -1
  191. package/lib/inventory-common/supplier/supplier.service.d.ts +1 -1
  192. package/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.d.ts +0 -8
  193. package/lib/inventory-common/techlify-filter/techlify-filter.component.d.ts +4 -4
  194. package/lib/inventory-common/techlify-filter/techlify-filter.module.d.ts +2 -1
  195. package/package.json +1 -1
  196. package/fesm2022/techlify-inventory-common-category.module-CNm2bEsx.mjs +0 -257
  197. package/fesm2022/techlify-inventory-common-category.module-CNm2bEsx.mjs.map +0 -1
  198. package/fesm2022/techlify-inventory-common-measure.module-BEaRHh5Z.mjs +0 -313
  199. package/fesm2022/techlify-inventory-common-measure.module-BEaRHh5Z.mjs.map +0 -1
  200. package/fesm2022/techlify-inventory-common-product.module-BV9Cy88x.mjs +0 -1168
  201. package/fesm2022/techlify-inventory-common-product.module-BV9Cy88x.mjs.map +0 -1
  202. package/fesm2022/techlify-inventory-common-stock-issuances-list.module-Dt6gx-ji.mjs +0 -436
  203. package/fesm2022/techlify-inventory-common-stock-issuances-list.module-Dt6gx-ji.mjs.map +0 -1
  204. package/fesm2022/techlify-inventory-common-stock-issuances.module-BQRRP-hW.mjs.map +0 -1
  205. package/fesm2022/techlify-inventory-common-stock-receipt-form.module-DND0GNlf.mjs +0 -302
  206. package/fesm2022/techlify-inventory-common-stock-receipt-form.module-DND0GNlf.mjs.map +0 -1
  207. package/fesm2022/techlify-inventory-common-stock-receipts.module-BvYaKITT.mjs +0 -253
  208. package/fesm2022/techlify-inventory-common-stock-receipts.module-BvYaKITT.mjs.map +0 -1
  209. package/fesm2022/techlify-inventory-common-supplier-form.component-DVBnhiyH.mjs +0 -177
  210. package/fesm2022/techlify-inventory-common-supplier-form.component-DVBnhiyH.mjs.map +0 -1
  211. package/fesm2022/techlify-inventory-common-supplier.module-Bwa7gx14.mjs +0 -608
  212. package/fesm2022/techlify-inventory-common-supplier.module-Bwa7gx14.mjs.map +0 -1
  213. package/fesm2022/techlify-inventory-common-techlify-form-service-CiVfwYTS.mjs +0 -14
  214. package/fesm2022/techlify-inventory-common-techlify-form-service-CiVfwYTS.mjs.map +0 -1
  215. package/fesm2022/techlify-inventory-common-techlify-inventory-common-GFYF7JCA.mjs +0 -495
  216. package/fesm2022/techlify-inventory-common-techlify-inventory-common-GFYF7JCA.mjs.map +0 -1
@@ -1,313 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, Output, Input, Component, NgModule } from '@angular/core';
3
- import * as i4 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
5
- import * as i2$1 from '@angular/router';
6
- import { RouterModule } from '@angular/router';
7
- import * as i1 from 'ngx-techlify-core';
8
- import { TechlifyServiceBaseClass, TechlifyFormComponentInterface, TechlifyListingControllerInterface, MaterialModule } from 'ngx-techlify-core';
9
- import * as i2 from '@angular/forms';
10
- import { Validators, ReactiveFormsModule } from '@angular/forms';
11
- import * as i5 from '@angular/material/sort';
12
- import * as i6$1 from '@angular/material/table';
13
- import * as i3 from '@angular/material/card';
14
- import * as i7$2 from '@angular/material/progress-bar';
15
- import { MatProgressBarModule } from '@angular/material/progress-bar';
16
- import * as i1$1 from '@angular/material/dialog';
17
- import * as i7 from '@angular/material/button';
18
- import * as i6 from '@angular/material/form-field';
19
- import * as i7$1 from '@angular/material/input';
20
- import { T as TechlifyFilterComponent, a as TechlifyFilterModule } from './techlify-inventory-common-techlify-inventory-common-GFYF7JCA.mjs';
21
- import * as i10 from 'ngx-infinite-scroll';
22
- import { InfiniteScrollModule } from 'ngx-infinite-scroll';
23
-
24
- class MeasureService extends TechlifyServiceBaseClass {
25
- constructor(httpService) {
26
- super(httpService, "product-measures");
27
- }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
29
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureService, providedIn: "root" });
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureService, decorators: [{
32
- type: Injectable,
33
- args: [{
34
- providedIn: "root",
35
- }]
36
- }], ctorParameters: () => [{ type: i1.HttpService }] });
37
-
38
- class MeasureFormComponent extends TechlifyFormComponentInterface {
39
- formBuilder;
40
- alertService;
41
- measureService;
42
- measure;
43
- saved = new EventEmitter();
44
- cancelled = new EventEmitter();
45
- isWorking;
46
- constructor(formValidatorService, formBuilder, alertService, measureService) {
47
- super(formValidatorService);
48
- this.formBuilder = formBuilder;
49
- this.alertService = alertService;
50
- this.measureService = measureService;
51
- this.errorMessages = {
52
- title: {
53
- required: "The title field is required.",
54
- },
55
- quantity_measure: {
56
- required: "The quantity measure field is required.",
57
- },
58
- };
59
- this.form = this.formBuilder.group({
60
- id: [""],
61
- title: ["", Validators.required],
62
- quantity_measure: ["", Validators.required],
63
- description: [""],
64
- });
65
- }
66
- ngOnInit() {
67
- if (this.measure) {
68
- this.form.patchValue({ ...this.measure });
69
- }
70
- }
71
- save() {
72
- if (this.form.invalid) {
73
- this.alertService.addAlert("Please check the form for errors.", "error");
74
- return;
75
- }
76
- const data = {
77
- ...this.form.value,
78
- };
79
- this.isWorking = true;
80
- let request = this.measureService.store(data);
81
- if (this.measure?.id) {
82
- request = this.measureService.update(data);
83
- }
84
- request.subscribe({
85
- next: (response) => {
86
- this.alertService.addAlert("Measure saved successfully!", "success");
87
- this.isWorking = false;
88
- this.saved.emit(response?.item);
89
- },
90
- error: () => (this.isWorking = false),
91
- });
92
- }
93
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureFormComponent, deps: [{ token: i1.FormValidatorService }, { token: i2.FormBuilder }, { token: i1.AlertService }, { token: MeasureService }], target: i0.ɵɵFactoryTarget.Component });
94
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MeasureFormComponent, selector: "app-measure-form", inputs: { measure: "measure" }, outputs: { saved: "saved", cancelled: "cancelled" }, usesInheritance: true, ngImport: i0, template: "<h3 class=\"text-center mb-1\">{{ measure?.id ? \"Edit\" : \"Create\" }} Measure</h3>\n<p class=\"text-center text-secondary\">\n Measures are used throughout the app. ONLY create measure as is applicable.\n</p>\n\n<form\n [formGroup]=\"form\"\n class=\"d-flex flex-row flex-wrap justify-content-start gap-2\"\n (submit)=\"save()\"\n>\n <mat-form-field style=\"width: calc(100%)\">\n <mat-label>Title</mat-label>\n <input formControlName=\"title\" type=\"text\" matInput placeholder=\"Title\" />\n <mat-error *ngIf=\"isFieldValid('title')\">\n {{ getErrorMessage(\"title\") }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field style=\"width: calc(100%)\">\n <mat-label>Quantity Measure</mat-label>\n <input\n formControlName=\"quantity_measure\"\n type=\"text\"\n matInput\n placeholder=\"Quantity Measure\"\n />\n <mat-hint>\n What is this measure for? eg: Unit, Length, Mass, Capacity.\n </mat-hint>\n <mat-error *ngIf=\"isFieldValid('quantity_measure')\">\n {{ getErrorMessage(\"quantity_measure\") }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field style=\"width: calc(100%)\">\n <mat-label>Description</mat-label>\n <textarea\n matInput\n formControlName=\"description\"\n placeholder=\"Description\"\n rows=\"3\"\n ></textarea>\n </mat-form-field>\n\n <div\n class=\"d-flex justify-content-end align-items-center gap-2\"\n style=\"width: calc(100%)\"\n >\n <button\n [disabled]=\"isWorking\"\n type=\"submit\"\n mat-raised-button\n color=\"primary\"\n >\n Save\n </button>\n <button\n [disabled]=\"isWorking\"\n type=\"button\"\n mat-flat-button\n (click)=\"cancelled.emit()\"\n >\n Cancel\n </button>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], preserveWhitespaces: true });
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureFormComponent, decorators: [{
97
- type: Component,
98
- args: [{ selector: "app-measure-form", template: "<h3 class=\"text-center mb-1\">{{ measure?.id ? \"Edit\" : \"Create\" }} Measure</h3>\n<p class=\"text-center text-secondary\">\n Measures are used throughout the app. ONLY create measure as is applicable.\n</p>\n\n<form\n [formGroup]=\"form\"\n class=\"d-flex flex-row flex-wrap justify-content-start gap-2\"\n (submit)=\"save()\"\n>\n <mat-form-field style=\"width: calc(100%)\">\n <mat-label>Title</mat-label>\n <input formControlName=\"title\" type=\"text\" matInput placeholder=\"Title\" />\n <mat-error *ngIf=\"isFieldValid('title')\">\n {{ getErrorMessage(\"title\") }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field style=\"width: calc(100%)\">\n <mat-label>Quantity Measure</mat-label>\n <input\n formControlName=\"quantity_measure\"\n type=\"text\"\n matInput\n placeholder=\"Quantity Measure\"\n />\n <mat-hint>\n What is this measure for? eg: Unit, Length, Mass, Capacity.\n </mat-hint>\n <mat-error *ngIf=\"isFieldValid('quantity_measure')\">\n {{ getErrorMessage(\"quantity_measure\") }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field style=\"width: calc(100%)\">\n <mat-label>Description</mat-label>\n <textarea\n matInput\n formControlName=\"description\"\n placeholder=\"Description\"\n rows=\"3\"\n ></textarea>\n </mat-form-field>\n\n <div\n class=\"d-flex justify-content-end align-items-center gap-2\"\n style=\"width: calc(100%)\"\n >\n <button\n [disabled]=\"isWorking\"\n type=\"submit\"\n mat-raised-button\n color=\"primary\"\n >\n Save\n </button>\n <button\n [disabled]=\"isWorking\"\n type=\"button\"\n mat-flat-button\n (click)=\"cancelled.emit()\"\n >\n Cancel\n </button>\n </div>\n</form>\n" }]
99
- }], ctorParameters: () => [{ type: i1.FormValidatorService }, { type: i2.FormBuilder }, { type: i1.AlertService }, { type: MeasureService }], propDecorators: { measure: [{
100
- type: Input
101
- }], saved: [{
102
- type: Output
103
- }], cancelled: [{
104
- type: Output
105
- }] } });
106
-
107
- class MeasureFormButtonComponent {
108
- matDialog;
109
- measure;
110
- saved = new EventEmitter();
111
- constructor(matDialog) {
112
- this.matDialog = matDialog;
113
- }
114
- showForm(templateRef) {
115
- this.matDialog.open(templateRef, { width: "500px" });
116
- }
117
- onSave(measure) {
118
- this.matDialog.closeAll();
119
- this.saved.emit(measure);
120
- }
121
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureFormButtonComponent, deps: [{ token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
122
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MeasureFormButtonComponent, selector: "app-measure-form-button", inputs: { measure: "measure" }, outputs: { saved: "saved" }, ngImport: i0, template: "<span\n class=\"material-symbols-outlined cursor-pointer\"\n (click)=\"showForm(measureFormTemplate)\"\n [class.text-primary]=\"!measure?.id\"\n>\n {{ measure?.id ? \"edit\" : \"add\" }}\n</span>\n\n<ng-template #measureFormTemplate>\n <app-measure-form\n [measure]=\"measure\"\n mat-dialog-content\n (saved)=\"onSave($event)\"\n (cancelled)=\"matDialog.closeAll()\"\n ></app-measure-form>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: MeasureFormComponent, selector: "app-measure-form", inputs: ["measure"], outputs: ["saved", "cancelled"] }], preserveWhitespaces: true });
123
- }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureFormButtonComponent, decorators: [{
125
- type: Component,
126
- args: [{ selector: "app-measure-form-button", template: "<span\n class=\"material-symbols-outlined cursor-pointer\"\n (click)=\"showForm(measureFormTemplate)\"\n [class.text-primary]=\"!measure?.id\"\n>\n {{ measure?.id ? \"edit\" : \"add\" }}\n</span>\n\n<ng-template #measureFormTemplate>\n <app-measure-form\n [measure]=\"measure\"\n mat-dialog-content\n (saved)=\"onSave($event)\"\n (cancelled)=\"matDialog.closeAll()\"\n ></app-measure-form>\n</ng-template>\n" }]
127
- }], ctorParameters: () => [{ type: i1$1.MatDialog }], propDecorators: { measure: [{
128
- type: Input
129
- }], saved: [{
130
- type: Output
131
- }] } });
132
-
133
- class MeasureDeleteButtonComponent {
134
- measureService;
135
- matDialog;
136
- measure;
137
- deleted = new EventEmitter();
138
- isDeleting = false;
139
- constructor(measureService, matDialog) {
140
- this.measureService = measureService;
141
- this.matDialog = matDialog;
142
- }
143
- /**
144
- * Delete the expense record.
145
- */
146
- deleteMeasure() {
147
- this.isDeleting = true;
148
- this.measureService.delete(this.measure).subscribe({
149
- next: () => {
150
- this.matDialog.closeAll();
151
- this.isDeleting = false;
152
- this.deleted.emit();
153
- },
154
- error: () => (this.isDeleting = false),
155
- });
156
- }
157
- showConfirmDialog(templateRef) {
158
- this.matDialog.open(templateRef);
159
- }
160
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureDeleteButtonComponent, deps: [{ token: MeasureService }, { token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
161
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MeasureDeleteButtonComponent, selector: "app-measure-delete-button", inputs: { measure: "measure" }, outputs: { deleted: "deleted" }, ngImport: i0, template: "<span\n (click)=\"showConfirmDialog(deleteMeasureTemplate)\"\n class=\"material-symbols-outlined cursor-pointer text-secondary\"\n>\n delete\n</span>\n\n<ng-template #deleteMeasureTemplate>\n <h3 mat-dialog-title>Delete Measure</h3>\n <div mat-dialog-content>\n <p>\n Deleting this measure cannot be undone, are you sure you want to proceed?\n </p>\n </div>\n <div\n mat-dialog-actions\n class=\"d-flex justify-content-end align-items-center gap-2\"\n >\n <button\n [disabled]=\"isDeleting\"\n mat-flat-button\n type=\"button\"\n mat-dialog-close\n >\n Cancel\n </button>\n <button\n [disabled]=\"isDeleting\"\n mat-raised-button\n color=\"warn\"\n type=\"button\"\n (click)=\"deleteMeasure()\"\n >\n Delete\n </button>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }], preserveWhitespaces: true });
162
- }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureDeleteButtonComponent, decorators: [{
164
- type: Component,
165
- args: [{ selector: "app-measure-delete-button", template: "<span\n (click)=\"showConfirmDialog(deleteMeasureTemplate)\"\n class=\"material-symbols-outlined cursor-pointer text-secondary\"\n>\n delete\n</span>\n\n<ng-template #deleteMeasureTemplate>\n <h3 mat-dialog-title>Delete Measure</h3>\n <div mat-dialog-content>\n <p>\n Deleting this measure cannot be undone, are you sure you want to proceed?\n </p>\n </div>\n <div\n mat-dialog-actions\n class=\"d-flex justify-content-end align-items-center gap-2\"\n >\n <button\n [disabled]=\"isDeleting\"\n mat-flat-button\n type=\"button\"\n mat-dialog-close\n >\n Cancel\n </button>\n <button\n [disabled]=\"isDeleting\"\n mat-raised-button\n color=\"warn\"\n type=\"button\"\n (click)=\"deleteMeasure()\"\n >\n Delete\n </button>\n </div>\n</ng-template>\n" }]
166
- }], ctorParameters: () => [{ type: MeasureService }, { type: i1$1.MatDialog }], propDecorators: { measure: [{
167
- type: Input
168
- }], deleted: [{
169
- type: Output
170
- }] } });
171
-
172
- class MeasuresListComponent extends TechlifyListingControllerInterface {
173
- formBuilder;
174
- measureService;
175
- displayedColumns = [
176
- "no",
177
- "title",
178
- "quantity_measure",
179
- "description",
180
- "actions",
181
- ];
182
- constructor(formBuilder, measureService) {
183
- super();
184
- this.formBuilder = formBuilder;
185
- this.measureService = measureService;
186
- this.filterForm = this.formBuilder.group({
187
- search: [""],
188
- sort_by: ["created_at|desc"],
189
- });
190
- }
191
- ngOnInit() {
192
- this.loadData();
193
- }
194
- loadData() {
195
- const params = {
196
- page: this.page,
197
- perPage: this.perPage,
198
- ...this.filterForm.value,
199
- };
200
- this.isWorking = true;
201
- this.measureService.index(params).subscribe({
202
- next: (response) => {
203
- this.isWorking = false;
204
- this.models = this.models.concat(response?.data);
205
- this.lastPage = response?.last_page;
206
- },
207
- error: () => (this.isWorking = false),
208
- });
209
- }
210
- onSortChange(sort) {
211
- let { active, direction } = sort;
212
- if (!active) {
213
- active = "created_at";
214
- }
215
- if (!direction) {
216
- direction = "desc";
217
- active = "created_at";
218
- }
219
- this.filterForm.get("sort_by").setValue(active + "|" + direction);
220
- }
221
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasuresListComponent, deps: [{ token: i2.FormBuilder }, { token: MeasureService }], target: i0.ɵɵFactoryTarget.Component });
222
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MeasuresListComponent, selector: "app-measure-list", usesInheritance: true, ngImport: i0, template: "<mat-card class=\"mb-2\">\n <mat-card-content\n class=\"d-flex justify-content-between align-items-center gap-3\"\n >\n <div class=\"d-flex justify-content-center align-items-center gap-2\">\n <h3 class=\"mb-0\">Measures</h3>\n <app-measure-form-button\n class=\"mt-1\"\n (saved)=\"reload()\"\n ></app-measure-form-button>\n </div>\n <app-techlify-filter\n [filterForm]=\"filterForm\"\n (filterUpdated)=\"reload()\"\n ></app-techlify-filter>\n </mat-card-content>\n</mat-card>\n\n<mat-card class=\"p-0\">\n <mat-card-content>\n <table\n mat-table\n [dataSource]=\"models\"\n class=\"w-100\"\n aria-describedby=\"Service Centers\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\"\n matSort\n (matSortChange)=\"onSortChange($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 <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Title</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.title }}\n </td>\n </ng-container>\n\n <!-- Quantity Measure Column -->\n <ng-container matColumnDef=\"quantity_measure\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n Quantity Measure\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.quantity_measure }}\n </td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.description }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <app-measure-form-button\n [measure]=\"element\"\n (saved)=\"reload()\"\n *ngIf=\"element?.client_id\"\n ></app-measure-form-button>\n <app-measure-delete-button\n [measure]=\"element\"\n (deleted)=\"reload()\"\n *ngIf=\"element?.client_id\"\n ></app-measure-delete-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i6$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i6$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: MeasureFormButtonComponent, selector: "app-measure-form-button", inputs: ["measure"], outputs: ["saved"] }, { kind: "component", type: TechlifyFilterComponent, selector: "app-techlify-filter", inputs: ["filterForm", "filterConfig"], outputs: ["filterUpdated"] }, { kind: "directive", type: i10.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: MeasureDeleteButtonComponent, selector: "app-measure-delete-button", inputs: ["measure"], outputs: ["deleted"] }], preserveWhitespaces: true });
223
- }
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasuresListComponent, decorators: [{
225
- type: Component,
226
- args: [{ selector: "app-measure-list", template: "<mat-card class=\"mb-2\">\n <mat-card-content\n class=\"d-flex justify-content-between align-items-center gap-3\"\n >\n <div class=\"d-flex justify-content-center align-items-center gap-2\">\n <h3 class=\"mb-0\">Measures</h3>\n <app-measure-form-button\n class=\"mt-1\"\n (saved)=\"reload()\"\n ></app-measure-form-button>\n </div>\n <app-techlify-filter\n [filterForm]=\"filterForm\"\n (filterUpdated)=\"reload()\"\n ></app-techlify-filter>\n </mat-card-content>\n</mat-card>\n\n<mat-card class=\"p-0\">\n <mat-card-content>\n <table\n mat-table\n [dataSource]=\"models\"\n class=\"w-100\"\n aria-describedby=\"Service Centers\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\"\n matSort\n (matSortChange)=\"onSortChange($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 <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Title</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.title }}\n </td>\n </ng-container>\n\n <!-- Quantity Measure Column -->\n <ng-container matColumnDef=\"quantity_measure\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n Quantity Measure\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.quantity_measure }}\n </td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.description }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <app-measure-form-button\n [measure]=\"element\"\n (saved)=\"reload()\"\n *ngIf=\"element?.client_id\"\n ></app-measure-form-button>\n <app-measure-delete-button\n [measure]=\"element\"\n (deleted)=\"reload()\"\n *ngIf=\"element?.client_id\"\n ></app-measure-delete-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n" }]
227
- }], ctorParameters: () => [{ type: i2.FormBuilder }, { type: MeasureService }] });
228
-
229
- const routes = [
230
- {
231
- path: "",
232
- component: MeasuresListComponent,
233
- },
234
- ];
235
- class MeasureRoutingModule {
236
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
237
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MeasureRoutingModule, imports: [i2$1.RouterModule], exports: [RouterModule] });
238
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
239
- }
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureRoutingModule, decorators: [{
241
- type: NgModule,
242
- args: [{
243
- imports: [RouterModule.forChild(routes)],
244
- exports: [RouterModule],
245
- }]
246
- }] });
247
-
248
- class MeasureFormModule {
249
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
250
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MeasureFormModule, declarations: [MeasureFormComponent, MeasureFormButtonComponent], imports: [CommonModule, MaterialModule, ReactiveFormsModule], exports: [MeasureFormComponent, MeasureFormButtonComponent] });
251
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureFormModule, imports: [CommonModule, MaterialModule, ReactiveFormsModule] });
252
- }
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureFormModule, decorators: [{
254
- type: NgModule,
255
- args: [{
256
- declarations: [MeasureFormComponent, MeasureFormButtonComponent],
257
- imports: [CommonModule, MaterialModule, ReactiveFormsModule],
258
- exports: [MeasureFormComponent, MeasureFormButtonComponent],
259
- }]
260
- }] });
261
-
262
- class MeasureDeleteModule {
263
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureDeleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
264
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MeasureDeleteModule, declarations: [MeasureDeleteButtonComponent], imports: [CommonModule, MaterialModule], exports: [MeasureDeleteButtonComponent] });
265
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureDeleteModule, imports: [CommonModule, MaterialModule] });
266
- }
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureDeleteModule, decorators: [{
268
- type: NgModule,
269
- args: [{
270
- declarations: [MeasureDeleteButtonComponent],
271
- imports: [CommonModule, MaterialModule],
272
- exports: [MeasureDeleteButtonComponent],
273
- }]
274
- }] });
275
-
276
- class MeasureModule {
277
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
278
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MeasureModule, declarations: [MeasuresListComponent], imports: [CommonModule,
279
- MeasureRoutingModule,
280
- MaterialModule,
281
- MeasureFormModule,
282
- TechlifyFilterModule,
283
- InfiniteScrollModule,
284
- MeasureDeleteModule,
285
- MatProgressBarModule] });
286
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureModule, imports: [CommonModule,
287
- MeasureRoutingModule,
288
- MaterialModule,
289
- MeasureFormModule,
290
- TechlifyFilterModule,
291
- InfiniteScrollModule,
292
- MeasureDeleteModule,
293
- MatProgressBarModule] });
294
- }
295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureModule, decorators: [{
296
- type: NgModule,
297
- args: [{
298
- declarations: [MeasuresListComponent],
299
- imports: [
300
- CommonModule,
301
- MeasureRoutingModule,
302
- MaterialModule,
303
- MeasureFormModule,
304
- TechlifyFilterModule,
305
- InfiniteScrollModule,
306
- MeasureDeleteModule,
307
- MatProgressBarModule,
308
- ],
309
- }]
310
- }] });
311
-
312
- export { MeasureModule };
313
- //# sourceMappingURL=techlify-inventory-common-measure.module-BEaRHh5Z.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"techlify-inventory-common-measure.module-BEaRHh5Z.mjs","sources":["../../../projects/inventory-common/src/lib/inventory-common/measure/measure.service.ts","../../../projects/inventory-common/src/lib/inventory-common/measure/measure-form/measure-form/measure-form.component.ts","../../../projects/inventory-common/src/lib/inventory-common/measure/measure-form/measure-form/measure-form.component.html","../../../projects/inventory-common/src/lib/inventory-common/measure/measure-form/measure-form-button/measure-form-button.component.ts","../../../projects/inventory-common/src/lib/inventory-common/measure/measure-form/measure-form-button/measure-form-button.component.html","../../../projects/inventory-common/src/lib/inventory-common/measure/measure-delete/measure-delete-button/measure-delete-button.component.ts","../../../projects/inventory-common/src/lib/inventory-common/measure/measure-delete/measure-delete-button/measure-delete-button.component.html","../../../projects/inventory-common/src/lib/inventory-common/measure/measures-list/measures-list.component.ts","../../../projects/inventory-common/src/lib/inventory-common/measure/measures-list/measures-list.component.html","../../../projects/inventory-common/src/lib/inventory-common/measure/measure-routing.module.ts","../../../projects/inventory-common/src/lib/inventory-common/measure/measure-form/measure-form.module.ts","../../../projects/inventory-common/src/lib/inventory-common/measure/measure-delete/measure-delete.module.ts","../../../projects/inventory-common/src/lib/inventory-common/measure/measure.module.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { HttpService, TechlifyServiceBaseClass } from \"ngx-techlify-core\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class MeasureService extends TechlifyServiceBaseClass {\n constructor(httpService: HttpService) {\n super(httpService, \"product-measures\");\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\nimport {\n AlertService,\n FormValidatorService,\n TechlifyFormComponentInterface,\n} from \"ngx-techlify-core\";\nimport { FormBuilder, Validators } from \"@angular/forms\";\nimport { MeasureService } from \"../../measure.service\";\nimport { Observable } from \"rxjs\";\n\n@Component({\n selector: \"app-measure-form\",\n templateUrl: \"./measure-form.component.html\",\n styleUrls: [\"./measure-form.component.scss\"],\n})\nexport class MeasureFormComponent\n extends TechlifyFormComponentInterface\n implements OnInit\n{\n @Input() measure: any;\n @Output() saved: EventEmitter<any> = new EventEmitter<any>();\n @Output() cancelled: EventEmitter<any> = new EventEmitter<any>();\n\n isWorking!: boolean;\n constructor(\n formValidatorService: FormValidatorService,\n private formBuilder: FormBuilder,\n private alertService: AlertService,\n private measureService: MeasureService\n ) {\n super(formValidatorService);\n\n this.errorMessages = {\n title: {\n required: \"The title field is required.\",\n },\n quantity_measure: {\n required: \"The quantity measure field is required.\",\n },\n };\n\n this.form = this.formBuilder.group({\n id: [\"\"],\n title: [\"\", Validators.required],\n quantity_measure: [\"\", Validators.required],\n description: [\"\"],\n });\n }\n\n ngOnInit(): void {\n if (this.measure) {\n this.form.patchValue({ ...this.measure });\n }\n }\n\n save() {\n if (this.form.invalid) {\n this.alertService.addAlert(\"Please check the form for errors.\", \"error\");\n return;\n }\n const data: any = {\n ...this.form.value,\n };\n this.isWorking = true;\n let request: Observable<any> = this.measureService.store(data);\n if (this.measure?.id) {\n request = this.measureService.update(data);\n }\n request.subscribe({\n next: (response: any) => {\n this.alertService.addAlert(\"Measure saved successfully!\", \"success\");\n this.isWorking = false;\n this.saved.emit(response?.item);\n },\n error: () => (this.isWorking = false),\n });\n }\n}\n","<h3 class=\"text-center mb-1\">{{ measure?.id ? \"Edit\" : \"Create\" }} Measure</h3>\n<p class=\"text-center text-secondary\">\n Measures are used throughout the app. ONLY create measure as is applicable.\n</p>\n\n<form\n [formGroup]=\"form\"\n class=\"d-flex flex-row flex-wrap justify-content-start gap-2\"\n (submit)=\"save()\"\n>\n <mat-form-field style=\"width: calc(100%)\">\n <mat-label>Title</mat-label>\n <input formControlName=\"title\" type=\"text\" matInput placeholder=\"Title\" />\n <mat-error *ngIf=\"isFieldValid('title')\">\n {{ getErrorMessage(\"title\") }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field style=\"width: calc(100%)\">\n <mat-label>Quantity Measure</mat-label>\n <input\n formControlName=\"quantity_measure\"\n type=\"text\"\n matInput\n placeholder=\"Quantity Measure\"\n />\n <mat-hint>\n What is this measure for? eg: Unit, Length, Mass, Capacity.\n </mat-hint>\n <mat-error *ngIf=\"isFieldValid('quantity_measure')\">\n {{ getErrorMessage(\"quantity_measure\") }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field style=\"width: calc(100%)\">\n <mat-label>Description</mat-label>\n <textarea\n matInput\n formControlName=\"description\"\n placeholder=\"Description\"\n rows=\"3\"\n ></textarea>\n </mat-form-field>\n\n <div\n class=\"d-flex justify-content-end align-items-center gap-2\"\n style=\"width: calc(100%)\"\n >\n <button\n [disabled]=\"isWorking\"\n type=\"submit\"\n mat-raised-button\n color=\"primary\"\n >\n Save\n </button>\n <button\n [disabled]=\"isWorking\"\n type=\"button\"\n mat-flat-button\n (click)=\"cancelled.emit()\"\n >\n Cancel\n </button>\n </div>\n</form>\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n} from \"@angular/core\";\nimport { MatDialog } from \"@angular/material/dialog\";\n\n@Component({\n selector: \"app-measure-form-button\",\n templateUrl: \"./measure-form-button.component.html\",\n styleUrls: [\"./measure-form-button.component.scss\"],\n})\nexport class MeasureFormButtonComponent {\n @Input() measure: any;\n @Output() saved: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(public matDialog: MatDialog) {}\n\n showForm(templateRef: TemplateRef<any>) {\n this.matDialog.open(templateRef, { width: \"500px\" });\n }\n\n onSave(measure: any) {\n this.matDialog.closeAll();\n this.saved.emit(measure);\n }\n}\n","<span\n class=\"material-symbols-outlined cursor-pointer\"\n (click)=\"showForm(measureFormTemplate)\"\n [class.text-primary]=\"!measure?.id\"\n>\n {{ measure?.id ? \"edit\" : \"add\" }}\n</span>\n\n<ng-template #measureFormTemplate>\n <app-measure-form\n [measure]=\"measure\"\n mat-dialog-content\n (saved)=\"onSave($event)\"\n (cancelled)=\"matDialog.closeAll()\"\n ></app-measure-form>\n</ng-template>\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n} from \"@angular/core\";\nimport { MatDialog } from \"@angular/material/dialog\";\nimport { MeasureService } from \"../../measure.service\";\n\n@Component({\n selector: \"app-measure-delete-button\",\n templateUrl: \"./measure-delete-button.component.html\",\n styleUrls: [\"./measure-delete-button.component.scss\"],\n})\nexport class MeasureDeleteButtonComponent {\n @Input() measure: any;\n @Output() deleted: EventEmitter<any> = new EventEmitter<any>();\n isDeleting: boolean = false;\n\n constructor(\n private measureService: MeasureService,\n private matDialog: MatDialog\n ) {}\n\n /**\n * Delete the expense record.\n */\n deleteMeasure() {\n this.isDeleting = true;\n this.measureService.delete(this.measure).subscribe({\n next: () => {\n this.matDialog.closeAll();\n this.isDeleting = false;\n this.deleted.emit();\n },\n error: () => (this.isDeleting = false),\n });\n }\n\n showConfirmDialog(templateRef: TemplateRef<any>) {\n this.matDialog.open(templateRef);\n }\n}\n","<span\n (click)=\"showConfirmDialog(deleteMeasureTemplate)\"\n class=\"material-symbols-outlined cursor-pointer text-secondary\"\n>\n delete\n</span>\n\n<ng-template #deleteMeasureTemplate>\n <h3 mat-dialog-title>Delete Measure</h3>\n <div mat-dialog-content>\n <p>\n Deleting this measure cannot be undone, are you sure you want to proceed?\n </p>\n </div>\n <div\n mat-dialog-actions\n class=\"d-flex justify-content-end align-items-center gap-2\"\n >\n <button\n [disabled]=\"isDeleting\"\n mat-flat-button\n type=\"button\"\n mat-dialog-close\n >\n Cancel\n </button>\n <button\n [disabled]=\"isDeleting\"\n mat-raised-button\n color=\"warn\"\n type=\"button\"\n (click)=\"deleteMeasure()\"\n >\n Delete\n </button>\n </div>\n</ng-template>\n","import { Component, OnInit } from \"@angular/core\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { TechlifyListingControllerInterface } from \"ngx-techlify-core\";\nimport { MeasureService } from \"../measure.service\";\nimport { Sort } from \"@angular/material/sort\";\n\n@Component({\n selector: \"app-measure-list\",\n templateUrl: \"./measures-list.component.html\",\n styleUrls: [\"./measures-list.component.scss\"],\n})\nexport class MeasuresListComponent\n extends TechlifyListingControllerInterface\n implements OnInit\n{\n displayedColumns: string[] = [\n \"no\",\n \"title\",\n \"quantity_measure\",\n \"description\",\n \"actions\",\n ];\n\n constructor(\n private formBuilder: FormBuilder,\n private measureService: MeasureService\n ) {\n super();\n this.filterForm = this.formBuilder.group({\n search: [\"\"],\n sort_by: [\"created_at|desc\"],\n });\n }\n\n ngOnInit(): void {\n this.loadData();\n }\n\n loadData(): void {\n const params: any = {\n page: this.page,\n perPage: this.perPage,\n ...this.filterForm.value,\n };\n this.isWorking = true;\n this.measureService.index(params).subscribe({\n next: (response: any) => {\n this.isWorking = false;\n this.models = this.models.concat(response?.data);\n this.lastPage = response?.last_page;\n },\n error: () => (this.isWorking = false),\n });\n }\n\n onSortChange(sort: Sort) {\n let { active, direction } = sort;\n if (!active) {\n active = \"created_at\";\n }\n if (!direction) {\n direction = \"desc\";\n active = \"created_at\";\n }\n this.filterForm.get(\"sort_by\").setValue(active + \"|\" + direction);\n }\n}\n","<mat-card class=\"mb-2\">\n <mat-card-content\n class=\"d-flex justify-content-between align-items-center gap-3\"\n >\n <div class=\"d-flex justify-content-center align-items-center gap-2\">\n <h3 class=\"mb-0\">Measures</h3>\n <app-measure-form-button\n class=\"mt-1\"\n (saved)=\"reload()\"\n ></app-measure-form-button>\n </div>\n <app-techlify-filter\n [filterForm]=\"filterForm\"\n (filterUpdated)=\"reload()\"\n ></app-techlify-filter>\n </mat-card-content>\n</mat-card>\n\n<mat-card class=\"p-0\">\n <mat-card-content>\n <table\n mat-table\n [dataSource]=\"models\"\n class=\"w-100\"\n aria-describedby=\"Service Centers\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\"\n matSort\n (matSortChange)=\"onSortChange($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 <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Title</th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.title }}\n </td>\n </ng-container>\n\n <!-- Quantity Measure Column -->\n <ng-container matColumnDef=\"quantity_measure\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n Quantity Measure\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.quantity_measure }}\n </td>\n </ng-container>\n\n <!-- Description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.description }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef>Actions</th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <app-measure-form-button\n [measure]=\"element\"\n (saved)=\"reload()\"\n *ngIf=\"element?.client_id\"\n ></app-measure-form-button>\n <app-measure-delete-button\n [measure]=\"element\"\n (deleted)=\"reload()\"\n *ngIf=\"element?.client_id\"\n ></app-measure-delete-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n","import { NgModule } from \"@angular/core\";\nimport { RouterModule, Routes } from \"@angular/router\";\nimport { MeasuresListComponent } from \"./measures-list/measures-list.component\";\n\nconst routes: Routes = [\n {\n path: \"\",\n component: MeasuresListComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class MeasureRoutingModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { MeasureFormComponent } from \"./measure-form/measure-form.component\";\nimport { MeasureFormButtonComponent } from \"./measure-form-button/measure-form-button.component\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { MaterialModule } from 'ngx-techlify-core';\n\n@NgModule({\n declarations: [MeasureFormComponent, MeasureFormButtonComponent],\n imports: [CommonModule, MaterialModule, ReactiveFormsModule],\n exports: [MeasureFormComponent, MeasureFormButtonComponent],\n})\nexport class MeasureFormModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { MeasureDeleteButtonComponent } from \"./measure-delete-button/measure-delete-button.component\";\nimport { MaterialModule } from 'ngx-techlify-core';\n\n@NgModule({\n declarations: [MeasureDeleteButtonComponent],\n imports: [CommonModule, MaterialModule],\n exports: [MeasureDeleteButtonComponent],\n})\nexport class MeasureDeleteModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { MeasureRoutingModule } from \"./measure-routing.module\";\nimport { MeasuresListComponent } from \"./measures-list/measures-list.component\";\nimport { MeasureFormModule } from \"./measure-form/measure-form.module\";\nimport { InfiniteScrollModule } from \"ngx-infinite-scroll\";\nimport { MeasureDeleteModule } from \"./measure-delete/measure-delete.module\";\nimport { MaterialModule } from \"ngx-techlify-core\";\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\nimport { TechlifyFilterModule } from '../techlify-filter/techlify-filter.module';\n\n@NgModule({\n declarations: [MeasuresListComponent],\n imports: [\n CommonModule,\n MeasureRoutingModule,\n MaterialModule,\n MeasureFormModule,\n TechlifyFilterModule,\n InfiniteScrollModule,\n MeasureDeleteModule,\n MatProgressBarModule,\n ],\n})\nexport class MeasureModule {}\n"],"names":["i3.MeasureService","i5","i7","i1","i2.MeasureFormComponent","i1.MeasureService","i2","i3","i2.MeasureService","i4","i6","i8.MeasureFormButtonComponent","i9.TechlifyFilterComponent","i11.MeasureDeleteButtonComponent"],"mappings":"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"}