techlify-inventory-common 18.50.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.
Files changed (356) hide show
  1. package/fesm2022/techlify-inventory-common-category.module-Dtn1604q.mjs +842 -0
  2. package/fesm2022/techlify-inventory-common-category.module-Dtn1604q.mjs.map +1 -0
  3. package/fesm2022/techlify-inventory-common-location.service-C99J8Lje.mjs +50 -0
  4. package/fesm2022/techlify-inventory-common-location.service-C99J8Lje.mjs.map +1 -0
  5. package/fesm2022/techlify-inventory-common-material.module-ClupVm7-.mjs +190 -0
  6. package/fesm2022/techlify-inventory-common-material.module-ClupVm7-.mjs.map +1 -0
  7. package/fesm2022/techlify-inventory-common-measure.service-DvJUGa0i.mjs +38 -0
  8. package/fesm2022/techlify-inventory-common-measure.service-DvJUGa0i.mjs.map +1 -0
  9. package/fesm2022/techlify-inventory-common-product-category-badges.component-VnfnNhtV.mjs +133 -0
  10. package/fesm2022/techlify-inventory-common-product-category-badges.component-VnfnNhtV.mjs.map +1 -0
  11. package/fesm2022/techlify-inventory-common-product.module-MZoVK3bN.mjs +4278 -0
  12. package/fesm2022/techlify-inventory-common-product.module-MZoVK3bN.mjs.map +1 -0
  13. package/fesm2022/techlify-inventory-common-purchase-order-view.component-CjED8n4_.mjs +852 -0
  14. package/fesm2022/techlify-inventory-common-purchase-order-view.component-CjED8n4_.mjs.map +1 -0
  15. package/fesm2022/techlify-inventory-common-purchase-order.service-ztJ5RRH5.mjs +40 -0
  16. package/fesm2022/techlify-inventory-common-purchase-order.service-ztJ5RRH5.mjs.map +1 -0
  17. package/fesm2022/techlify-inventory-common-recipient.module-gxR77BIj.mjs +647 -0
  18. package/fesm2022/techlify-inventory-common-recipient.module-gxR77BIj.mjs.map +1 -0
  19. package/fesm2022/techlify-inventory-common-shared.module-DP-FVqea.mjs +102 -0
  20. package/fesm2022/techlify-inventory-common-shared.module-DP-FVqea.mjs.map +1 -0
  21. package/fesm2022/techlify-inventory-common-stock-allocation-list.component-Du-VCtbs.mjs +382 -0
  22. package/fesm2022/techlify-inventory-common-stock-allocation-list.component-Du-VCtbs.mjs.map +1 -0
  23. package/fesm2022/techlify-inventory-common-stock-issue-form.component-DfgbqIKn.mjs +486 -0
  24. package/fesm2022/techlify-inventory-common-stock-issue-form.component-DfgbqIKn.mjs.map +1 -0
  25. package/fesm2022/techlify-inventory-common-stock-issue-page.module-DX9n3X1T.mjs +2509 -0
  26. package/fesm2022/techlify-inventory-common-stock-issue-page.module-DX9n3X1T.mjs.map +1 -0
  27. package/fesm2022/techlify-inventory-common-stock-issue-product-view.component-D8aIc5Oh.mjs +208 -0
  28. package/fesm2022/techlify-inventory-common-stock-issue-product-view.component-D8aIc5Oh.mjs.map +1 -0
  29. package/fesm2022/techlify-inventory-common-stock-issue-product.service-BRbfc5KP.mjs +38 -0
  30. package/fesm2022/techlify-inventory-common-stock-issue-product.service-BRbfc5KP.mjs.map +1 -0
  31. package/fesm2022/techlify-inventory-common-stock-issue-view.component-Cp_0YkKh.mjs +239 -0
  32. package/fesm2022/techlify-inventory-common-stock-issue-view.component-Cp_0YkKh.mjs.map +1 -0
  33. package/fesm2022/techlify-inventory-common-stock-issue.service-CLHasWVp.mjs +38 -0
  34. package/fesm2022/techlify-inventory-common-stock-issue.service-CLHasWVp.mjs.map +1 -0
  35. package/fesm2022/techlify-inventory-common-stock-receipts.module-BPxUGNbD.mjs +4195 -0
  36. package/fesm2022/techlify-inventory-common-stock-receipts.module-BPxUGNbD.mjs.map +1 -0
  37. package/fesm2022/techlify-inventory-common-techlify-filter.module-BdRNWNHi.mjs +464 -0
  38. package/fesm2022/techlify-inventory-common-techlify-filter.module-BdRNWNHi.mjs.map +1 -0
  39. package/fesm2022/techlify-inventory-common-techlify-form-service-D9K3W2jt.mjs +13 -0
  40. package/fesm2022/techlify-inventory-common-techlify-form-service-D9K3W2jt.mjs.map +1 -0
  41. package/fesm2022/techlify-inventory-common.mjs +10803 -2
  42. package/fesm2022/techlify-inventory-common.mjs.map +1 -1
  43. package/package.json +9 -11
  44. package/types/techlify-inventory-common.d.ts +1792 -0
  45. package/esm2022/lib/inventory-common/category/category-form/category-form.component.mjs +0 -75
  46. package/esm2022/lib/inventory-common/category/category-form-button/category-form-button.component.mjs +0 -32
  47. package/esm2022/lib/inventory-common/category/category-list-page/category-list-page.component.mjs +0 -64
  48. package/esm2022/lib/inventory-common/category/category-routing.module.mjs +0 -29
  49. package/esm2022/lib/inventory-common/category/category-view/category-view.component.mjs +0 -46
  50. package/esm2022/lib/inventory-common/category/category.module.mjs +0 -62
  51. package/esm2022/lib/inventory-common/category/category.service.mjs +0 -18
  52. package/esm2022/lib/inventory-common/incident/incident-form/incident-form.component.mjs +0 -113
  53. package/esm2022/lib/inventory-common/incident/incident-form-button/incident-form-button.component.mjs +0 -45
  54. package/esm2022/lib/inventory-common/incident/incident-list/incident-list.component.mjs +0 -140
  55. package/esm2022/lib/inventory-common/incident/incident-routing.module.mjs +0 -24
  56. package/esm2022/lib/inventory-common/incident/incident.module.mjs +0 -22
  57. package/esm2022/lib/inventory-common/incident/incident.service.mjs +0 -18
  58. package/esm2022/lib/inventory-common/inventory-common-routing.module.mjs +0 -81
  59. package/esm2022/lib/inventory-common/inventory-common.module.mjs +0 -43
  60. package/esm2022/lib/inventory-common/inventory-dashboard-page/inventory-dashboard-page.component.mjs +0 -44
  61. package/esm2022/lib/inventory-common/inventory-value-report.service.mjs +0 -21
  62. package/esm2022/lib/inventory-common/location/location-form/location-form.component.mjs +0 -63
  63. package/esm2022/lib/inventory-common/location/location-form-button/location-form-button.component.mjs +0 -47
  64. package/esm2022/lib/inventory-common/location/location-information/location-information.component.mjs +0 -36
  65. package/esm2022/lib/inventory-common/location/location-list/location-list.component.mjs +0 -81
  66. package/esm2022/lib/inventory-common/location/location-product-statistics/location-product-statistics.component.mjs +0 -80
  67. package/esm2022/lib/inventory-common/location/location-routing.module.mjs +0 -38
  68. package/esm2022/lib/inventory-common/location/location-status-changer/location-status-changer.component.mjs +0 -64
  69. package/esm2022/lib/inventory-common/location/location-view/location-view.component.mjs +0 -52
  70. package/esm2022/lib/inventory-common/location/location.module.mjs +0 -22
  71. package/esm2022/lib/inventory-common/location/location.service.mjs +0 -33
  72. package/esm2022/lib/inventory-common/location/shelf/shelf-form/shelf-form.component.mjs +0 -86
  73. package/esm2022/lib/inventory-common/location/shelf/shelf-form-button/shelf-form-button.component.mjs +0 -39
  74. package/esm2022/lib/inventory-common/location/shelf/shelf-list/shelf-list.component.mjs +0 -103
  75. package/esm2022/lib/inventory-common/location/shelf/shelf-routing.module.mjs +0 -24
  76. package/esm2022/lib/inventory-common/location/shelf/shelf.module.mjs +0 -22
  77. package/esm2022/lib/inventory-common/location/shelf/shelf.service.mjs +0 -20
  78. package/esm2022/lib/inventory-common/low-stock-report.service.mjs +0 -23
  79. package/esm2022/lib/inventory-common/material.module.mjs +0 -172
  80. package/esm2022/lib/inventory-common/measure/measure-form/measure-form.component.mjs +0 -63
  81. package/esm2022/lib/inventory-common/measure/measure-list/measure-list.component.mjs +0 -75
  82. package/esm2022/lib/inventory-common/measure/measure-routing.module.mjs +0 -24
  83. package/esm2022/lib/inventory-common/measure/measure.module.mjs +0 -43
  84. package/esm2022/lib/inventory-common/measure/measure.service.mjs +0 -18
  85. package/esm2022/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.component.mjs +0 -47
  86. package/esm2022/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.module.mjs +0 -22
  87. package/esm2022/lib/inventory-common/product/product-basic-info/product-basic-info.component.mjs +0 -58
  88. package/esm2022/lib/inventory-common/product/product-batch-update-form/product-batch-update-form.component.mjs +0 -54
  89. package/esm2022/lib/inventory-common/product/product-delete-button/product-delete-button.component.mjs +0 -54
  90. package/esm2022/lib/inventory-common/product/product-form/product-form.component.mjs +0 -258
  91. package/esm2022/lib/inventory-common/product/product-form-button/product-form-button.component.mjs +0 -15
  92. package/esm2022/lib/inventory-common/product/product-form.service.mjs +0 -17
  93. package/esm2022/lib/inventory-common/product/product-import-page/product-import-page.component.mjs +0 -66
  94. package/esm2022/lib/inventory-common/product/product-list/product-list.component.mjs +0 -177
  95. package/esm2022/lib/inventory-common/product/product-location/product-location-list/product-location-list.component.mjs +0 -61
  96. package/esm2022/lib/inventory-common/product/product-measure-form/product-measure-form.component.mjs +0 -101
  97. package/esm2022/lib/inventory-common/product/product-measures-list/product-measures-list.component.mjs +0 -145
  98. package/esm2022/lib/inventory-common/product/product-nav-bar/product-nav-bar.component.mjs +0 -12
  99. package/esm2022/lib/inventory-common/product/product-quick-search/product-quick-search.component.mjs +0 -69
  100. package/esm2022/lib/inventory-common/product/product-routing.module.mjs +0 -68
  101. package/esm2022/lib/inventory-common/product/product-search/product-search.component.mjs +0 -151
  102. package/esm2022/lib/inventory-common/product/product-search/product-search.module.mjs +0 -39
  103. package/esm2022/lib/inventory-common/product/product-statistics.service.mjs +0 -23
  104. package/esm2022/lib/inventory-common/product/product-summary-chart/product-summary-chart.component.mjs +0 -57
  105. package/esm2022/lib/inventory-common/product/product-summary-chart/product-summary-chart.module.mjs +0 -18
  106. package/esm2022/lib/inventory-common/product/product-summary.service.mjs +0 -20
  107. package/esm2022/lib/inventory-common/product/product-view-page/product-view-page.component.mjs +0 -98
  108. package/esm2022/lib/inventory-common/product/product.module.mjs +0 -145
  109. package/esm2022/lib/inventory-common/product/product.service.mjs +0 -20
  110. package/esm2022/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.mjs +0 -15
  111. package/esm2022/lib/inventory-common/product-batch.service.mjs +0 -20
  112. package/esm2022/lib/inventory-common/rating/rating-form/rating-form.component.mjs +0 -112
  113. package/esm2022/lib/inventory-common/rating/rating-form-button/rating-form-button.component.mjs +0 -45
  114. package/esm2022/lib/inventory-common/rating/rating-list/rating-list.component.mjs +0 -135
  115. package/esm2022/lib/inventory-common/rating/rating-routing.module.mjs +0 -23
  116. package/esm2022/lib/inventory-common/rating/rating.module.mjs +0 -22
  117. package/esm2022/lib/inventory-common/rating/rating.service.mjs +0 -18
  118. package/esm2022/lib/inventory-common/recipient/recipient-form/recipient-form.component.mjs +0 -59
  119. package/esm2022/lib/inventory-common/recipient/recipient-list/recipient-list.component.mjs +0 -49
  120. package/esm2022/lib/inventory-common/recipient/recipient-routing.module.mjs +0 -24
  121. package/esm2022/lib/inventory-common/recipient/recipient.module.mjs +0 -18
  122. package/esm2022/lib/inventory-common/recipient/recipient.service.mjs +0 -18
  123. package/esm2022/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.mjs +0 -152
  124. package/esm2022/lib/inventory-common/reports/low-stock-report/low-stock-report.component.mjs +0 -161
  125. package/esm2022/lib/inventory-common/reports/stock-issue-summary-report/stock-issue-product-data.service.mjs +0 -20
  126. package/esm2022/lib/inventory-common/reports/stock-issue-summary-report/stock-issue-summary-report.component.mjs +0 -98
  127. package/esm2022/lib/inventory-common/services/techlify-form-service.mjs +0 -11
  128. package/esm2022/lib/inventory-common/shared/export-to-excel-button/export-to-excel-button.component.mjs +0 -58
  129. package/esm2022/lib/inventory-common/shared.module.mjs +0 -67
  130. package/esm2022/lib/inventory-common/stock-allocation/stock-allocation-list/stock-allocation-list.component.mjs +0 -81
  131. package/esm2022/lib/inventory-common/stock-allocation/stock-allocation.service.mjs +0 -16
  132. package/esm2022/lib/inventory-common/stock-issue/stock-issue-form/stock-issue-form.component.mjs +0 -198
  133. package/esm2022/lib/inventory-common/stock-issue/stock-issue-import-page/stock-issue-import-page.component.mjs +0 -59
  134. package/esm2022/lib/inventory-common/stock-issue/stock-issue-list/stock-issue-list.component.mjs +0 -149
  135. package/esm2022/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.component.mjs +0 -91
  136. package/esm2022/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.module.mjs +0 -82
  137. 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
  138. package/esm2022/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form.component.mjs +0 -102
  139. package/esm2022/lib/inventory-common/stock-issue/stock-issue-product-view/stock-issue-product-view.component.mjs +0 -59
  140. package/esm2022/lib/inventory-common/stock-issue/stock-issue-product.service.mjs +0 -16
  141. package/esm2022/lib/inventory-common/stock-issue/stock-issue-products-list/stock-issue-products-list.component.mjs +0 -163
  142. package/esm2022/lib/inventory-common/stock-issue/stock-issue-routing.module.mjs +0 -51
  143. package/esm2022/lib/inventory-common/stock-issue/stock-issue-single-product-form/stock-issue-single-product-form.component.mjs +0 -201
  144. package/esm2022/lib/inventory-common/stock-issue/stock-issue-view/stock-issue-view.component.mjs +0 -64
  145. package/esm2022/lib/inventory-common/stock-issue/stock-issue.module.mjs +0 -47
  146. package/esm2022/lib/inventory-common/stock-issue/stock-issue.service.mjs +0 -18
  147. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.component.mjs +0 -226
  148. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-import-page/stock-receipt-import-page.component.mjs +0 -74
  149. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-list/stock-receipt-list.component.mjs +0 -152
  150. 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
  151. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form.component.mjs +0 -80
  152. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-list/stock-receipt-product-list.component.mjs +0 -149
  153. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product-view/stock-receipt-product-view.component.mjs +0 -59
  154. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-product.service.mjs +0 -18
  155. 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
  156. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.mjs +0 -54
  157. package/esm2022/lib/inventory-common/stock-receipts/stock-receipt.service.mjs +0 -18
  158. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-page/stock-receipts-page.component.mjs +0 -70
  159. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts-routing.module.mjs +0 -52
  160. package/esm2022/lib/inventory-common/stock-receipts/stock-receipts.module.mjs +0 -104
  161. package/esm2022/lib/inventory-common/stock-summary.service.mjs +0 -26
  162. package/esm2022/lib/inventory-common/stock-transfer/stock-transfer-form/stock-transfer-form.component.mjs +0 -98
  163. package/esm2022/lib/inventory-common/stock-transfer/stock-transfer-list/stock-transfer-list.component.mjs +0 -139
  164. package/esm2022/lib/inventory-common/stock-transfer/stock-transfer.service.mjs +0 -18
  165. package/esm2022/lib/inventory-common/supplier/payee-selector/payee-selector/payee-selector.component.mjs +0 -59
  166. package/esm2022/lib/inventory-common/supplier/payee-selector/payee-selector.module.mjs +0 -21
  167. package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-form/purchase-order-form.component.mjs +0 -156
  168. package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-listing/purchase-order-listing.component.mjs +0 -67
  169. package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product-form/purchase-order-product-form.component.mjs +0 -74
  170. 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
  171. package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product-list.component.mjs +0 -61
  172. package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product.service.mjs +0 -20
  173. package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order-view/purchase-order-view.component.mjs +0 -64
  174. package/esm2022/lib/inventory-common/supplier/purchase-order/purchase-order.service.mjs +0 -20
  175. package/esm2022/lib/inventory-common/supplier/supplier-branch-delete-button/supplier-branch-delete-button.component.mjs +0 -63
  176. package/esm2022/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form-button/supplier-branch-form-button.component.mjs +0 -47
  177. package/esm2022/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form.component.mjs +0 -79
  178. package/esm2022/lib/inventory-common/supplier/supplier-branch.service.mjs +0 -18
  179. package/esm2022/lib/inventory-common/supplier/supplier-branches-list/supplier-branches-list.component.mjs +0 -79
  180. package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form.component.mjs +0 -94
  181. package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form.service.mjs +0 -17
  182. package/esm2022/lib/inventory-common/supplier/supplier-information/supplier-information.component.mjs +0 -73
  183. package/esm2022/lib/inventory-common/supplier/supplier-list/supplier-list.component.mjs +0 -68
  184. package/esm2022/lib/inventory-common/supplier/supplier-routing.module.mjs +0 -51
  185. package/esm2022/lib/inventory-common/supplier/supplier-type.service.mjs +0 -25
  186. package/esm2022/lib/inventory-common/supplier/supplier-view/supplier-view.component.mjs +0 -70
  187. package/esm2022/lib/inventory-common/supplier/supplier.component.mjs +0 -20
  188. package/esm2022/lib/inventory-common/supplier/supplier.module.mjs +0 -64
  189. package/esm2022/lib/inventory-common/supplier/supplier.service.mjs +0 -20
  190. package/esm2022/lib/inventory-common/techlify-filter/techlify-filter.component.mjs +0 -116
  191. package/esm2022/lib/inventory-common/techlify-filter/techlify-filter.module.mjs +0 -42
  192. package/esm2022/public-api.mjs +0 -71
  193. package/esm2022/techlify-inventory-common.mjs +0 -5
  194. package/fesm2022/techlify-inventory-common-category.module-CGzFP2S_.mjs +0 -288
  195. package/fesm2022/techlify-inventory-common-category.module-CGzFP2S_.mjs.map +0 -1
  196. package/fesm2022/techlify-inventory-common-purchase-order-view.component-5mLg0IvH.mjs +0 -227
  197. package/fesm2022/techlify-inventory-common-purchase-order-view.component-5mLg0IvH.mjs.map +0 -1
  198. package/fesm2022/techlify-inventory-common-recipient.module-DLoP6xI3.mjs +0 -147
  199. package/fesm2022/techlify-inventory-common-recipient.module-DLoP6xI3.mjs.map +0 -1
  200. package/fesm2022/techlify-inventory-common-stock-issue-form.component-MYEKRteU.mjs +0 -199
  201. package/fesm2022/techlify-inventory-common-stock-issue-form.component-MYEKRteU.mjs.map +0 -1
  202. package/fesm2022/techlify-inventory-common-stock-issue-product-view.component-C-c83FEn.mjs +0 -60
  203. package/fesm2022/techlify-inventory-common-stock-issue-product-view.component-C-c83FEn.mjs.map +0 -1
  204. package/fesm2022/techlify-inventory-common-stock-issue-view.component-Co7hXpDq.mjs +0 -66
  205. package/fesm2022/techlify-inventory-common-stock-issue-view.component-Co7hXpDq.mjs.map +0 -1
  206. package/fesm2022/techlify-inventory-common-techlify-inventory-common-CWxzlvVi.mjs +0 -7214
  207. package/fesm2022/techlify-inventory-common-techlify-inventory-common-CWxzlvVi.mjs.map +0 -1
  208. package/index.d.ts +0 -5
  209. package/lib/inventory-common/category/category-form/category-form.component.d.ts +0 -18
  210. package/lib/inventory-common/category/category-form-button/category-form-button.component.d.ts +0 -13
  211. package/lib/inventory-common/category/category-list-page/category-list-page.component.d.ts +0 -20
  212. package/lib/inventory-common/category/category-routing.module.d.ts +0 -7
  213. package/lib/inventory-common/category/category-view/category-view.component.d.ts +0 -16
  214. package/lib/inventory-common/category/category.module.d.ts +0 -20
  215. package/lib/inventory-common/category/category.service.d.ts +0 -7
  216. package/lib/inventory-common/incident/incident-form/incident-form.component.d.ts +0 -19
  217. package/lib/inventory-common/incident/incident-form-button/incident-form-button.component.d.ts +0 -15
  218. package/lib/inventory-common/incident/incident-list/incident-list.component.d.ts +0 -22
  219. package/lib/inventory-common/incident/incident-routing.module.d.ts +0 -7
  220. package/lib/inventory-common/incident/incident.module.d.ts +0 -8
  221. package/lib/inventory-common/incident/incident.service.d.ts +0 -7
  222. package/lib/inventory-common/inventory-common-routing.module.d.ts +0 -7
  223. package/lib/inventory-common/inventory-common.module.d.ts +0 -14
  224. package/lib/inventory-common/inventory-dashboard-page/inventory-dashboard-page.component.d.ts +0 -14
  225. package/lib/inventory-common/inventory-value-report.service.d.ts +0 -9
  226. package/lib/inventory-common/location/location-form/location-form.component.d.ts +0 -18
  227. package/lib/inventory-common/location/location-form-button/location-form-button.component.d.ts +0 -13
  228. package/lib/inventory-common/location/location-information/location-information.component.d.ts +0 -12
  229. package/lib/inventory-common/location/location-list/location-list.component.d.ts +0 -18
  230. package/lib/inventory-common/location/location-product-statistics/location-product-statistics.component.d.ts +0 -18
  231. package/lib/inventory-common/location/location-routing.module.d.ts +0 -7
  232. package/lib/inventory-common/location/location-status-changer/location-status-changer.component.d.ts +0 -17
  233. package/lib/inventory-common/location/location-view/location-view.component.d.ts +0 -16
  234. package/lib/inventory-common/location/location.module.d.ts +0 -8
  235. package/lib/inventory-common/location/location.service.d.ts +0 -15
  236. package/lib/inventory-common/location/shelf/shelf-form/shelf-form.component.d.ts +0 -18
  237. package/lib/inventory-common/location/shelf/shelf-form-button/shelf-form-button.component.d.ts +0 -13
  238. package/lib/inventory-common/location/shelf/shelf-list/shelf-list.component.d.ts +0 -19
  239. package/lib/inventory-common/location/shelf/shelf-routing.module.d.ts +0 -7
  240. package/lib/inventory-common/location/shelf/shelf.module.d.ts +0 -8
  241. package/lib/inventory-common/location/shelf/shelf.service.d.ts +0 -8
  242. package/lib/inventory-common/low-stock-report.service.d.ts +0 -10
  243. package/lib/inventory-common/material.module.d.ts +0 -40
  244. package/lib/inventory-common/measure/measure-form/measure-form.component.d.ts +0 -21
  245. package/lib/inventory-common/measure/measure-list/measure-list.component.d.ts +0 -19
  246. package/lib/inventory-common/measure/measure-routing.module.d.ts +0 -7
  247. package/lib/inventory-common/measure/measure.module.d.ts +0 -14
  248. package/lib/inventory-common/measure/measure.service.d.ts +0 -7
  249. package/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.component.d.ts +0 -13
  250. package/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.module.d.ts +0 -12
  251. package/lib/inventory-common/product/product-basic-info/product-basic-info.component.d.ts +0 -21
  252. package/lib/inventory-common/product/product-batch-update-form/product-batch-update-form.component.d.ts +0 -17
  253. package/lib/inventory-common/product/product-delete-button/product-delete-button.component.d.ts +0 -26
  254. package/lib/inventory-common/product/product-form/product-form.component.d.ts +0 -46
  255. package/lib/inventory-common/product/product-form-button/product-form-button.component.d.ts +0 -7
  256. package/lib/inventory-common/product/product-form.service.d.ts +0 -7
  257. package/lib/inventory-common/product/product-import-page/product-import-page.component.d.ts +0 -10
  258. package/lib/inventory-common/product/product-list/product-list.component.d.ts +0 -34
  259. package/lib/inventory-common/product/product-location/product-location-list/product-location-list.component.d.ts +0 -18
  260. package/lib/inventory-common/product/product-measure-form/product-measure-form.component.d.ts +0 -33
  261. package/lib/inventory-common/product/product-measures-list/product-measures-list.component.d.ts +0 -43
  262. package/lib/inventory-common/product/product-nav-bar/product-nav-bar.component.d.ts +0 -5
  263. package/lib/inventory-common/product/product-quick-search/product-quick-search.component.d.ts +0 -15
  264. package/lib/inventory-common/product/product-routing.module.d.ts +0 -7
  265. package/lib/inventory-common/product/product-search/product-search.component.d.ts +0 -48
  266. package/lib/inventory-common/product/product-search/product-search.module.d.ts +0 -13
  267. package/lib/inventory-common/product/product-statistics.service.d.ts +0 -9
  268. package/lib/inventory-common/product/product-summary-chart/product-summary-chart.component.d.ts +0 -15
  269. package/lib/inventory-common/product/product-summary-chart/product-summary-chart.module.d.ts +0 -10
  270. package/lib/inventory-common/product/product-summary.service.d.ts +0 -8
  271. package/lib/inventory-common/product/product-view-page/product-view-page.component.d.ts +0 -44
  272. package/lib/inventory-common/product/product.module.d.ts +0 -31
  273. package/lib/inventory-common/product/product.service.d.ts +0 -8
  274. package/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.d.ts +0 -6
  275. package/lib/inventory-common/product-batch.service.d.ts +0 -8
  276. package/lib/inventory-common/rating/rating-form/rating-form.component.d.ts +0 -19
  277. package/lib/inventory-common/rating/rating-form-button/rating-form-button.component.d.ts +0 -15
  278. package/lib/inventory-common/rating/rating-list/rating-list.component.d.ts +0 -22
  279. package/lib/inventory-common/rating/rating-routing.module.d.ts +0 -7
  280. package/lib/inventory-common/rating/rating.module.d.ts +0 -8
  281. package/lib/inventory-common/rating/rating.service.d.ts +0 -7
  282. package/lib/inventory-common/recipient/recipient-form/recipient-form.component.d.ts +0 -21
  283. package/lib/inventory-common/recipient/recipient-list/recipient-list.component.d.ts +0 -16
  284. package/lib/inventory-common/recipient/recipient-routing.module.d.ts +0 -7
  285. package/lib/inventory-common/recipient/recipient.module.d.ts +0 -9
  286. package/lib/inventory-common/recipient/recipient.service.d.ts +0 -7
  287. package/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.d.ts +0 -27
  288. package/lib/inventory-common/reports/low-stock-report/low-stock-report.component.d.ts +0 -25
  289. package/lib/inventory-common/reports/stock-issue-summary-report/stock-issue-product-data.service.d.ts +0 -8
  290. package/lib/inventory-common/reports/stock-issue-summary-report/stock-issue-summary-report.component.d.ts +0 -25
  291. package/lib/inventory-common/services/techlify-form-service.d.ts +0 -5
  292. package/lib/inventory-common/shared/export-to-excel-button/export-to-excel-button.component.d.ts +0 -12
  293. package/lib/inventory-common/shared.module.d.ts +0 -13
  294. package/lib/inventory-common/stock-allocation/stock-allocation-list/stock-allocation-list.component.d.ts +0 -19
  295. package/lib/inventory-common/stock-allocation/stock-allocation.service.d.ts +0 -7
  296. package/lib/inventory-common/stock-issue/stock-issue-form/stock-issue-form.component.d.ts +0 -45
  297. package/lib/inventory-common/stock-issue/stock-issue-import-page/stock-issue-import-page.component.d.ts +0 -10
  298. package/lib/inventory-common/stock-issue/stock-issue-list/stock-issue-list.component.d.ts +0 -33
  299. package/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.component.d.ts +0 -30
  300. package/lib/inventory-common/stock-issue/stock-issue-page/stock-issue-page.module.d.ts +0 -18
  301. 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
  302. package/lib/inventory-common/stock-issue/stock-issue-product-form/stock-issue-product-form.component.d.ts +0 -21
  303. package/lib/inventory-common/stock-issue/stock-issue-product-view/stock-issue-product-view.component.d.ts +0 -19
  304. package/lib/inventory-common/stock-issue/stock-issue-product.service.d.ts +0 -7
  305. package/lib/inventory-common/stock-issue/stock-issue-products-list/stock-issue-products-list.component.d.ts +0 -40
  306. package/lib/inventory-common/stock-issue/stock-issue-routing.module.d.ts +0 -7
  307. package/lib/inventory-common/stock-issue/stock-issue-single-product-form/stock-issue-single-product-form.component.d.ts +0 -42
  308. package/lib/inventory-common/stock-issue/stock-issue-view/stock-issue-view.component.d.ts +0 -19
  309. package/lib/inventory-common/stock-issue/stock-issue.module.d.ts +0 -14
  310. package/lib/inventory-common/stock-issue/stock-issue.service.d.ts +0 -7
  311. package/lib/inventory-common/stock-receipts/stock-receipt-form/stock-receipt-form.component.d.ts +0 -48
  312. package/lib/inventory-common/stock-receipts/stock-receipt-import-page/stock-receipt-import-page.component.d.ts +0 -10
  313. package/lib/inventory-common/stock-receipts/stock-receipt-list/stock-receipt-list.component.d.ts +0 -30
  314. 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
  315. package/lib/inventory-common/stock-receipts/stock-receipt-product-form/stock-receipt-product-form.component.d.ts +0 -17
  316. package/lib/inventory-common/stock-receipts/stock-receipt-product-list/stock-receipt-product-list.component.d.ts +0 -31
  317. package/lib/inventory-common/stock-receipts/stock-receipt-product-view/stock-receipt-product-view.component.d.ts +0 -19
  318. package/lib/inventory-common/stock-receipts/stock-receipt-product.service.d.ts +0 -7
  319. 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
  320. package/lib/inventory-common/stock-receipts/stock-receipt-view/stock-receipt-view.component.d.ts +0 -19
  321. package/lib/inventory-common/stock-receipts/stock-receipt.service.d.ts +0 -7
  322. package/lib/inventory-common/stock-receipts/stock-receipts-page/stock-receipts-page.component.d.ts +0 -21
  323. package/lib/inventory-common/stock-receipts/stock-receipts-routing.module.d.ts +0 -7
  324. package/lib/inventory-common/stock-receipts/stock-receipts.module.d.ts +0 -22
  325. package/lib/inventory-common/stock-summary.service.d.ts +0 -14
  326. package/lib/inventory-common/stock-transfer/stock-transfer-form/stock-transfer-form.component.d.ts +0 -19
  327. package/lib/inventory-common/stock-transfer/stock-transfer-list/stock-transfer-list.component.d.ts +0 -28
  328. package/lib/inventory-common/stock-transfer/stock-transfer.service.d.ts +0 -7
  329. package/lib/inventory-common/supplier/payee-selector/payee-selector/payee-selector.component.d.ts +0 -20
  330. package/lib/inventory-common/supplier/payee-selector/payee-selector.module.d.ts +0 -11
  331. package/lib/inventory-common/supplier/purchase-order/purchase-order-form/purchase-order-form.component.d.ts +0 -30
  332. package/lib/inventory-common/supplier/purchase-order/purchase-order-listing/purchase-order-listing.component.d.ts +0 -16
  333. package/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product-form/purchase-order-product-form.component.d.ts +0 -16
  334. 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
  335. package/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product-list.component.d.ts +0 -15
  336. package/lib/inventory-common/supplier/purchase-order/purchase-order-product-list/purchase-order-product.service.d.ts +0 -8
  337. package/lib/inventory-common/supplier/purchase-order/purchase-order-view/purchase-order-view.component.d.ts +0 -19
  338. package/lib/inventory-common/supplier/purchase-order/purchase-order.service.d.ts +0 -8
  339. package/lib/inventory-common/supplier/supplier-branch-delete-button/supplier-branch-delete-button.component.d.ts +0 -18
  340. package/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form-button/supplier-branch-form-button.component.d.ts +0 -13
  341. package/lib/inventory-common/supplier/supplier-branch-form/supplier-branch-form.component.d.ts +0 -22
  342. package/lib/inventory-common/supplier/supplier-branch.service.d.ts +0 -7
  343. package/lib/inventory-common/supplier/supplier-branches-list/supplier-branches-list.component.d.ts +0 -18
  344. package/lib/inventory-common/supplier/supplier-form/supplier-form.component.d.ts +0 -25
  345. package/lib/inventory-common/supplier/supplier-form/supplier-form.service.d.ts +0 -7
  346. package/lib/inventory-common/supplier/supplier-information/supplier-information.component.d.ts +0 -18
  347. package/lib/inventory-common/supplier/supplier-list/supplier-list.component.d.ts +0 -20
  348. package/lib/inventory-common/supplier/supplier-routing.module.d.ts +0 -7
  349. package/lib/inventory-common/supplier/supplier-type.service.d.ts +0 -13
  350. package/lib/inventory-common/supplier/supplier-view/supplier-view.component.d.ts +0 -20
  351. package/lib/inventory-common/supplier/supplier.component.d.ts +0 -10
  352. package/lib/inventory-common/supplier/supplier.module.d.ts +0 -20
  353. package/lib/inventory-common/supplier/supplier.service.d.ts +0 -8
  354. package/lib/inventory-common/techlify-filter/techlify-filter.component.d.ts +0 -31
  355. package/lib/inventory-common/techlify-filter/techlify-filter.module.d.ts +0 -12
  356. package/public-api.d.ts +0 -67
@@ -0,0 +1,464 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, NgModule, Output } from "@angular/core";
3
+ import * as i2 from "@angular/router";
4
+ import moment from "moment";
5
+ import * as i1 from "ngx-techlify-core";
6
+ import { MaterialModule, SearchableSelectorModule, TimelineFilterModule } from "ngx-techlify-core";
7
+ import * as i7 from "@angular/material/icon";
8
+ import * as i3 from "@angular/forms";
9
+ import { ReactiveFormsModule } from "@angular/forms";
10
+ import { debounceTime, distinctUntilChanged } from "rxjs";
11
+ import * as i5 from "@angular/material/button";
12
+ import * as i6 from "@angular/material/form-field";
13
+ import * as i8 from "@angular/material/input";
14
+ import * as i4 from "@angular/material/autocomplete";
15
+ import * as i9 from "@angular/material/select";
16
+ import * as i10 from "@angular/material/button-toggle";
17
+ import { CommonModule } from "@angular/common";
18
+ import * as i11 from "ngx-permissions";
19
+ import { NgxPermissionsModule } from "ngx-permissions";
20
+ var TechlifyFilterComponent = class TechlifyFilterComponent {
21
+ requestHelperService;
22
+ activatedRoute;
23
+ filterForm;
24
+ filterConfig;
25
+ filterUpdated = new EventEmitter();
26
+ constructor(requestHelperService, activatedRoute) {
27
+ this.requestHelperService = requestHelperService;
28
+ this.activatedRoute = activatedRoute;
29
+ }
30
+ ngOnInit() {
31
+ this.filterForm.valueChanges.subscribe({ next: (value) => {
32
+ const params = this.requestHelperService.convertToFormData(value);
33
+ this.requestHelperService.updateQueryParams(params);
34
+ } });
35
+ this.requestHelperService.updateFormWithQueryParams(this.filterForm, {
36
+ duration: { number: true },
37
+ expiry_duration: { number: true },
38
+ payment_method_ids: { multiple: true },
39
+ payment_account_ids: { multiple: true },
40
+ project_ids: { multiple: true },
41
+ invoice_status_ids: { multiple: true },
42
+ customer_ids: { multiple: true },
43
+ cost_category_ids: { multiple: true },
44
+ team_member_ids: { multiple: true },
45
+ task_status_ids: { multiple: true },
46
+ asset_account_ids: { multiple: true },
47
+ depreciation_method_ids: { multiple: true },
48
+ depreciation_expense_account_ids: { multiple: true },
49
+ fixed_asset_type_ids: { multiple: true },
50
+ fixed_asset_document_type_ids: { multiple: true },
51
+ service_center_ids: { multiple: true },
52
+ fixed_asset_maintenance_status_ids: { multiple: true },
53
+ milestone_ids: { multiple: true },
54
+ product_ids: { multiple: true },
55
+ supplier_ids: { multiple: true },
56
+ measure_ids: { multiple: true },
57
+ type_ids: { multiple: true },
58
+ fixed_asset_ids: { multiple: true }
59
+ });
60
+ this.activatedRoute.queryParams.pipe(debounceTime(800), distinctUntilChanged()).subscribe((val) => {
61
+ this.filterUpdated.emit(this.filterForm.value);
62
+ });
63
+ }
64
+ resetField(field) {
65
+ this.filterForm.get(field)?.setValue("");
66
+ }
67
+ onDurationChange(timelineValue) {
68
+ let { date_to, date_from } = timelineValue;
69
+ this.filterForm.patchValue({
70
+ date_from: date_from ? moment(date_from).format("YYYY-MM-DD") : "",
71
+ date_to: date_to ? moment(date_to).format("YYYY-MM-DD") : ""
72
+ }, { emitEvent: false });
73
+ }
74
+ onExpiryDurationChange(timelineValue) {
75
+ let { date_to, date_from } = timelineValue;
76
+ this.filterForm.patchValue({
77
+ expiry_date_from: date_from ? moment(date_from).format("YYYY-MM-DD") : "",
78
+ expiry_date_to: date_to ? moment(date_to).format("YYYY-MM-DD") : ""
79
+ });
80
+ }
81
+ getFilterConfig(attribute, field) {
82
+ if (!this.filterConfig) return "";
83
+ return this.filterConfig[field] && this.filterConfig[field][attribute] !== void 0 ? this.filterConfig[field][attribute] : "";
84
+ }
85
+ static ɵfac = i0.ɵɵngDeclareFactory({
86
+ minVersion: "12.0.0",
87
+ version: "22.2.5",
88
+ ngImport: i0,
89
+ type: TechlifyFilterComponent,
90
+ deps: [{ token: i1.RequestHelperService }, { token: i2.ActivatedRoute }],
91
+ target: i0.ɵɵFactoryTarget.Component
92
+ });
93
+ static ɵcmp = i0.ɵɵngDeclareComponent({
94
+ minVersion: "17.0.0",
95
+ version: "22.2.5",
96
+ type: TechlifyFilterComponent,
97
+ isStandalone: false,
98
+ selector: "app-techlify-filter",
99
+ inputs: {
100
+ filterForm: "filterForm",
101
+ filterConfig: "filterConfig"
102
+ },
103
+ outputs: { filterUpdated: "filterUpdated" },
104
+ ngImport: i0,
105
+ template: "<form [formGroup]=\"filterForm\" class=\"d-flex align-items-center gap-2\">\n @if (filterForm.get('search')) {\n <mat-form-field [appearance]=\"getFilterConfig('appearance', 'search')\">\n <mat-label>Search</mat-label>\n <input formControlName=\"search\" matInput [placeholder]=\"getFilterConfig('placeholder', 'search')\" />\n @if (filterForm.value?.search) {\n <button mat-icon-button matSuffix (click)=\"resetField('search')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm?.get('duration')) {\n <app-timeline-filter\n appearance=\"fill\"\n [labelText]=\"getFilterConfig('label', 'duration')\"\n [appearance]=\"getFilterConfig('appearance', 'duration')\"\n formControlName=\"duration\"\n (selectionChange)=\"onDurationChange($event)\"\n [showClearButton]=\"true\"\n [dateFrom]=\"$safeNavigationMigration(filterForm.value?.date_from)\"\n [dateTo]=\"$safeNavigationMigration(filterForm.value?.date_to)\"\n ></app-timeline-filter>\n } @if (filterForm.get('payment_method_ids')) {\n <mat-form-field>\n <mat-label>Payment Method</mat-label>\n <app-searchable-selector\n formControlName=\"payment_method_ids\"\n apiUrl=\"api/payment-methods\"\n [multiple]=\"true\"\n [enableSearch]=\"false\"\n ></app-searchable-selector>\n @if (filterForm.value?.payment_method_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('payment_method_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('payment_account_ids')) {\n <mat-form-field *ngxPermissionsOnly=\"['accountingcommon_account.read']\">\n <mat-label>{{ getFilterConfig('label', 'payment_account_ids') || 'Payment Account' }}</mat-label>\n <app-searchable-selector\n formControlName=\"payment_account_ids\"\n [apiUrl]=\"getFilterConfig('apiUrl', 'payment_account_ids') || 'api/accounts'\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.payment_account_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('payment_account_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('invoice_status_ids')) {\n <mat-form-field>\n <mat-label>Invoice Status</mat-label>\n <app-searchable-selector\n formControlName=\"invoice_status_ids\"\n apiUrl=\"api/invoice-statuses\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.invoice_status_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('invoice_status_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('customer_ids')) {\n <mat-form-field *ngxPermissionsOnly=\"['customer_read']\">\n <mat-label>Customer</mat-label>\n <app-searchable-selector\n formControlName=\"customer_ids\"\n titleField=\"name\"\n apiUrl=\"api/customers\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.customer_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('customer_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('project_ids') && getFilterConfig('disabled',\n 'project_ids') === false) {\n <mat-form-field *ngxPermissionsOnly=\"['project.read']\">\n <mat-label>Project</mat-label>\n <app-searchable-selector\n formControlName=\"project_ids\"\n apiUrl=\"api/projects\"\n titleField=\"project_name\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.project_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('project_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('product_ids')) {\n <mat-form-field>\n <mat-label>Product</mat-label>\n <app-searchable-selector\n formControlName=\"product_ids\"\n apiUrl=\"api/products\"\n titleField=\"name\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.product_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('product_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('measure_ids')) {\n <mat-form-field>\n <mat-label>Measure</mat-label>\n <app-searchable-selector\n formControlName=\"measure_ids\"\n apiUrl=\"api/product-measures\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.measure_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('measure_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n }\n\n <ng-container *ngxPermissionsOnly=\"['supplier.read']\">\n @if (filterForm.get('supplier_ids')) {\n <mat-form-field [appearance]=\"getFilterConfig('appearance', 'supplier_ids')\">\n <mat-label>Supplier</mat-label>\n <app-searchable-selector\n formControlName=\"supplier_ids\"\n titleField=\"company_name\"\n apiUrl=\"api/suppliers\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.supplier_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('supplier_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n }\n </ng-container>\n\n @if (filterForm?.get('expiry_duration')) {\n <app-timeline-filter\n appearance=\"fill\"\n [labelText]=\"getFilterConfig('label', 'expiry_duration')\"\n formControlName=\"expiry_duration\"\n (selectionChange)=\"onExpiryDurationChange($event)\"\n [showClearButton]=\"true\"\n [dateFrom]=\"$safeNavigationMigration(filterForm.value?.expiry_date_from)\"\n [dateTo]=\"$safeNavigationMigration(filterForm.value?.expiry_date_to)\"\n ></app-timeline-filter>\n } @if (filterForm.get('cost_category_ids')) {\n <mat-form-field style=\"width: 150px\">\n <mat-label>Cost Category</mat-label>\n <app-searchable-selector\n formControlName=\"cost_category_ids\"\n apiUrl=\"api/cost-code-categories\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.cost_category_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('cost_category_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('milestone_ids')) {\n <mat-form-field style=\"width: 150px\">\n <mat-label>Milestone</mat-label>\n <app-searchable-selector\n formControlName=\"milestone_ids\"\n apiUrl=\"api/milestones\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.milestone_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('milestone_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('team_member_ids')) {\n <mat-form-field>\n <mat-label>Assignee</mat-label>\n <app-searchable-selector apiUrl=\"api/persons\" formControlName=\"team_member_ids\" titleField=\"name\" [multiple]=\"true\">\n </app-searchable-selector>\n @if (filterForm.value?.team_member_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('team_member_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_type_ids')) {\n <mat-form-field>\n <mat-label>Type</mat-label>\n <app-searchable-selector\n formControlName=\"fixed_asset_type_ids\"\n apiUrl=\"api/accounting-plus/fixed-asset-types\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.fixed_asset_type_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('fixed_asset_type_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_document_type_ids')) {\n <mat-form-field>\n <mat-label>Type</mat-label>\n <app-searchable-selector\n formControlName=\"fixed_asset_document_type_ids\"\n apiUrl=\"api/accounting-plus/fixed-asset-document-types\"\n [multiple]=\"true\"\n [enableSearch]=\"getFilterConfig('enableSearch', 'fixed_asset_document_type_ids')\"\n ></app-searchable-selector>\n @if (filterForm.value?.fixed_asset_document_type_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('fixed_asset_document_type_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_document_status')) {\n <div>\n @if (getFilterConfig('showLabel', 'fixed_asset_document_status')) {\n <small class=\"mr-2 text-secondary\">\n Status\n </small>\n }\n <mat-button-toggle-group formControlName=\"fixed_asset_document_status\" [multiple]=\"false\">\n <mat-button-toggle value=\"all\">All</mat-button-toggle>\n <mat-button-toggle value=\"active\">Active</mat-button-toggle>\n <mat-button-toggle value=\"expired\">Expired</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n } @if (filterForm.get('asset_account_ids')) {\n <mat-form-field>\n <mat-label>Asset Account</mat-label>\n <app-searchable-selector\n formControlName=\"asset_account_ids\"\n apiUrl=\"api/accounts\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.asset_account_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('asset_account_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('depreciation_expense_account_ids')) {\n <mat-form-field>\n <mat-label>Depreciation Expense Account</mat-label>\n <app-searchable-selector\n [multiple]=\"true\"\n apiUrl=\"api/accounts\"\n formControlName=\"depreciation_expense_account_ids\"\n ></app-searchable-selector>\n @if (filterForm.value?.depreciation_expense_account_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('depreciation_expense_account_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('depreciation_method_ids')) {\n <mat-form-field>\n <mat-label>Depreciation Method</mat-label>\n <app-searchable-selector\n formControlName=\"depreciation_method_ids\"\n apiUrl=\"api/accounting-plus/depreciation-methods\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.depreciation_method_ids) {\n <button\n (click)=\"resetField('depreciation_method_ids')\"\n mat-icon-button\n matSuffix\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('task_status_ids')) {\n <mat-form-field style=\"width: 150px\">\n <mat-label>Status</mat-label>\n <app-searchable-selector\n apiUrl=\"api/task-statuses\"\n formControlName=\"task_status_ids\"\n titleField=\"title\"\n [multiple]=\"true\"\n [enableSearch]=\"false\"\n >\n </app-searchable-selector>\n @if (filterForm.value?.task_status_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('task_status_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('service_center_ids')) {\n <mat-form-field>\n <mat-label>Service Center</mat-label>\n <app-searchable-selector\n apiUrl=\"api/accounting-plus/service-centers\"\n formControlName=\"service_center_ids\"\n titleField=\"name\"\n [enableSearch]=\"false\"\n [multiple]=\"true\"\n >\n </app-searchable-selector>\n @if (filterForm.value?.service_center_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('service_center_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_maintenance_status_ids')) {\n <mat-form-field>\n <mat-label>Status</mat-label>\n <app-searchable-selector\n apiUrl=\"api/accounting-plus/fixed-asset-maintenance-statuses\"\n formControlName=\"fixed_asset_maintenance_status_ids\"\n [multiple]=\"true\"\n [enableSearch]=\"false\"\n >\n </app-searchable-selector>\n @if (filterForm.value?.fixed_asset_maintenance_status_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('fixed_asset_maintenance_status_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('group_by')) {\n <mat-form-field>\n <mat-label>Group By</mat-label>\n <mat-select formControlName=\"group_by\">\n <mat-option value=\"week\">Week</mat-option>\n <mat-option value=\"month\">Month</mat-option>\n <mat-option value=\"year\">Year</mat-option>\n </mat-select>\n </mat-form-field>\n }\n</form>\n",
106
+ styles: [""],
107
+ dependencies: [
108
+ {
109
+ kind: "directive",
110
+ type: i3.ɵNgNoValidate,
111
+ selector: "form:not([ngNoForm]):not([ngNativeValidate])"
112
+ },
113
+ {
114
+ kind: "directive",
115
+ type: i3.DefaultValueAccessor,
116
+ selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]"
117
+ },
118
+ {
119
+ kind: "directive",
120
+ type: i3.NgControlStatus,
121
+ selector: "[formControlName],[ngModel],[formControl]"
122
+ },
123
+ {
124
+ kind: "directive",
125
+ type: i3.NgControlStatusGroup,
126
+ selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]"
127
+ },
128
+ {
129
+ kind: "directive",
130
+ type: i3.FormGroupDirective,
131
+ selector: "[formGroup]",
132
+ inputs: ["formGroup"],
133
+ outputs: ["ngSubmit"],
134
+ exportAs: ["ngForm"]
135
+ },
136
+ {
137
+ kind: "directive",
138
+ type: i3.FormControlName,
139
+ selector: "[formControlName]",
140
+ inputs: [
141
+ "formControlName",
142
+ "disabled",
143
+ "ngModel"
144
+ ],
145
+ outputs: ["ngModelChange"]
146
+ },
147
+ {
148
+ kind: "component",
149
+ type: i1.SearchableSelectorComponent,
150
+ selector: "app-searchable-selector",
151
+ inputs: [
152
+ "valueField",
153
+ "titleField",
154
+ "subtitleField",
155
+ "apiUrl",
156
+ "multiple",
157
+ "selectedValue",
158
+ "enableSearch",
159
+ "add",
160
+ "addConfig",
161
+ "edit",
162
+ "editConfig",
163
+ "sort",
164
+ "sortBy",
165
+ "searchField",
166
+ "itemComponent",
167
+ "items",
168
+ "apiDataProperty",
169
+ "cache",
170
+ "perPage",
171
+ "inDataSearch",
172
+ "panelWidth",
173
+ "focusSearchOnOpen",
174
+ "isEmitInitialEvent",
175
+ "required",
176
+ "disabled",
177
+ "value"
178
+ ],
179
+ outputs: [
180
+ "selectedValueChange",
181
+ "selectionChange",
182
+ "itemsChange",
183
+ "isItemsEmpty"
184
+ ]
185
+ },
186
+ {
187
+ kind: "component",
188
+ type: i1.TimelineFilterComponent,
189
+ selector: "app-timeline-filter",
190
+ inputs: [
191
+ "defaultValue",
192
+ "required",
193
+ "disabled",
194
+ "value",
195
+ "timelines",
196
+ "dateFrom",
197
+ "dateTo",
198
+ "appearance",
199
+ "showClearButton",
200
+ "form",
201
+ "labelText"
202
+ ],
203
+ outputs: ["selectionChange"]
204
+ },
205
+ {
206
+ kind: "component",
207
+ type: i4.MatOption,
208
+ selector: "mat-option",
209
+ inputs: [
210
+ "value",
211
+ "id",
212
+ "disabled"
213
+ ],
214
+ outputs: ["onSelectionChange"],
215
+ exportAs: ["matOption"]
216
+ },
217
+ {
218
+ kind: "component",
219
+ type: i5.MatIconButton,
220
+ selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]",
221
+ exportAs: ["matButton", "matAnchor"]
222
+ },
223
+ {
224
+ kind: "component",
225
+ type: i6.MatFormField,
226
+ selector: "mat-form-field",
227
+ inputs: [
228
+ "hideRequiredMarker",
229
+ "color",
230
+ "floatLabel",
231
+ "appearance",
232
+ "subscriptSizing",
233
+ "hintLabel"
234
+ ],
235
+ exportAs: ["matFormField"]
236
+ },
237
+ {
238
+ kind: "directive",
239
+ type: i6.MatLabel,
240
+ selector: "mat-label"
241
+ },
242
+ {
243
+ kind: "directive",
244
+ type: i6.MatSuffix,
245
+ selector: "[matSuffix], [matIconSuffix], [matTextSuffix]",
246
+ inputs: ["matTextSuffix"]
247
+ },
248
+ {
249
+ kind: "component",
250
+ type: i7.MatIcon,
251
+ selector: "mat-icon",
252
+ inputs: [
253
+ "color",
254
+ "inline",
255
+ "svgIcon",
256
+ "fontSet",
257
+ "fontIcon"
258
+ ],
259
+ exportAs: ["matIcon"]
260
+ },
261
+ {
262
+ kind: "directive",
263
+ type: i8.MatInput,
264
+ selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]",
265
+ inputs: [
266
+ "disabled",
267
+ "id",
268
+ "placeholder",
269
+ "name",
270
+ "required",
271
+ "type",
272
+ "errorStateMatcher",
273
+ "aria-describedby",
274
+ "value",
275
+ "readonly",
276
+ "disabledInteractive"
277
+ ],
278
+ exportAs: ["matInput"]
279
+ },
280
+ {
281
+ kind: "component",
282
+ type: i9.MatSelect,
283
+ selector: "mat-select",
284
+ inputs: [
285
+ "aria-describedby",
286
+ "panelClass",
287
+ "disabled",
288
+ "disableRipple",
289
+ "tabIndex",
290
+ "hideSingleSelectionIndicator",
291
+ "placeholder",
292
+ "required",
293
+ "multiple",
294
+ "disableOptionCentering",
295
+ "compareWith",
296
+ "value",
297
+ "aria-label",
298
+ "aria-labelledby",
299
+ "errorStateMatcher",
300
+ "typeaheadDebounceInterval",
301
+ "sortComparator",
302
+ "id",
303
+ "panelWidth",
304
+ "canSelectNullableOptions"
305
+ ],
306
+ outputs: [
307
+ "openedChange",
308
+ "opened",
309
+ "closed",
310
+ "selectionChange",
311
+ "valueChange"
312
+ ],
313
+ exportAs: ["matSelect"]
314
+ },
315
+ {
316
+ kind: "directive",
317
+ type: i10.MatButtonToggleGroup,
318
+ selector: "mat-button-toggle-group",
319
+ inputs: [
320
+ "appearance",
321
+ "name",
322
+ "vertical",
323
+ "value",
324
+ "multiple",
325
+ "disabled",
326
+ "disabledInteractive",
327
+ "hideSingleSelectionIndicator",
328
+ "hideMultipleSelectionIndicator"
329
+ ],
330
+ outputs: ["valueChange", "change"],
331
+ exportAs: ["matButtonToggleGroup"]
332
+ },
333
+ {
334
+ kind: "component",
335
+ type: i10.MatButtonToggle,
336
+ selector: "mat-button-toggle",
337
+ inputs: [
338
+ "aria-label",
339
+ "aria-labelledby",
340
+ "id",
341
+ "name",
342
+ "value",
343
+ "tabIndex",
344
+ "disableRipple",
345
+ "appearance",
346
+ "checked",
347
+ "disabled",
348
+ "disabledInteractive"
349
+ ],
350
+ outputs: ["change"],
351
+ exportAs: ["matButtonToggle"]
352
+ },
353
+ {
354
+ kind: "directive",
355
+ type: i11.NgxPermissionsDirective,
356
+ selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]",
357
+ inputs: [
358
+ "ngxPermissionsOnly",
359
+ "ngxPermissionsOnlyThen",
360
+ "ngxPermissionsOnlyElse",
361
+ "ngxPermissionsExcept",
362
+ "ngxPermissionsExceptElse",
363
+ "ngxPermissionsExceptThen",
364
+ "ngxPermissionsThen",
365
+ "ngxPermissionsElse",
366
+ "ngxPermissionsOnlyAuthorisedStrategy",
367
+ "ngxPermissionsOnlyUnauthorisedStrategy",
368
+ "ngxPermissionsExceptUnauthorisedStrategy",
369
+ "ngxPermissionsExceptAuthorisedStrategy",
370
+ "ngxPermissionsUnauthorisedStrategy",
371
+ "ngxPermissionsAuthorisedStrategy"
372
+ ],
373
+ outputs: ["permissionsAuthorized", "permissionsUnauthorized"]
374
+ }
375
+ ],
376
+ changeDetection: i0.ChangeDetectionStrategy.Eager,
377
+ preserveWhitespaces: true
378
+ });
379
+ };
380
+ i0.ɵɵngDeclareClassMetadata({
381
+ minVersion: "12.0.0",
382
+ version: "22.2.5",
383
+ ngImport: i0,
384
+ type: TechlifyFilterComponent,
385
+ decorators: [{
386
+ type: Component,
387
+ args: [{
388
+ selector: "app-techlify-filter",
389
+ changeDetection: ChangeDetectionStrategy.Eager,
390
+ standalone: false,
391
+ template: "<form [formGroup]=\"filterForm\" class=\"d-flex align-items-center gap-2\">\n @if (filterForm.get('search')) {\n <mat-form-field [appearance]=\"getFilterConfig('appearance', 'search')\">\n <mat-label>Search</mat-label>\n <input formControlName=\"search\" matInput [placeholder]=\"getFilterConfig('placeholder', 'search')\" />\n @if (filterForm.value?.search) {\n <button mat-icon-button matSuffix (click)=\"resetField('search')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm?.get('duration')) {\n <app-timeline-filter\n appearance=\"fill\"\n [labelText]=\"getFilterConfig('label', 'duration')\"\n [appearance]=\"getFilterConfig('appearance', 'duration')\"\n formControlName=\"duration\"\n (selectionChange)=\"onDurationChange($event)\"\n [showClearButton]=\"true\"\n [dateFrom]=\"$safeNavigationMigration(filterForm.value?.date_from)\"\n [dateTo]=\"$safeNavigationMigration(filterForm.value?.date_to)\"\n ></app-timeline-filter>\n } @if (filterForm.get('payment_method_ids')) {\n <mat-form-field>\n <mat-label>Payment Method</mat-label>\n <app-searchable-selector\n formControlName=\"payment_method_ids\"\n apiUrl=\"api/payment-methods\"\n [multiple]=\"true\"\n [enableSearch]=\"false\"\n ></app-searchable-selector>\n @if (filterForm.value?.payment_method_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('payment_method_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('payment_account_ids')) {\n <mat-form-field *ngxPermissionsOnly=\"['accountingcommon_account.read']\">\n <mat-label>{{ getFilterConfig('label', 'payment_account_ids') || 'Payment Account' }}</mat-label>\n <app-searchable-selector\n formControlName=\"payment_account_ids\"\n [apiUrl]=\"getFilterConfig('apiUrl', 'payment_account_ids') || 'api/accounts'\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.payment_account_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('payment_account_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('invoice_status_ids')) {\n <mat-form-field>\n <mat-label>Invoice Status</mat-label>\n <app-searchable-selector\n formControlName=\"invoice_status_ids\"\n apiUrl=\"api/invoice-statuses\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.invoice_status_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('invoice_status_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('customer_ids')) {\n <mat-form-field *ngxPermissionsOnly=\"['customer_read']\">\n <mat-label>Customer</mat-label>\n <app-searchable-selector\n formControlName=\"customer_ids\"\n titleField=\"name\"\n apiUrl=\"api/customers\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.customer_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('customer_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('project_ids') && getFilterConfig('disabled',\n 'project_ids') === false) {\n <mat-form-field *ngxPermissionsOnly=\"['project.read']\">\n <mat-label>Project</mat-label>\n <app-searchable-selector\n formControlName=\"project_ids\"\n apiUrl=\"api/projects\"\n titleField=\"project_name\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.project_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('project_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('product_ids')) {\n <mat-form-field>\n <mat-label>Product</mat-label>\n <app-searchable-selector\n formControlName=\"product_ids\"\n apiUrl=\"api/products\"\n titleField=\"name\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.product_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('product_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('measure_ids')) {\n <mat-form-field>\n <mat-label>Measure</mat-label>\n <app-searchable-selector\n formControlName=\"measure_ids\"\n apiUrl=\"api/product-measures\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.measure_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('measure_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n }\n\n <ng-container *ngxPermissionsOnly=\"['supplier.read']\">\n @if (filterForm.get('supplier_ids')) {\n <mat-form-field [appearance]=\"getFilterConfig('appearance', 'supplier_ids')\">\n <mat-label>Supplier</mat-label>\n <app-searchable-selector\n formControlName=\"supplier_ids\"\n titleField=\"company_name\"\n apiUrl=\"api/suppliers\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.supplier_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('supplier_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n }\n </ng-container>\n\n @if (filterForm?.get('expiry_duration')) {\n <app-timeline-filter\n appearance=\"fill\"\n [labelText]=\"getFilterConfig('label', 'expiry_duration')\"\n formControlName=\"expiry_duration\"\n (selectionChange)=\"onExpiryDurationChange($event)\"\n [showClearButton]=\"true\"\n [dateFrom]=\"$safeNavigationMigration(filterForm.value?.expiry_date_from)\"\n [dateTo]=\"$safeNavigationMigration(filterForm.value?.expiry_date_to)\"\n ></app-timeline-filter>\n } @if (filterForm.get('cost_category_ids')) {\n <mat-form-field style=\"width: 150px\">\n <mat-label>Cost Category</mat-label>\n <app-searchable-selector\n formControlName=\"cost_category_ids\"\n apiUrl=\"api/cost-code-categories\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.cost_category_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('cost_category_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('milestone_ids')) {\n <mat-form-field style=\"width: 150px\">\n <mat-label>Milestone</mat-label>\n <app-searchable-selector\n formControlName=\"milestone_ids\"\n apiUrl=\"api/milestones\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.milestone_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('milestone_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('team_member_ids')) {\n <mat-form-field>\n <mat-label>Assignee</mat-label>\n <app-searchable-selector apiUrl=\"api/persons\" formControlName=\"team_member_ids\" titleField=\"name\" [multiple]=\"true\">\n </app-searchable-selector>\n @if (filterForm.value?.team_member_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('team_member_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_type_ids')) {\n <mat-form-field>\n <mat-label>Type</mat-label>\n <app-searchable-selector\n formControlName=\"fixed_asset_type_ids\"\n apiUrl=\"api/accounting-plus/fixed-asset-types\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.fixed_asset_type_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('fixed_asset_type_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_document_type_ids')) {\n <mat-form-field>\n <mat-label>Type</mat-label>\n <app-searchable-selector\n formControlName=\"fixed_asset_document_type_ids\"\n apiUrl=\"api/accounting-plus/fixed-asset-document-types\"\n [multiple]=\"true\"\n [enableSearch]=\"getFilterConfig('enableSearch', 'fixed_asset_document_type_ids')\"\n ></app-searchable-selector>\n @if (filterForm.value?.fixed_asset_document_type_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('fixed_asset_document_type_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_document_status')) {\n <div>\n @if (getFilterConfig('showLabel', 'fixed_asset_document_status')) {\n <small class=\"mr-2 text-secondary\">\n Status\n </small>\n }\n <mat-button-toggle-group formControlName=\"fixed_asset_document_status\" [multiple]=\"false\">\n <mat-button-toggle value=\"all\">All</mat-button-toggle>\n <mat-button-toggle value=\"active\">Active</mat-button-toggle>\n <mat-button-toggle value=\"expired\">Expired</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n } @if (filterForm.get('asset_account_ids')) {\n <mat-form-field>\n <mat-label>Asset Account</mat-label>\n <app-searchable-selector\n formControlName=\"asset_account_ids\"\n apiUrl=\"api/accounts\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.asset_account_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('asset_account_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('depreciation_expense_account_ids')) {\n <mat-form-field>\n <mat-label>Depreciation Expense Account</mat-label>\n <app-searchable-selector\n [multiple]=\"true\"\n apiUrl=\"api/accounts\"\n formControlName=\"depreciation_expense_account_ids\"\n ></app-searchable-selector>\n @if (filterForm.value?.depreciation_expense_account_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('depreciation_expense_account_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('depreciation_method_ids')) {\n <mat-form-field>\n <mat-label>Depreciation Method</mat-label>\n <app-searchable-selector\n formControlName=\"depreciation_method_ids\"\n apiUrl=\"api/accounting-plus/depreciation-methods\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.depreciation_method_ids) {\n <button\n (click)=\"resetField('depreciation_method_ids')\"\n mat-icon-button\n matSuffix\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('task_status_ids')) {\n <mat-form-field style=\"width: 150px\">\n <mat-label>Status</mat-label>\n <app-searchable-selector\n apiUrl=\"api/task-statuses\"\n formControlName=\"task_status_ids\"\n titleField=\"title\"\n [multiple]=\"true\"\n [enableSearch]=\"false\"\n >\n </app-searchable-selector>\n @if (filterForm.value?.task_status_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('task_status_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('service_center_ids')) {\n <mat-form-field>\n <mat-label>Service Center</mat-label>\n <app-searchable-selector\n apiUrl=\"api/accounting-plus/service-centers\"\n formControlName=\"service_center_ids\"\n titleField=\"name\"\n [enableSearch]=\"false\"\n [multiple]=\"true\"\n >\n </app-searchable-selector>\n @if (filterForm.value?.service_center_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('service_center_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_maintenance_status_ids')) {\n <mat-form-field>\n <mat-label>Status</mat-label>\n <app-searchable-selector\n apiUrl=\"api/accounting-plus/fixed-asset-maintenance-statuses\"\n formControlName=\"fixed_asset_maintenance_status_ids\"\n [multiple]=\"true\"\n [enableSearch]=\"false\"\n >\n </app-searchable-selector>\n @if (filterForm.value?.fixed_asset_maintenance_status_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('fixed_asset_maintenance_status_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('group_by')) {\n <mat-form-field>\n <mat-label>Group By</mat-label>\n <mat-select formControlName=\"group_by\">\n <mat-option value=\"week\">Week</mat-option>\n <mat-option value=\"month\">Month</mat-option>\n <mat-option value=\"year\">Year</mat-option>\n </mat-select>\n </mat-form-field>\n }\n</form>\n"
392
+ }]
393
+ }],
394
+ ctorParameters: () => [{ type: i1.RequestHelperService }, { type: i2.ActivatedRoute }],
395
+ propDecorators: {
396
+ filterForm: [{ type: Input }],
397
+ filterConfig: [{ type: Input }],
398
+ filterUpdated: [{ type: Output }]
399
+ }
400
+ });
401
+ var TechlifyFilterModule = class TechlifyFilterModule {
402
+ static ɵfac = i0.ɵɵngDeclareFactory({
403
+ minVersion: "12.0.0",
404
+ version: "22.2.5",
405
+ ngImport: i0,
406
+ type: TechlifyFilterModule,
407
+ deps: [],
408
+ target: i0.ɵɵFactoryTarget.NgModule
409
+ });
410
+ static ɵmod = i0.ɵɵngDeclareNgModule({
411
+ minVersion: "14.0.0",
412
+ version: "22.2.5",
413
+ ngImport: i0,
414
+ type: TechlifyFilterModule,
415
+ declarations: [TechlifyFilterComponent],
416
+ imports: [
417
+ CommonModule,
418
+ ReactiveFormsModule,
419
+ SearchableSelectorModule,
420
+ TimelineFilterModule,
421
+ MaterialModule,
422
+ NgxPermissionsModule
423
+ ],
424
+ exports: [TechlifyFilterComponent]
425
+ });
426
+ static ɵinj = i0.ɵɵngDeclareInjector({
427
+ minVersion: "12.0.0",
428
+ version: "22.2.5",
429
+ ngImport: i0,
430
+ type: TechlifyFilterModule,
431
+ imports: [
432
+ CommonModule,
433
+ ReactiveFormsModule,
434
+ SearchableSelectorModule,
435
+ TimelineFilterModule,
436
+ MaterialModule,
437
+ NgxPermissionsModule
438
+ ]
439
+ });
440
+ };
441
+ i0.ɵɵngDeclareClassMetadata({
442
+ minVersion: "12.0.0",
443
+ version: "22.2.5",
444
+ ngImport: i0,
445
+ type: TechlifyFilterModule,
446
+ decorators: [{
447
+ type: NgModule,
448
+ args: [{
449
+ declarations: [TechlifyFilterComponent],
450
+ imports: [
451
+ CommonModule,
452
+ ReactiveFormsModule,
453
+ SearchableSelectorModule,
454
+ TimelineFilterModule,
455
+ MaterialModule,
456
+ NgxPermissionsModule
457
+ ],
458
+ exports: [TechlifyFilterComponent]
459
+ }]
460
+ }]
461
+ });
462
+ export { TechlifyFilterComponent as n, TechlifyFilterModule as t };
463
+
464
+ //# sourceMappingURL=techlify-inventory-common-techlify-filter.module-BdRNWNHi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"techlify-inventory-common-techlify-filter.module-BdRNWNHi.mjs","names":[],"sources":["../../../projects/inventory-common/src/lib/inventory-common/techlify-filter/techlify-filter.component.ts","../../../projects/inventory-common/src/lib/inventory-common/techlify-filter/techlify-filter.component.html","../../../projects/inventory-common/src/lib/inventory-common/techlify-filter/techlify-filter.module.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output, ChangeDetectionStrategy } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { RequestHelperService, TimelineValue } from 'ngx-techlify-core';\nimport { ActivatedRoute } from '@angular/router';\nimport { debounceTime, distinctUntilChanged } from 'rxjs';\nimport moment from 'moment';\n\n@Component({\n selector: 'app-techlify-filter',\n templateUrl: './techlify-filter.component.html',\n styleUrls: ['./techlify-filter.component.scss'],\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: false,\n})\nexport class TechlifyFilterComponent implements OnInit {\n @Input() filterForm!: FormGroup;\n @Input() filterConfig: any;\n @Output() filterUpdated: EventEmitter<any> = new EventEmitter();\n\n constructor(private requestHelperService: RequestHelperService, private activatedRoute: ActivatedRoute) {}\n\n ngOnInit(): void {\n // listen for filter changes\n this.filterForm.valueChanges.subscribe({\n next: (value: any) => {\n const params: any = this.requestHelperService.convertToFormData(value);\n this.requestHelperService.updateQueryParams(params);\n },\n });\n\n // update form with query params\n this.requestHelperService.updateFormWithQueryParams(this.filterForm, {\n duration: { number: true },\n expiry_duration: { number: true },\n payment_method_ids: { multiple: true },\n payment_account_ids: { multiple: true },\n project_ids: { multiple: true },\n invoice_status_ids: { multiple: true },\n customer_ids: { multiple: true },\n cost_category_ids: { multiple: true },\n team_member_ids: { multiple: true },\n task_status_ids: { multiple: true },\n asset_account_ids: { multiple: true },\n depreciation_method_ids: { multiple: true },\n depreciation_expense_account_ids: { multiple: true },\n fixed_asset_type_ids: { multiple: true },\n fixed_asset_document_type_ids: { multiple: true },\n service_center_ids: { multiple: true },\n fixed_asset_maintenance_status_ids: { multiple: true },\n milestone_ids: { multiple: true },\n product_ids: { multiple: true },\n supplier_ids: { multiple: true },\n measure_ids: { multiple: true },\n type_ids: { multiple: true },\n fixed_asset_ids: { multiple: true },\n });\n\n // listen for route change\n this.activatedRoute.queryParams.pipe(debounceTime(800), distinctUntilChanged()).subscribe((val: any) => {\n this.filterUpdated.emit(this.filterForm.value);\n });\n }\n\n resetField(field: string) {\n this.filterForm.get(field)?.setValue('');\n }\n\n onDurationChange(timelineValue: TimelineValue) {\n let { date_to, date_from } = timelineValue;\n this.filterForm.patchValue(\n {\n date_from: date_from ? moment(date_from).format('YYYY-MM-DD') : '',\n date_to: date_to ? moment(date_to).format('YYYY-MM-DD') : '',\n },\n { emitEvent: false }\n );\n }\n\n /**\n * Update expiry date from and date to on value change.\n *\n * @param timelineValue\n */\n onExpiryDurationChange(timelineValue: TimelineValue) {\n let { date_to, date_from } = timelineValue;\n this.filterForm.patchValue({\n expiry_date_from: date_from ? moment(date_from).format('YYYY-MM-DD') : '',\n expiry_date_to: date_to ? moment(date_to).format('YYYY-MM-DD') : '',\n });\n }\n\n /**\n * Get the attribute value for the field.\n *\n * @param attribute\n * @param field\n */\n getFilterConfig(attribute: string, field: string) {\n if (!this.filterConfig) return '';\n // Check if the field and attribute exist in the filter config, return the value or an empty string\n return this.filterConfig[field] && this.filterConfig[field][attribute] !== undefined\n ? this.filterConfig[field][attribute]\n : '';\n }\n}\n","<form [formGroup]=\"filterForm\" class=\"d-flex align-items-center gap-2\">\n @if (filterForm.get('search')) {\n <mat-form-field [appearance]=\"getFilterConfig('appearance', 'search')\">\n <mat-label>Search</mat-label>\n <input formControlName=\"search\" matInput [placeholder]=\"getFilterConfig('placeholder', 'search')\" />\n @if (filterForm.value?.search) {\n <button mat-icon-button matSuffix (click)=\"resetField('search')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm?.get('duration')) {\n <app-timeline-filter\n appearance=\"fill\"\n [labelText]=\"getFilterConfig('label', 'duration')\"\n [appearance]=\"getFilterConfig('appearance', 'duration')\"\n formControlName=\"duration\"\n (selectionChange)=\"onDurationChange($event)\"\n [showClearButton]=\"true\"\n [dateFrom]=\"$safeNavigationMigration(filterForm.value?.date_from)\"\n [dateTo]=\"$safeNavigationMigration(filterForm.value?.date_to)\"\n ></app-timeline-filter>\n } @if (filterForm.get('payment_method_ids')) {\n <mat-form-field>\n <mat-label>Payment Method</mat-label>\n <app-searchable-selector\n formControlName=\"payment_method_ids\"\n apiUrl=\"api/payment-methods\"\n [multiple]=\"true\"\n [enableSearch]=\"false\"\n ></app-searchable-selector>\n @if (filterForm.value?.payment_method_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('payment_method_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('payment_account_ids')) {\n <mat-form-field *ngxPermissionsOnly=\"['accountingcommon_account.read']\">\n <mat-label>{{ getFilterConfig('label', 'payment_account_ids') || 'Payment Account' }}</mat-label>\n <app-searchable-selector\n formControlName=\"payment_account_ids\"\n [apiUrl]=\"getFilterConfig('apiUrl', 'payment_account_ids') || 'api/accounts'\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.payment_account_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('payment_account_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('invoice_status_ids')) {\n <mat-form-field>\n <mat-label>Invoice Status</mat-label>\n <app-searchable-selector\n formControlName=\"invoice_status_ids\"\n apiUrl=\"api/invoice-statuses\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.invoice_status_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('invoice_status_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('customer_ids')) {\n <mat-form-field *ngxPermissionsOnly=\"['customer_read']\">\n <mat-label>Customer</mat-label>\n <app-searchable-selector\n formControlName=\"customer_ids\"\n titleField=\"name\"\n apiUrl=\"api/customers\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.customer_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('customer_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('project_ids') && getFilterConfig('disabled',\n 'project_ids') === false) {\n <mat-form-field *ngxPermissionsOnly=\"['project.read']\">\n <mat-label>Project</mat-label>\n <app-searchable-selector\n formControlName=\"project_ids\"\n apiUrl=\"api/projects\"\n titleField=\"project_name\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.project_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('project_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('product_ids')) {\n <mat-form-field>\n <mat-label>Product</mat-label>\n <app-searchable-selector\n formControlName=\"product_ids\"\n apiUrl=\"api/products\"\n titleField=\"name\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.product_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('product_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('measure_ids')) {\n <mat-form-field>\n <mat-label>Measure</mat-label>\n <app-searchable-selector\n formControlName=\"measure_ids\"\n apiUrl=\"api/product-measures\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.measure_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('measure_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n }\n\n <ng-container *ngxPermissionsOnly=\"['supplier.read']\">\n @if (filterForm.get('supplier_ids')) {\n <mat-form-field [appearance]=\"getFilterConfig('appearance', 'supplier_ids')\">\n <mat-label>Supplier</mat-label>\n <app-searchable-selector\n formControlName=\"supplier_ids\"\n titleField=\"company_name\"\n apiUrl=\"api/suppliers\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.supplier_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('supplier_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n }\n </ng-container>\n\n @if (filterForm?.get('expiry_duration')) {\n <app-timeline-filter\n appearance=\"fill\"\n [labelText]=\"getFilterConfig('label', 'expiry_duration')\"\n formControlName=\"expiry_duration\"\n (selectionChange)=\"onExpiryDurationChange($event)\"\n [showClearButton]=\"true\"\n [dateFrom]=\"$safeNavigationMigration(filterForm.value?.expiry_date_from)\"\n [dateTo]=\"$safeNavigationMigration(filterForm.value?.expiry_date_to)\"\n ></app-timeline-filter>\n } @if (filterForm.get('cost_category_ids')) {\n <mat-form-field style=\"width: 150px\">\n <mat-label>Cost Category</mat-label>\n <app-searchable-selector\n formControlName=\"cost_category_ids\"\n apiUrl=\"api/cost-code-categories\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.cost_category_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('cost_category_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('milestone_ids')) {\n <mat-form-field style=\"width: 150px\">\n <mat-label>Milestone</mat-label>\n <app-searchable-selector\n formControlName=\"milestone_ids\"\n apiUrl=\"api/milestones\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.milestone_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('milestone_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('team_member_ids')) {\n <mat-form-field>\n <mat-label>Assignee</mat-label>\n <app-searchable-selector apiUrl=\"api/persons\" formControlName=\"team_member_ids\" titleField=\"name\" [multiple]=\"true\">\n </app-searchable-selector>\n @if (filterForm.value?.team_member_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('team_member_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_type_ids')) {\n <mat-form-field>\n <mat-label>Type</mat-label>\n <app-searchable-selector\n formControlName=\"fixed_asset_type_ids\"\n apiUrl=\"api/accounting-plus/fixed-asset-types\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.fixed_asset_type_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('fixed_asset_type_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_document_type_ids')) {\n <mat-form-field>\n <mat-label>Type</mat-label>\n <app-searchable-selector\n formControlName=\"fixed_asset_document_type_ids\"\n apiUrl=\"api/accounting-plus/fixed-asset-document-types\"\n [multiple]=\"true\"\n [enableSearch]=\"getFilterConfig('enableSearch', 'fixed_asset_document_type_ids')\"\n ></app-searchable-selector>\n @if (filterForm.value?.fixed_asset_document_type_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('fixed_asset_document_type_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_document_status')) {\n <div>\n @if (getFilterConfig('showLabel', 'fixed_asset_document_status')) {\n <small class=\"mr-2 text-secondary\">\n Status\n </small>\n }\n <mat-button-toggle-group formControlName=\"fixed_asset_document_status\" [multiple]=\"false\">\n <mat-button-toggle value=\"all\">All</mat-button-toggle>\n <mat-button-toggle value=\"active\">Active</mat-button-toggle>\n <mat-button-toggle value=\"expired\">Expired</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n } @if (filterForm.get('asset_account_ids')) {\n <mat-form-field>\n <mat-label>Asset Account</mat-label>\n <app-searchable-selector\n formControlName=\"asset_account_ids\"\n apiUrl=\"api/accounts\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.asset_account_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('asset_account_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('depreciation_expense_account_ids')) {\n <mat-form-field>\n <mat-label>Depreciation Expense Account</mat-label>\n <app-searchable-selector\n [multiple]=\"true\"\n apiUrl=\"api/accounts\"\n formControlName=\"depreciation_expense_account_ids\"\n ></app-searchable-selector>\n @if (filterForm.value?.depreciation_expense_account_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('depreciation_expense_account_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('depreciation_method_ids')) {\n <mat-form-field>\n <mat-label>Depreciation Method</mat-label>\n <app-searchable-selector\n formControlName=\"depreciation_method_ids\"\n apiUrl=\"api/accounting-plus/depreciation-methods\"\n [multiple]=\"true\"\n ></app-searchable-selector>\n @if (filterForm.value?.depreciation_method_ids) {\n <button\n (click)=\"resetField('depreciation_method_ids')\"\n mat-icon-button\n matSuffix\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('task_status_ids')) {\n <mat-form-field style=\"width: 150px\">\n <mat-label>Status</mat-label>\n <app-searchable-selector\n apiUrl=\"api/task-statuses\"\n formControlName=\"task_status_ids\"\n titleField=\"title\"\n [multiple]=\"true\"\n [enableSearch]=\"false\"\n >\n </app-searchable-selector>\n @if (filterForm.value?.task_status_ids) {\n <button mat-icon-button matSuffix (click)=\"resetField('task_status_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('service_center_ids')) {\n <mat-form-field>\n <mat-label>Service Center</mat-label>\n <app-searchable-selector\n apiUrl=\"api/accounting-plus/service-centers\"\n formControlName=\"service_center_ids\"\n titleField=\"name\"\n [enableSearch]=\"false\"\n [multiple]=\"true\"\n >\n </app-searchable-selector>\n @if (filterForm.value?.service_center_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('service_center_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('fixed_asset_maintenance_status_ids')) {\n <mat-form-field>\n <mat-label>Status</mat-label>\n <app-searchable-selector\n apiUrl=\"api/accounting-plus/fixed-asset-maintenance-statuses\"\n formControlName=\"fixed_asset_maintenance_status_ids\"\n [multiple]=\"true\"\n [enableSearch]=\"false\"\n >\n </app-searchable-selector>\n @if (filterForm.value?.fixed_asset_maintenance_status_ids) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"resetField('fixed_asset_maintenance_status_ids')\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n } @if (filterForm.get('group_by')) {\n <mat-form-field>\n <mat-label>Group By</mat-label>\n <mat-select formControlName=\"group_by\">\n <mat-option value=\"week\">Week</mat-option>\n <mat-option value=\"month\">Month</mat-option>\n <mat-option value=\"year\">Year</mat-option>\n </mat-select>\n </mat-form-field>\n }\n</form>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TechlifyFilterComponent } from './techlify-filter.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MaterialModule, SearchableSelectorModule, TimelineFilterModule } from 'ngx-techlify-core';\nimport { NgxPermissionsModule } from 'ngx-permissions';\n\n@NgModule({\n declarations: [TechlifyFilterComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SearchableSelectorModule,\n TimelineFilterModule,\n MaterialModule,\n NgxPermissionsModule,\n ],\n exports: [TechlifyFilterComponent],\n})\nexport class TechlifyFilterModule {}\n"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { BehaviorSubject } from "rxjs";
2
+ var TechlifyFormService = class {
3
+ _isListUpdated = new BehaviorSubject(false);
4
+ isListUpdated() {
5
+ return this._isListUpdated.asObservable();
6
+ }
7
+ listUpdated(val) {
8
+ this._isListUpdated.next(val);
9
+ }
10
+ };
11
+ export { TechlifyFormService as t };
12
+
13
+ //# sourceMappingURL=techlify-inventory-common-techlify-form-service-D9K3W2jt.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"techlify-inventory-common-techlify-form-service-D9K3W2jt.mjs","names":[],"sources":["../../../projects/inventory-common/src/lib/inventory-common/services/techlify-form-service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport default class TechlifyFormService {\n private _isListUpdated = new BehaviorSubject(false);\n\n isListUpdated() {\n return this._isListUpdated.asObservable();\n }\n\n listUpdated(val: boolean) {\n this._isListUpdated.next(val);\n }\n}\n"],"mappings":";AAGA,IAAqB,sBAArB,MAAwC;CAC9B,iBAAiB,IAAI,gBAAgB,KAAK;CAElD,gBAAa;EACX,OAAO,KAAK,eAAe,aAAY;CACzC;CAEA,YAAY,KAAY;EACtB,KAAK,eAAe,KAAK,GAAG;CAC9B;AACD"}