@hitsoft/kadooglu-keops 0.0.1

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 (381) hide show
  1. package/README.md +24 -0
  2. package/config/enums/index.d.ts +1 -0
  3. package/config/enums/route-names.d.ts +23 -0
  4. package/config/index.d.ts +5 -0
  5. package/config/kadooglu-keops-config.module.d.ts +8 -0
  6. package/config/providers/index.d.ts +1 -0
  7. package/config/providers/route.provider.d.ts +8 -0
  8. package/config/public-api.d.ts +3 -0
  9. package/esm2020/config/enums/index.mjs +2 -0
  10. package/esm2020/config/enums/route-names.mjs +2 -0
  11. package/esm2020/config/hitsoft-kadooglu-keops-config.mjs +5 -0
  12. package/esm2020/config/kadooglu-keops-config.module.mjs +18 -0
  13. package/esm2020/config/providers/index.mjs +2 -0
  14. package/esm2020/config/providers/route.provider.mjs +212 -0
  15. package/esm2020/config/public-api.mjs +4 -0
  16. package/esm2020/hitsoft-kadooglu-keops.mjs +5 -0
  17. package/esm2020/lib/features/container-definitions/components/container-definition-form.component.mjs +81 -0
  18. package/esm2020/lib/features/container-definitions/components/container-definitions.component.mjs +69 -0
  19. package/esm2020/lib/features/container-definitions/hit-container-definitions-routing.module.mjs +29 -0
  20. package/esm2020/lib/features/container-definitions/hit-container-definitions.module.mjs +58 -0
  21. package/esm2020/lib/features/container-loading-counts/components/container-loading-counts.component.mjs +104 -0
  22. package/esm2020/lib/features/container-loading-counts/hit-container-loading-counts-routing.module.mjs +29 -0
  23. package/esm2020/lib/features/container-loading-counts/hit-container-loading-counts.module.mjs +49 -0
  24. package/esm2020/lib/features/container-loading-scenarios/components/container-loading-scenarios.component.mjs +106 -0
  25. package/esm2020/lib/features/container-loading-scenarios/container-loading-scenario-l10n-helper.mjs +10 -0
  26. package/esm2020/lib/features/container-loading-scenarios/hit-container-loading-scenarios-routing.module.mjs +29 -0
  27. package/esm2020/lib/features/container-loading-scenarios/hit-container-loading-scenarios.module.mjs +49 -0
  28. package/esm2020/lib/features/container-mix-types/components/container-mix-type-form.component.mjs +78 -0
  29. package/esm2020/lib/features/container-mix-types/components/container-mix-types.component.mjs +69 -0
  30. package/esm2020/lib/features/container-mix-types/hit-container-mix-types-routing.module.mjs +29 -0
  31. package/esm2020/lib/features/container-mix-types/hit-container-mix-types.module.mjs +58 -0
  32. package/esm2020/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.mjs +95 -0
  33. package/esm2020/lib/features/container-pallet-capacities/components/container-pallet-capacity-form.component.mjs +91 -0
  34. package/esm2020/lib/features/container-pallet-capacities/hit-container-pallet-capacities-routing.module.mjs +29 -0
  35. package/esm2020/lib/features/container-pallet-capacities/hit-container-pallet-capacities.module.mjs +58 -0
  36. package/esm2020/lib/features/cost-calculation/components/cost-calculation-inputs.component.mjs +103 -0
  37. package/esm2020/lib/features/cost-calculation/components/cost-calculation-result-sum.component.mjs +36 -0
  38. package/esm2020/lib/features/cost-calculation/components/cost-calculation-results.component.mjs +32 -0
  39. package/esm2020/lib/features/cost-calculation/components/cost-calculation.component.mjs +167 -0
  40. package/esm2020/lib/features/cost-calculation/cost-calculation.models.mjs +2 -0
  41. package/esm2020/lib/features/cost-calculation/engine/currency.utils.mjs +21 -0
  42. package/esm2020/lib/features/cost-calculation/engine/formulas.mjs +55 -0
  43. package/esm2020/lib/features/cost-calculation/engine/index.mjs +4 -0
  44. package/esm2020/lib/features/cost-calculation/engine/item-resolver.mjs +38 -0
  45. package/esm2020/lib/features/cost-calculation/engine/models.mjs +20 -0
  46. package/esm2020/lib/features/cost-calculation/engine/stage-builder.mjs +56 -0
  47. package/esm2020/lib/features/cost-calculation/hit-cost-calculation-routing.module.mjs +29 -0
  48. package/esm2020/lib/features/cost-calculation/hit-cost-calculation.module.mjs +64 -0
  49. package/esm2020/lib/features/cost-groups/components/cost-group-form.component.mjs +121 -0
  50. package/esm2020/lib/features/cost-groups/components/cost-groups.component.mjs +92 -0
  51. package/esm2020/lib/features/cost-groups/cost-group-role-l10n-helper.mjs +20 -0
  52. package/esm2020/lib/features/cost-groups/hit-cost-groups-routing.module.mjs +29 -0
  53. package/esm2020/lib/features/cost-groups/hit-cost-groups.module.mjs +58 -0
  54. package/esm2020/lib/features/cost-items/components/cost-item-form.component.mjs +88 -0
  55. package/esm2020/lib/features/cost-items/components/cost-items.component.mjs +73 -0
  56. package/esm2020/lib/features/cost-items/cost-item-l10n-helper.mjs +7 -0
  57. package/esm2020/lib/features/cost-items/hit-cost-items-routing.module.mjs +29 -0
  58. package/esm2020/lib/features/cost-items/hit-cost-items.module.mjs +58 -0
  59. package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.mjs +73 -0
  60. package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.mjs +93 -0
  61. package/esm2020/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.mjs +9 -0
  62. package/esm2020/lib/features/cost-parameter-categories/hit-cost-parameter-categories-routing.module.mjs +29 -0
  63. package/esm2020/lib/features/cost-parameter-categories/hit-cost-parameter-categories.module.mjs +58 -0
  64. package/esm2020/lib/features/cost-parameters/components/cost-parameter-form.component.mjs +131 -0
  65. package/esm2020/lib/features/cost-parameters/components/cost-parameters.component.mjs +93 -0
  66. package/esm2020/lib/features/cost-parameters/cost-parameter-l10n-helper.mjs +7 -0
  67. package/esm2020/lib/features/cost-parameters/hit-cost-parameters-routing.module.mjs +29 -0
  68. package/esm2020/lib/features/cost-parameters/hit-cost-parameters.module.mjs +61 -0
  69. package/esm2020/lib/features/exchange-rates/components/central-bank-rates.component.mjs +17 -0
  70. package/esm2020/lib/features/exchange-rates/components/exchange-rates.component.mjs +30 -0
  71. package/esm2020/lib/features/exchange-rates/components/fixed-rates-form.component.mjs +84 -0
  72. package/esm2020/lib/features/exchange-rates/hit-exchange-rates-routing.module.mjs +29 -0
  73. package/esm2020/lib/features/exchange-rates/hit-exchange-rates.module.mjs +65 -0
  74. package/esm2020/lib/features/index.mjs +15 -0
  75. package/esm2020/lib/features/packaging-materials/components/packaging-material-form.component.mjs +87 -0
  76. package/esm2020/lib/features/packaging-materials/components/packaging-materials.component.mjs +69 -0
  77. package/esm2020/lib/features/packaging-materials/hit-packaging-materials-routing.module.mjs +29 -0
  78. package/esm2020/lib/features/packaging-materials/hit-packaging-materials.module.mjs +58 -0
  79. package/esm2020/lib/features/packaging-prices/components/packaging-price-form.component.mjs +154 -0
  80. package/esm2020/lib/features/packaging-prices/components/packaging-price-lines.component.mjs +89 -0
  81. package/esm2020/lib/features/packaging-prices/components/packaging-prices.component.mjs +86 -0
  82. package/esm2020/lib/features/packaging-prices/hit-packaging-prices-routing.module.mjs +29 -0
  83. package/esm2020/lib/features/packaging-prices/hit-packaging-prices.module.mjs +71 -0
  84. package/esm2020/lib/features/packaging-prices/packaging-price-calculator.mjs +36 -0
  85. package/esm2020/lib/features/packaging-prices/packaging-price-excel.service.mjs +32 -0
  86. package/esm2020/lib/features/packaging-prices/packaging-price-form.factory.mjs +31 -0
  87. package/esm2020/lib/features/packaging-prices/packaging-price-lines.builder.mjs +49 -0
  88. package/esm2020/lib/features/packaging-types/components/packaging-type-form.component.mjs +78 -0
  89. package/esm2020/lib/features/packaging-types/components/packaging-types.component.mjs +69 -0
  90. package/esm2020/lib/features/packaging-types/hit-packaging-types-routing.module.mjs +29 -0
  91. package/esm2020/lib/features/packaging-types/hit-packaging-types.module.mjs +58 -0
  92. package/esm2020/lib/features/pallet-definitions/components/pallet-definition-form.component.mjs +80 -0
  93. package/esm2020/lib/features/pallet-definitions/components/pallet-definitions.component.mjs +69 -0
  94. package/esm2020/lib/features/pallet-definitions/hit-pallet-definitions-routing.module.mjs +29 -0
  95. package/esm2020/lib/features/pallet-definitions/hit-pallet-definitions.module.mjs +58 -0
  96. package/esm2020/lib/features/price-parameter-types/components/price-parameter-type-form.component.mjs +79 -0
  97. package/esm2020/lib/features/price-parameter-types/components/price-parameter-types.component.mjs +69 -0
  98. package/esm2020/lib/features/price-parameter-types/hit-price-parameter-types-routing.module.mjs +29 -0
  99. package/esm2020/lib/features/price-parameter-types/hit-price-parameter-types.module.mjs +58 -0
  100. package/esm2020/lib/features/sap-sales-persons/components/sap-sales-person-form.component.mjs +69 -0
  101. package/esm2020/lib/features/sap-sales-persons/components/sap-sales-persons.component.mjs +53 -0
  102. package/esm2020/lib/features/sap-sales-persons/hit-sap-sales-persons-routing.module.mjs +29 -0
  103. package/esm2020/lib/features/sap-sales-persons/hit-sap-sales-persons.module.mjs +61 -0
  104. package/esm2020/lib/features/settings/components/cost-settings.component.mjs +48 -0
  105. package/esm2020/lib/kadooglu-keops-routing.module.mjs +53 -0
  106. package/esm2020/lib/kadooglu-keops.module.mjs +53 -0
  107. package/esm2020/lib/proxy/container-definitions/dtos/index.mjs +2 -0
  108. package/esm2020/lib/proxy/container-definitions/dtos/models.mjs +2 -0
  109. package/esm2020/lib/proxy/container-definitions/index.mjs +3 -0
  110. package/esm2020/lib/proxy/container-loading-counts/dtos/index.mjs +2 -0
  111. package/esm2020/lib/proxy/container-loading-counts/dtos/models.mjs +2 -0
  112. package/esm2020/lib/proxy/container-loading-counts/index.mjs +4 -0
  113. package/esm2020/lib/proxy/container-loading-counts/loading-target-kind.enum.mjs +8 -0
  114. package/esm2020/lib/proxy/container-loading-scenarios/dtos/index.mjs +2 -0
  115. package/esm2020/lib/proxy/container-loading-scenarios/dtos/models.mjs +2 -0
  116. package/esm2020/lib/proxy/container-loading-scenarios/index.mjs +4 -0
  117. package/esm2020/lib/proxy/container-loading-scenarios/pallet-status.enum.mjs +8 -0
  118. package/esm2020/lib/proxy/container-mix-types/dtos/index.mjs +2 -0
  119. package/esm2020/lib/proxy/container-mix-types/dtos/models.mjs +2 -0
  120. package/esm2020/lib/proxy/container-mix-types/index.mjs +3 -0
  121. package/esm2020/lib/proxy/container-pallet-capacities/dtos/index.mjs +2 -0
  122. package/esm2020/lib/proxy/container-pallet-capacities/dtos/models.mjs +2 -0
  123. package/esm2020/lib/proxy/container-pallet-capacities/index.mjs +3 -0
  124. package/esm2020/lib/proxy/controllers/container-definition.service.mjs +40 -0
  125. package/esm2020/lib/proxy/controllers/container-loading-count.service.mjs +31 -0
  126. package/esm2020/lib/proxy/controllers/container-loading-scenario.service.mjs +27 -0
  127. package/esm2020/lib/proxy/controllers/container-mix-type.service.mjs +40 -0
  128. package/esm2020/lib/proxy/controllers/container-pallet-capacity.service.mjs +40 -0
  129. package/esm2020/lib/proxy/controllers/cost-group.service.mjs +40 -0
  130. package/esm2020/lib/proxy/controllers/cost-item.service.mjs +40 -0
  131. package/esm2020/lib/proxy/controllers/cost-parameter-category.service.mjs +40 -0
  132. package/esm2020/lib/proxy/controllers/cost-parameter.service.mjs +40 -0
  133. package/esm2020/lib/proxy/controllers/cost-settings.service.mjs +27 -0
  134. package/esm2020/lib/proxy/controllers/exchange-rate.service.mjs +27 -0
  135. package/esm2020/lib/proxy/controllers/index.mjs +19 -0
  136. package/esm2020/lib/proxy/controllers/item.service.mjs +23 -0
  137. package/esm2020/lib/proxy/controllers/packaging-material.service.mjs +40 -0
  138. package/esm2020/lib/proxy/controllers/packaging-price.service.mjs +55 -0
  139. package/esm2020/lib/proxy/controllers/packaging-type.service.mjs +40 -0
  140. package/esm2020/lib/proxy/controllers/pallet-definition.service.mjs +40 -0
  141. package/esm2020/lib/proxy/controllers/price-parameter-type.service.mjs +40 -0
  142. package/esm2020/lib/proxy/controllers/sap-sales-person.service.mjs +27 -0
  143. package/esm2020/lib/proxy/cost-groups/cost-group-role.enum.mjs +10 -0
  144. package/esm2020/lib/proxy/cost-groups/dtos/index.mjs +2 -0
  145. package/esm2020/lib/proxy/cost-groups/dtos/models.mjs +2 -0
  146. package/esm2020/lib/proxy/cost-groups/index.mjs +4 -0
  147. package/esm2020/lib/proxy/cost-items/cost-item-calculation-type.enum.mjs +9 -0
  148. package/esm2020/lib/proxy/cost-items/cost-item-system-code.enum.mjs +20 -0
  149. package/esm2020/lib/proxy/cost-items/dtos/index.mjs +2 -0
  150. package/esm2020/lib/proxy/cost-items/dtos/models.mjs +2 -0
  151. package/esm2020/lib/proxy/cost-items/index.mjs +5 -0
  152. package/esm2020/lib/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.mjs +11 -0
  153. package/esm2020/lib/proxy/cost-parameter-categories/dtos/index.mjs +2 -0
  154. package/esm2020/lib/proxy/cost-parameter-categories/dtos/models.mjs +2 -0
  155. package/esm2020/lib/proxy/cost-parameter-categories/index.mjs +4 -0
  156. package/esm2020/lib/proxy/cost-parameters/cost-parameter-status.enum.mjs +9 -0
  157. package/esm2020/lib/proxy/cost-parameters/dtos/index.mjs +2 -0
  158. package/esm2020/lib/proxy/cost-parameters/dtos/models.mjs +2 -0
  159. package/esm2020/lib/proxy/cost-parameters/index.mjs +4 -0
  160. package/esm2020/lib/proxy/currencies/currency.enum.mjs +9 -0
  161. package/esm2020/lib/proxy/currencies/index.mjs +2 -0
  162. package/esm2020/lib/proxy/exchange-rates/dtos/index.mjs +2 -0
  163. package/esm2020/lib/proxy/exchange-rates/dtos/models.mjs +2 -0
  164. package/esm2020/lib/proxy/exchange-rates/exchange-rate-source.enum.mjs +8 -0
  165. package/esm2020/lib/proxy/exchange-rates/index.mjs +4 -0
  166. package/esm2020/lib/proxy/index.mjs +22 -0
  167. package/esm2020/lib/proxy/items/dtos/index.mjs +2 -0
  168. package/esm2020/lib/proxy/items/dtos/models.mjs +2 -0
  169. package/esm2020/lib/proxy/items/index.mjs +3 -0
  170. package/esm2020/lib/proxy/packaging-materials/dtos/index.mjs +2 -0
  171. package/esm2020/lib/proxy/packaging-materials/dtos/models.mjs +2 -0
  172. package/esm2020/lib/proxy/packaging-materials/index.mjs +3 -0
  173. package/esm2020/lib/proxy/packaging-prices/dtos/index.mjs +2 -0
  174. package/esm2020/lib/proxy/packaging-prices/dtos/models.mjs +2 -0
  175. package/esm2020/lib/proxy/packaging-prices/index.mjs +3 -0
  176. package/esm2020/lib/proxy/packaging-types/dtos/index.mjs +2 -0
  177. package/esm2020/lib/proxy/packaging-types/dtos/models.mjs +2 -0
  178. package/esm2020/lib/proxy/packaging-types/index.mjs +3 -0
  179. package/esm2020/lib/proxy/pallet-definitions/dtos/index.mjs +2 -0
  180. package/esm2020/lib/proxy/pallet-definitions/dtos/models.mjs +2 -0
  181. package/esm2020/lib/proxy/pallet-definitions/index.mjs +3 -0
  182. package/esm2020/lib/proxy/price-parameter-types/dtos/index.mjs +2 -0
  183. package/esm2020/lib/proxy/price-parameter-types/dtos/models.mjs +2 -0
  184. package/esm2020/lib/proxy/price-parameter-types/index.mjs +3 -0
  185. package/esm2020/lib/proxy/sales-persons/dtos/index.mjs +2 -0
  186. package/esm2020/lib/proxy/sales-persons/dtos/models.mjs +2 -0
  187. package/esm2020/lib/proxy/sales-persons/index.mjs +3 -0
  188. package/esm2020/lib/proxy/settings/index.mjs +2 -0
  189. package/esm2020/lib/proxy/settings/models.mjs +2 -0
  190. package/esm2020/lib/utils/currency.utils.mjs +8 -0
  191. package/esm2020/lib/utils/date.utils.mjs +12 -0
  192. package/esm2020/lib/utils/number.utils.mjs +9 -0
  193. package/esm2020/public-api.mjs +7 -0
  194. package/fesm2015/hitsoft-kadooglu-keops-config.mjs +235 -0
  195. package/fesm2015/hitsoft-kadooglu-keops-config.mjs.map +1 -0
  196. package/fesm2015/hitsoft-kadooglu-keops.mjs +5243 -0
  197. package/fesm2015/hitsoft-kadooglu-keops.mjs.map +1 -0
  198. package/fesm2020/hitsoft-kadooglu-keops-config.mjs +235 -0
  199. package/fesm2020/hitsoft-kadooglu-keops-config.mjs.map +1 -0
  200. package/fesm2020/hitsoft-kadooglu-keops.mjs +5196 -0
  201. package/fesm2020/hitsoft-kadooglu-keops.mjs.map +1 -0
  202. package/index.d.ts +5 -0
  203. package/lib/features/container-definitions/components/container-definition-form.component.d.ts +25 -0
  204. package/lib/features/container-definitions/components/container-definitions.component.d.ts +23 -0
  205. package/lib/features/container-definitions/hit-container-definitions-routing.module.d.ts +7 -0
  206. package/lib/features/container-definitions/hit-container-definitions.module.d.ts +18 -0
  207. package/lib/features/container-loading-counts/components/container-loading-counts.component.d.ts +29 -0
  208. package/lib/features/container-loading-counts/hit-container-loading-counts-routing.module.d.ts +7 -0
  209. package/lib/features/container-loading-counts/hit-container-loading-counts.module.d.ts +15 -0
  210. package/lib/features/container-loading-scenarios/components/container-loading-scenarios.component.d.ts +40 -0
  211. package/lib/features/container-loading-scenarios/container-loading-scenario-l10n-helper.d.ts +3 -0
  212. package/lib/features/container-loading-scenarios/hit-container-loading-scenarios-routing.module.d.ts +7 -0
  213. package/lib/features/container-loading-scenarios/hit-container-loading-scenarios.module.d.ts +15 -0
  214. package/lib/features/container-mix-types/components/container-mix-type-form.component.d.ts +25 -0
  215. package/lib/features/container-mix-types/components/container-mix-types.component.d.ts +23 -0
  216. package/lib/features/container-mix-types/hit-container-mix-types-routing.module.d.ts +7 -0
  217. package/lib/features/container-mix-types/hit-container-mix-types.module.d.ts +18 -0
  218. package/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.d.ts +33 -0
  219. package/lib/features/container-pallet-capacities/components/container-pallet-capacity-form.component.d.ts +29 -0
  220. package/lib/features/container-pallet-capacities/hit-container-pallet-capacities-routing.module.d.ts +7 -0
  221. package/lib/features/container-pallet-capacities/hit-container-pallet-capacities.module.d.ts +18 -0
  222. package/lib/features/cost-calculation/components/cost-calculation-inputs.component.d.ts +43 -0
  223. package/lib/features/cost-calculation/components/cost-calculation-result-sum.component.d.ts +16 -0
  224. package/lib/features/cost-calculation/components/cost-calculation-results.component.d.ts +12 -0
  225. package/lib/features/cost-calculation/components/cost-calculation.component.d.ts +51 -0
  226. package/lib/features/cost-calculation/cost-calculation.models.d.ts +18 -0
  227. package/lib/features/cost-calculation/engine/currency.utils.d.ts +4 -0
  228. package/lib/features/cost-calculation/engine/formulas.d.ts +7 -0
  229. package/lib/features/cost-calculation/engine/index.d.ts +3 -0
  230. package/lib/features/cost-calculation/engine/item-resolver.d.ts +4 -0
  231. package/lib/features/cost-calculation/engine/models.d.ts +64 -0
  232. package/lib/features/cost-calculation/engine/stage-builder.d.ts +4 -0
  233. package/lib/features/cost-calculation/hit-cost-calculation-routing.module.d.ts +7 -0
  234. package/lib/features/cost-calculation/hit-cost-calculation.module.d.ts +19 -0
  235. package/lib/features/cost-groups/components/cost-group-form.component.d.ts +33 -0
  236. package/lib/features/cost-groups/components/cost-groups.component.d.ts +31 -0
  237. package/lib/features/cost-groups/cost-group-role-l10n-helper.d.ts +7 -0
  238. package/lib/features/cost-groups/hit-cost-groups-routing.module.d.ts +7 -0
  239. package/lib/features/cost-groups/hit-cost-groups.module.d.ts +18 -0
  240. package/lib/features/cost-items/components/cost-item-form.component.d.ts +30 -0
  241. package/lib/features/cost-items/components/cost-items.component.d.ts +24 -0
  242. package/lib/features/cost-items/cost-item-l10n-helper.d.ts +2 -0
  243. package/lib/features/cost-items/hit-cost-items-routing.module.d.ts +7 -0
  244. package/lib/features/cost-items/hit-cost-items.module.d.ts +18 -0
  245. package/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.d.ts +24 -0
  246. package/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.d.ts +29 -0
  247. package/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.d.ts +2 -0
  248. package/lib/features/cost-parameter-categories/hit-cost-parameter-categories-routing.module.d.ts +7 -0
  249. package/lib/features/cost-parameter-categories/hit-cost-parameter-categories.module.d.ts +18 -0
  250. package/lib/features/cost-parameters/components/cost-parameter-form.component.d.ts +39 -0
  251. package/lib/features/cost-parameters/components/cost-parameters.component.d.ts +30 -0
  252. package/lib/features/cost-parameters/cost-parameter-l10n-helper.d.ts +2 -0
  253. package/lib/features/cost-parameters/hit-cost-parameters-routing.module.d.ts +7 -0
  254. package/lib/features/cost-parameters/hit-cost-parameters.module.d.ts +18 -0
  255. package/lib/features/exchange-rates/components/central-bank-rates.component.d.ts +7 -0
  256. package/lib/features/exchange-rates/components/exchange-rates.component.d.ts +13 -0
  257. package/lib/features/exchange-rates/components/fixed-rates-form.component.d.ts +26 -0
  258. package/lib/features/exchange-rates/hit-exchange-rates-routing.module.d.ts +7 -0
  259. package/lib/features/exchange-rates/hit-exchange-rates.module.d.ts +19 -0
  260. package/lib/features/index.d.ts +10 -0
  261. package/lib/features/packaging-materials/components/packaging-material-form.component.d.ts +29 -0
  262. package/lib/features/packaging-materials/components/packaging-materials.component.d.ts +23 -0
  263. package/lib/features/packaging-materials/hit-packaging-materials-routing.module.d.ts +7 -0
  264. package/lib/features/packaging-materials/hit-packaging-materials.module.d.ts +18 -0
  265. package/lib/features/packaging-prices/components/packaging-price-form.component.d.ts +44 -0
  266. package/lib/features/packaging-prices/components/packaging-price-lines.component.d.ts +26 -0
  267. package/lib/features/packaging-prices/components/packaging-prices.component.d.ts +27 -0
  268. package/lib/features/packaging-prices/hit-packaging-prices-routing.module.d.ts +7 -0
  269. package/lib/features/packaging-prices/hit-packaging-prices.module.d.ts +19 -0
  270. package/lib/features/packaging-prices/packaging-price-calculator.d.ts +8 -0
  271. package/lib/features/packaging-prices/packaging-price-excel.service.d.ts +15 -0
  272. package/lib/features/packaging-prices/packaging-price-form.factory.d.ts +5 -0
  273. package/lib/features/packaging-prices/packaging-price-lines.builder.d.ts +21 -0
  274. package/lib/features/packaging-types/components/packaging-type-form.component.d.ts +25 -0
  275. package/lib/features/packaging-types/components/packaging-types.component.d.ts +23 -0
  276. package/lib/features/packaging-types/hit-packaging-types-routing.module.d.ts +7 -0
  277. package/lib/features/packaging-types/hit-packaging-types.module.d.ts +18 -0
  278. package/lib/features/pallet-definitions/components/pallet-definition-form.component.d.ts +25 -0
  279. package/lib/features/pallet-definitions/components/pallet-definitions.component.d.ts +23 -0
  280. package/lib/features/pallet-definitions/hit-pallet-definitions-routing.module.d.ts +7 -0
  281. package/lib/features/pallet-definitions/hit-pallet-definitions.module.d.ts +18 -0
  282. package/lib/features/price-parameter-types/components/price-parameter-type-form.component.d.ts +25 -0
  283. package/lib/features/price-parameter-types/components/price-parameter-types.component.d.ts +23 -0
  284. package/lib/features/price-parameter-types/hit-price-parameter-types-routing.module.d.ts +7 -0
  285. package/lib/features/price-parameter-types/hit-price-parameter-types.module.d.ts +18 -0
  286. package/lib/features/sap-sales-persons/components/sap-sales-person-form.component.d.ts +26 -0
  287. package/lib/features/sap-sales-persons/components/sap-sales-persons.component.d.ts +24 -0
  288. package/lib/features/sap-sales-persons/hit-sap-sales-persons-routing.module.d.ts +7 -0
  289. package/lib/features/sap-sales-persons/hit-sap-sales-persons.module.d.ts +18 -0
  290. package/lib/features/settings/components/cost-settings.component.d.ts +17 -0
  291. package/lib/kadooglu-keops-routing.module.d.ts +7 -0
  292. package/lib/kadooglu-keops.module.d.ts +18 -0
  293. package/lib/proxy/container-definitions/dtos/index.d.ts +1 -0
  294. package/lib/proxy/container-definitions/dtos/models.d.ts +22 -0
  295. package/lib/proxy/container-definitions/index.d.ts +2 -0
  296. package/lib/proxy/container-loading-counts/dtos/index.d.ts +1 -0
  297. package/lib/proxy/container-loading-counts/dtos/models.d.ts +23 -0
  298. package/lib/proxy/container-loading-counts/index.d.ts +3 -0
  299. package/lib/proxy/container-loading-counts/loading-target-kind.enum.d.ts +5 -0
  300. package/lib/proxy/container-loading-scenarios/dtos/index.d.ts +1 -0
  301. package/lib/proxy/container-loading-scenarios/dtos/models.d.ts +22 -0
  302. package/lib/proxy/container-loading-scenarios/index.d.ts +3 -0
  303. package/lib/proxy/container-loading-scenarios/pallet-status.enum.d.ts +5 -0
  304. package/lib/proxy/container-mix-types/dtos/index.d.ts +1 -0
  305. package/lib/proxy/container-mix-types/dtos/models.d.ts +13 -0
  306. package/lib/proxy/container-mix-types/index.d.ts +2 -0
  307. package/lib/proxy/container-pallet-capacities/dtos/index.d.ts +1 -0
  308. package/lib/proxy/container-pallet-capacities/dtos/models.d.ts +22 -0
  309. package/lib/proxy/container-pallet-capacities/index.d.ts +2 -0
  310. package/lib/proxy/controllers/container-definition.service.d.ts +15 -0
  311. package/lib/proxy/controllers/container-loading-count.service.d.ts +13 -0
  312. package/lib/proxy/controllers/container-loading-scenario.service.d.ts +12 -0
  313. package/lib/proxy/controllers/container-mix-type.service.d.ts +15 -0
  314. package/lib/proxy/controllers/container-pallet-capacity.service.d.ts +15 -0
  315. package/lib/proxy/controllers/cost-group.service.d.ts +15 -0
  316. package/lib/proxy/controllers/cost-item.service.d.ts +15 -0
  317. package/lib/proxy/controllers/cost-parameter-category.service.d.ts +15 -0
  318. package/lib/proxy/controllers/cost-parameter.service.d.ts +15 -0
  319. package/lib/proxy/controllers/cost-settings.service.d.ts +12 -0
  320. package/lib/proxy/controllers/exchange-rate.service.d.ts +12 -0
  321. package/lib/proxy/controllers/index.d.ts +18 -0
  322. package/lib/proxy/controllers/item.service.d.ts +11 -0
  323. package/lib/proxy/controllers/packaging-material.service.d.ts +15 -0
  324. package/lib/proxy/controllers/packaging-price.service.d.ts +18 -0
  325. package/lib/proxy/controllers/packaging-type.service.d.ts +15 -0
  326. package/lib/proxy/controllers/pallet-definition.service.d.ts +15 -0
  327. package/lib/proxy/controllers/price-parameter-type.service.d.ts +15 -0
  328. package/lib/proxy/controllers/sap-sales-person.service.d.ts +12 -0
  329. package/lib/proxy/cost-groups/cost-group-role.enum.d.ts +7 -0
  330. package/lib/proxy/cost-groups/dtos/index.d.ts +1 -0
  331. package/lib/proxy/cost-groups/dtos/models.d.ts +21 -0
  332. package/lib/proxy/cost-groups/index.d.ts +3 -0
  333. package/lib/proxy/cost-items/cost-item-calculation-type.enum.d.ts +6 -0
  334. package/lib/proxy/cost-items/cost-item-system-code.enum.d.ts +17 -0
  335. package/lib/proxy/cost-items/dtos/index.d.ts +1 -0
  336. package/lib/proxy/cost-items/dtos/models.d.ts +20 -0
  337. package/lib/proxy/cost-items/index.d.ts +4 -0
  338. package/lib/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.d.ts +8 -0
  339. package/lib/proxy/cost-parameter-categories/dtos/index.d.ts +1 -0
  340. package/lib/proxy/cost-parameter-categories/dtos/models.d.ts +14 -0
  341. package/lib/proxy/cost-parameter-categories/index.d.ts +3 -0
  342. package/lib/proxy/cost-parameters/cost-parameter-status.enum.d.ts +6 -0
  343. package/lib/proxy/cost-parameters/dtos/index.d.ts +1 -0
  344. package/lib/proxy/cost-parameters/dtos/models.d.ts +44 -0
  345. package/lib/proxy/cost-parameters/index.d.ts +3 -0
  346. package/lib/proxy/currencies/currency.enum.d.ts +6 -0
  347. package/lib/proxy/currencies/index.d.ts +1 -0
  348. package/lib/proxy/exchange-rates/dtos/index.d.ts +1 -0
  349. package/lib/proxy/exchange-rates/dtos/models.d.ts +17 -0
  350. package/lib/proxy/exchange-rates/exchange-rate-source.enum.d.ts +5 -0
  351. package/lib/proxy/exchange-rates/index.d.ts +3 -0
  352. package/lib/proxy/index.d.ts +21 -0
  353. package/lib/proxy/items/dtos/index.d.ts +1 -0
  354. package/lib/proxy/items/dtos/models.d.ts +4 -0
  355. package/lib/proxy/items/index.d.ts +2 -0
  356. package/lib/proxy/packaging-materials/dtos/index.d.ts +1 -0
  357. package/lib/proxy/packaging-materials/dtos/models.d.ts +14 -0
  358. package/lib/proxy/packaging-materials/index.d.ts +2 -0
  359. package/lib/proxy/packaging-prices/dtos/index.d.ts +1 -0
  360. package/lib/proxy/packaging-prices/dtos/models.d.ts +54 -0
  361. package/lib/proxy/packaging-prices/index.d.ts +2 -0
  362. package/lib/proxy/packaging-types/dtos/index.d.ts +1 -0
  363. package/lib/proxy/packaging-types/dtos/models.d.ts +13 -0
  364. package/lib/proxy/packaging-types/index.d.ts +2 -0
  365. package/lib/proxy/pallet-definitions/dtos/index.d.ts +1 -0
  366. package/lib/proxy/pallet-definitions/dtos/models.d.ts +19 -0
  367. package/lib/proxy/pallet-definitions/index.d.ts +2 -0
  368. package/lib/proxy/price-parameter-types/dtos/index.d.ts +1 -0
  369. package/lib/proxy/price-parameter-types/dtos/models.d.ts +19 -0
  370. package/lib/proxy/price-parameter-types/index.d.ts +2 -0
  371. package/lib/proxy/sales-persons/dtos/index.d.ts +1 -0
  372. package/lib/proxy/sales-persons/dtos/models.d.ts +10 -0
  373. package/lib/proxy/sales-persons/index.d.ts +2 -0
  374. package/lib/proxy/settings/index.d.ts +1 -0
  375. package/lib/proxy/settings/models.d.ts +3 -0
  376. package/lib/utils/currency.utils.d.ts +6 -0
  377. package/lib/utils/date.utils.d.ts +9 -0
  378. package/lib/utils/number.utils.d.ts +1 -0
  379. package/package.json +41 -0
  380. package/public-api.d.ts +3 -0
  381. package/src/lib/proxy/README.md +17 -0
@@ -0,0 +1,49 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { Currency } from '@proxy/currencies/currency.enum';
4
+ import { computePackagingPriceConversion } from './packaging-price-calculator';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ export class PackagingPriceLinesBuilder {
8
+ constructor(fb) {
9
+ this.fb = fb;
10
+ }
11
+ // getRates is read lazily so each recompute uses the document's current USD/EUR rates.
12
+ build(line, getRates) {
13
+ const group = this.fb.group({
14
+ materialCode: [line.materialCode ?? '', Validators.required],
15
+ price: [line.price ?? 0, Validators.required],
16
+ currency: [line.currency ?? Currency.TRY, Validators.required],
17
+ tryPrice: [line.tryPrice ?? 0],
18
+ usdPrice: [line.usdPrice ?? 0],
19
+ eurPrice: [line.eurPrice ?? 0],
20
+ });
21
+ // Recompute only on price/currency; editing an equivalent directly must not cascade back.
22
+ group.get('price').valueChanges.subscribe(() => this.compute(group, getRates()));
23
+ group.get('currency').valueChanges.subscribe(() => this.compute(group, getRates()));
24
+ // Auto-fill only when nothing was saved yet, so a reload keeps the user's edited values.
25
+ const hasSavedEquivalents = (line.tryPrice ?? 0) !== 0 || (line.usdPrice ?? 0) !== 0 || (line.eurPrice ?? 0) !== 0;
26
+ if (!hasSavedEquivalents) {
27
+ this.compute(group, getRates());
28
+ }
29
+ return {
30
+ group,
31
+ materialCode: line.materialCode ?? '',
32
+ materialName: line.materialName ?? '',
33
+ };
34
+ }
35
+ recompute(rows, rates) {
36
+ rows.forEach(row => this.compute(row.group, rates));
37
+ }
38
+ compute(group, rates) {
39
+ const conversion = computePackagingPriceConversion(group.get('price').value, group.get('currency').value, rates.usdRate, rates.eurRate);
40
+ group.patchValue(conversion, { emitEvent: false });
41
+ }
42
+ }
43
+ PackagingPriceLinesBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackagingPriceLinesBuilder, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
44
+ PackagingPriceLinesBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackagingPriceLinesBuilder, providedIn: 'root' });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackagingPriceLinesBuilder, decorators: [{
46
+ type: Injectable,
47
+ args: [{ providedIn: 'root' }]
48
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnaW5nLXByaWNlLWxpbmVzLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL3BhY2thZ2luZy1wcmljZXMvcGFja2FnaW5nLXByaWNlLWxpbmVzLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBYy9FLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBNkIsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7SUFBRyxDQUFDO0lBRWhELHVGQUF1RjtJQUN2RixLQUFLLENBQUMsSUFBMkIsRUFBRSxRQUE0QjtRQUM3RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMxQixZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzVELEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDN0MsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDOUQsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7WUFDOUIsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7WUFDOUIsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7U0FDL0IsQ0FBQyxDQUFDO1FBRUgsMEZBQTBGO1FBQzFGLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVyRix5RkFBeUY7UUFDekYsTUFBTSxtQkFBbUIsR0FDdkIsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDakM7UUFFRCxPQUFPO1lBQ0wsS0FBSztZQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUU7WUFDckMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRTtTQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFlLEVBQUUsS0FBbUI7UUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxPQUFPLENBQUMsS0FBZ0IsRUFBRSxLQUFtQjtRQUNuRCxNQUFNLFVBQVUsR0FBRywrQkFBK0IsQ0FDaEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUUsQ0FBQyxLQUFLLEVBQ3pCLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFFLENBQUMsS0FBSyxFQUM1QixLQUFLLENBQUMsT0FBTyxFQUNiLEtBQUssQ0FBQyxPQUFPLENBQ2QsQ0FBQztRQUVGLEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7dUhBN0NVLDBCQUEwQjsySEFBMUIsMEJBQTBCLGNBRGIsTUFBTTsyRkFDbkIsMEJBQTBCO2tCQUR0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQYWNrYWdpbmdQcmljZUxpbmVEdG8gfSBmcm9tICdAcHJveHkvcGFja2FnaW5nLXByaWNlcy9kdG9zJztcbmltcG9ydCB7IEN1cnJlbmN5IH0gZnJvbSAnQHByb3h5L2N1cnJlbmNpZXMvY3VycmVuY3kuZW51bSc7XG5pbXBvcnQgeyBjb21wdXRlUGFja2FnaW5nUHJpY2VDb252ZXJzaW9uIH0gZnJvbSAnLi9wYWNrYWdpbmctcHJpY2UtY2FsY3VsYXRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZVJvdyB7XG4gIGdyb3VwOiBGb3JtR3JvdXA7XG4gIG1hdGVyaWFsQ29kZTogc3RyaW5nO1xuICBtYXRlcmlhbE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSYXRlU25hcHNob3Qge1xuICB1c2RSYXRlOiBudW1iZXI7XG4gIGV1clJhdGU6IG51bWJlcjtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQYWNrYWdpbmdQcmljZUxpbmVzQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyKSB7fVxuXG4gIC8vIGdldFJhdGVzIGlzIHJlYWQgbGF6aWx5IHNvIGVhY2ggcmVjb21wdXRlIHVzZXMgdGhlIGRvY3VtZW50J3MgY3VycmVudCBVU0QvRVVSIHJhdGVzLlxuICBidWlsZChsaW5lOiBQYWNrYWdpbmdQcmljZUxpbmVEdG8sIGdldFJhdGVzOiAoKSA9PiBSYXRlU25hcHNob3QpOiBMaW5lUm93IHtcbiAgICBjb25zdCBncm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbWF0ZXJpYWxDb2RlOiBbbGluZS5tYXRlcmlhbENvZGUgPz8gJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgcHJpY2U6IFtsaW5lLnByaWNlID8/IDAsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgY3VycmVuY3k6IFtsaW5lLmN1cnJlbmN5ID8/IEN1cnJlbmN5LlRSWSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICB0cnlQcmljZTogW2xpbmUudHJ5UHJpY2UgPz8gMF0sXG4gICAgICB1c2RQcmljZTogW2xpbmUudXNkUHJpY2UgPz8gMF0sXG4gICAgICBldXJQcmljZTogW2xpbmUuZXVyUHJpY2UgPz8gMF0sXG4gICAgfSk7XG5cbiAgICAvLyBSZWNvbXB1dGUgb25seSBvbiBwcmljZS9jdXJyZW5jeTsgZWRpdGluZyBhbiBlcXVpdmFsZW50IGRpcmVjdGx5IG11c3Qgbm90IGNhc2NhZGUgYmFjay5cbiAgICBncm91cC5nZXQoJ3ByaWNlJykhLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jb21wdXRlKGdyb3VwLCBnZXRSYXRlcygpKSk7XG4gICAgZ3JvdXAuZ2V0KCdjdXJyZW5jeScpIS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuY29tcHV0ZShncm91cCwgZ2V0UmF0ZXMoKSkpO1xuXG4gICAgLy8gQXV0by1maWxsIG9ubHkgd2hlbiBub3RoaW5nIHdhcyBzYXZlZCB5ZXQsIHNvIGEgcmVsb2FkIGtlZXBzIHRoZSB1c2VyJ3MgZWRpdGVkIHZhbHVlcy5cbiAgICBjb25zdCBoYXNTYXZlZEVxdWl2YWxlbnRzID1cbiAgICAgIChsaW5lLnRyeVByaWNlID8/IDApICE9PSAwIHx8IChsaW5lLnVzZFByaWNlID8/IDApICE9PSAwIHx8IChsaW5lLmV1clByaWNlID8/IDApICE9PSAwO1xuICAgIGlmICghaGFzU2F2ZWRFcXVpdmFsZW50cykge1xuICAgICAgdGhpcy5jb21wdXRlKGdyb3VwLCBnZXRSYXRlcygpKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZ3JvdXAsXG4gICAgICBtYXRlcmlhbENvZGU6IGxpbmUubWF0ZXJpYWxDb2RlID8/ICcnLFxuICAgICAgbWF0ZXJpYWxOYW1lOiBsaW5lLm1hdGVyaWFsTmFtZSA/PyAnJyxcbiAgICB9O1xuICB9XG5cbiAgcmVjb21wdXRlKHJvd3M6IExpbmVSb3dbXSwgcmF0ZXM6IFJhdGVTbmFwc2hvdCk6IHZvaWQge1xuICAgIHJvd3MuZm9yRWFjaChyb3cgPT4gdGhpcy5jb21wdXRlKHJvdy5ncm91cCwgcmF0ZXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZShncm91cDogRm9ybUdyb3VwLCByYXRlczogUmF0ZVNuYXBzaG90KTogdm9pZCB7XG4gICAgY29uc3QgY29udmVyc2lvbiA9IGNvbXB1dGVQYWNrYWdpbmdQcmljZUNvbnZlcnNpb24oXG4gICAgICBncm91cC5nZXQoJ3ByaWNlJykhLnZhbHVlLFxuICAgICAgZ3JvdXAuZ2V0KCdjdXJyZW5jeScpIS52YWx1ZSxcbiAgICAgIHJhdGVzLnVzZFJhdGUsXG4gICAgICByYXRlcy5ldXJSYXRlLFxuICAgICk7XG5cbiAgICBncm91cC5wYXRjaFZhbHVlKGNvbnZlcnNpb24sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,78 @@
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { finalize } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "@proxy/controllers";
7
+ import * as i3 from "@abp/ng.core";
8
+ import * as i4 from "@abp/ng.theme.shared";
9
+ export class PackagingTypeFormComponent {
10
+ constructor(fb, service) {
11
+ this.fb = fb;
12
+ this.service = service;
13
+ this.visible = false;
14
+ this.mode = 'create';
15
+ this.current = null;
16
+ this.visibleChange = new EventEmitter();
17
+ this.saved = new EventEmitter();
18
+ this.saving = false;
19
+ }
20
+ ngOnInit() {
21
+ this.buildForm();
22
+ }
23
+ ngOnChanges(changes) {
24
+ if (changes['current'] || changes['mode']) {
25
+ this.buildForm();
26
+ }
27
+ }
28
+ buildForm() {
29
+ this.form = this.fb.group({
30
+ name: [this.current?.name ?? '', [Validators.required, Validators.maxLength(50)]],
31
+ displayOrder: [this.current?.displayOrder ?? 0, [Validators.required, Validators.min(0)]],
32
+ });
33
+ }
34
+ get title() {
35
+ return this.mode === 'create'
36
+ ? 'Keops::PackagingTypes:CreateTitle'
37
+ : 'Keops::PackagingTypes:EditTitle';
38
+ }
39
+ onVisibleChange(value) {
40
+ this.visible = value;
41
+ this.visibleChange.emit(value);
42
+ }
43
+ save() {
44
+ if (this.form.invalid) {
45
+ this.form.markAllAsTouched();
46
+ return;
47
+ }
48
+ const value = this.form.value;
49
+ this.saving = true;
50
+ const request$ = this.mode === 'create'
51
+ ? this.service.create(value)
52
+ : this.service.update(this.current.code, value);
53
+ request$.pipe(finalize(() => (this.saving = false))).subscribe({
54
+ next: () => {
55
+ this.saved.emit();
56
+ this.visible = false;
57
+ this.visibleChange.emit(false);
58
+ },
59
+ });
60
+ }
61
+ }
62
+ PackagingTypeFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackagingTypeFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PackagingTypeService }], target: i0.ɵɵFactoryTarget.Component });
63
+ PackagingTypeFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PackagingTypeFormComponent, selector: "lib-packaging-type-form", inputs: { visible: "visible", mode: "mode", current: "current" }, outputs: { visibleChange: "visibleChange", saved: "saved" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal\n [(visible)]=\"visible\"\n (visibleChange)=\"onVisibleChange($event)\"\n [busy]=\"saving\"\n [options]=\"{ size: 'md' }\"\n>\n <ng-template #abpHeader>\n <h3>{{ title | abpLocalization }}</h3>\n </ng-template>\n\n <ng-template #abpBody>\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <div class=\"mb-3\">\n <label for=\"name\" class=\"form-label\">\n {{ 'Keops::PackagingTypes:Name' | abpLocalization }}\n <span class=\"text-danger\">*</span>\n </label>\n <input id=\"name\" type=\"text\" class=\"form-control\" formControlName=\"name\" />\n </div>\n\n <div class=\"mb-3\">\n <label for=\"displayOrder\" class=\"form-label\">\n {{ 'Keops::PackagingTypes:DisplayOrder' | abpLocalization }}\n <span class=\"text-danger\">*</span>\n </label>\n <input\n id=\"displayOrder\"\n type=\"number\"\n min=\"0\"\n class=\"form-control\"\n formControlName=\"displayOrder\"\n />\n </div>\n </form>\n </ng-template>\n\n <ng-template #abpFooter>\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\n {{ 'AbpUi::Cancel' | abpLocalization }}\n </button>\n <abp-button\n iconClass=\"fa fa-check\"\n buttonClass=\"btn btn-primary\"\n [loading]=\"saving\"\n [disabled]=\"form?.invalid\"\n (click)=\"save()\"\n >\n {{ 'AbpUi::Save' | abpLocalization }}\n </abp-button>\n </ng-template>\n</abp-modal>\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i4.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i4.ModalCloseDirective, selector: "[abpClose]" }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackagingTypeFormComponent, decorators: [{
65
+ type: Component,
66
+ args: [{ selector: 'lib-packaging-type-form', template: "<abp-modal\n [(visible)]=\"visible\"\n (visibleChange)=\"onVisibleChange($event)\"\n [busy]=\"saving\"\n [options]=\"{ size: 'md' }\"\n>\n <ng-template #abpHeader>\n <h3>{{ title | abpLocalization }}</h3>\n </ng-template>\n\n <ng-template #abpBody>\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <div class=\"mb-3\">\n <label for=\"name\" class=\"form-label\">\n {{ 'Keops::PackagingTypes:Name' | abpLocalization }}\n <span class=\"text-danger\">*</span>\n </label>\n <input id=\"name\" type=\"text\" class=\"form-control\" formControlName=\"name\" />\n </div>\n\n <div class=\"mb-3\">\n <label for=\"displayOrder\" class=\"form-label\">\n {{ 'Keops::PackagingTypes:DisplayOrder' | abpLocalization }}\n <span class=\"text-danger\">*</span>\n </label>\n <input\n id=\"displayOrder\"\n type=\"number\"\n min=\"0\"\n class=\"form-control\"\n formControlName=\"displayOrder\"\n />\n </div>\n </form>\n </ng-template>\n\n <ng-template #abpFooter>\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\n {{ 'AbpUi::Cancel' | abpLocalization }}\n </button>\n <abp-button\n iconClass=\"fa fa-check\"\n buttonClass=\"btn btn-primary\"\n [loading]=\"saving\"\n [disabled]=\"form?.invalid\"\n (click)=\"save()\"\n >\n {{ 'AbpUi::Save' | abpLocalization }}\n </abp-button>\n </ng-template>\n</abp-modal>\n" }]
67
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.PackagingTypeService }]; }, propDecorators: { visible: [{
68
+ type: Input
69
+ }], mode: [{
70
+ type: Input
71
+ }], current: [{
72
+ type: Input
73
+ }], visibleChange: [{
74
+ type: Output
75
+ }], saved: [{
76
+ type: Output
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnaW5nLXR5cGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL3BhY2thZ2luZy10eXBlcy9jb21wb25lbnRzL3BhY2thZ2luZy10eXBlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9wYWNrYWdpbmctdHlwZXMvY29tcG9uZW50cy9wYWNrYWdpbmctdHlwZS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVExQyxNQUFNLE9BQU8sMEJBQTBCO0lBV3JDLFlBQ21CLEVBQWUsRUFDZixPQUE2QjtRQUQ3QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFadkMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixTQUFJLEdBQXNCLFFBQVEsQ0FBQztRQUNuQyxZQUFPLEdBQTRCLElBQUksQ0FBQztRQUV2QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHM0MsV0FBTSxHQUFHLEtBQUssQ0FBQztJQUtaLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqRixZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDM0IsQ0FBQyxDQUFDLG1DQUFtQztZQUNyQyxDQUFDLENBQUMsaUNBQWlDLENBQUM7SUFDeEMsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFjO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDN0IsT0FBTztTQUNSO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFFbkIsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRO1lBQ3BCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFRLENBQUMsSUFBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXRELFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdELElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzt1SEFsRVUsMEJBQTBCOzJHQUExQiwwQkFBMEIsbU5DbEJ2QywyL0NBbURBOzJGRGpDYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0UseUJBQXlCO3FJQUkxQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQYWNrYWdpbmdUeXBlU2VydmljZSB9IGZyb20gJ0Bwcm94eS9jb250cm9sbGVycyc7XG5pbXBvcnQgeyBQYWNrYWdpbmdUeXBlRHRvIH0gZnJvbSAnQHByb3h5L3BhY2thZ2luZy10eXBlcy9kdG9zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXBhY2thZ2luZy10eXBlLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFja2FnaW5nLXR5cGUtZm9ybS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBhY2thZ2luZ1R5cGVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB2aXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1vZGU6ICdjcmVhdGUnIHwgJ2VkaXQnID0gJ2NyZWF0ZSc7XG4gIEBJbnB1dCgpIGN1cnJlbnQ6IFBhY2thZ2luZ1R5cGVEdG8gfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGZvcm0hOiBGb3JtR3JvdXA7XG4gIHNhdmluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogUGFja2FnaW5nVHlwZVNlcnZpY2UsXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydjdXJyZW50J10gfHwgY2hhbmdlc1snbW9kZSddKSB7XG4gICAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbmFtZTogW3RoaXMuY3VycmVudD8ubmFtZSA/PyAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwKV1dLFxuICAgICAgZGlzcGxheU9yZGVyOiBbdGhpcy5jdXJyZW50Py5kaXNwbGF5T3JkZXIgPz8gMCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluKDApXV0sXG4gICAgfSk7XG4gIH1cblxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnY3JlYXRlJ1xuICAgICAgPyAnS2VvcHM6OlBhY2thZ2luZ1R5cGVzOkNyZWF0ZVRpdGxlJ1xuICAgICAgOiAnS2VvcHM6OlBhY2thZ2luZ1R5cGVzOkVkaXRUaXRsZSc7XG4gIH1cblxuICBvblZpc2libGVDaGFuZ2UodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGUgPSB2YWx1ZTtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBzYXZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybS52YWx1ZTtcblxuICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcblxuICAgIGNvbnN0IHJlcXVlc3QkID1cbiAgICAgIHRoaXMubW9kZSA9PT0gJ2NyZWF0ZSdcbiAgICAgICAgPyB0aGlzLnNlcnZpY2UuY3JlYXRlKHZhbHVlKVxuICAgICAgICA6IHRoaXMuc2VydmljZS51cGRhdGUodGhpcy5jdXJyZW50IS5jb2RlISwgdmFsdWUpO1xuXG4gICAgcmVxdWVzdCQucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5zYXZpbmcgPSBmYWxzZSkpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICB0aGlzLnNhdmVkLmVtaXQoKTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxhYnAtbW9kYWxcbiAgWyh2aXNpYmxlKV09XCJ2aXNpYmxlXCJcbiAgKHZpc2libGVDaGFuZ2UpPVwib25WaXNpYmxlQ2hhbmdlKCRldmVudClcIlxuICBbYnVzeV09XCJzYXZpbmdcIlxuICBbb3B0aW9uc109XCJ7IHNpemU6ICdtZCcgfVwiXG4+XG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxuICAgIDxoMz57eyB0aXRsZSB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJuYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+XG4gICAgICAgICAge3sgJ0tlb3BzOjpQYWNrYWdpbmdUeXBlczpOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8aW5wdXQgaWQ9XCJuYW1lXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJkaXNwbGF5T3JkZXJcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cbiAgICAgICAgICB7eyAnS2VvcHM6OlBhY2thZ2luZ1R5cGVzOkRpc3BsYXlPcmRlcicgfCBhYnBMb2NhbGl6YXRpb24gfX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgaWQ9XCJkaXNwbGF5T3JkZXJcIlxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkaXNwbGF5T3JkZXJcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxuICAgIDxidXR0b24gYWJwQ2xvc2UgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIj5cbiAgICAgIHt7ICdBYnBVaTo6Q2FuY2VsJyB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxhYnAtYnV0dG9uXG4gICAgICBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiXG4gICAgICBidXR0b25DbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICBbbG9hZGluZ109XCJzYXZpbmdcIlxuICAgICAgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIlxuICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXG4gICAgPlxuICAgICAge3sgJ0FicFVpOjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgIDwvYWJwLWJ1dHRvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvYWJwLW1vZGFsPlxuIl19
@@ -0,0 +1,69 @@
1
+ import { Component } from '@angular/core';
2
+ import { Confirmation } from '@abp/ng.theme.shared';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@proxy/controllers";
5
+ import * as i2 from "@abp/ng.theme.shared";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@abp/ng.core";
8
+ import * as i5 from "@abp/ng.components/page";
9
+ import * as i6 from "@ng-bootstrap/ng-bootstrap";
10
+ import * as i7 from "devextreme-angular";
11
+ import * as i8 from "devextreme-angular/ui/nested";
12
+ import * as i9 from "devextreme-angular/core";
13
+ import * as i10 from "./packaging-type-form.component";
14
+ export class PackagingTypesComponent {
15
+ constructor(service, toaster, confirmation) {
16
+ this.service = service;
17
+ this.toaster = toaster;
18
+ this.confirmation = confirmation;
19
+ this.items = [];
20
+ this.selected = null;
21
+ this.formVisible = false;
22
+ this.formMode = 'create';
23
+ }
24
+ ngOnInit() {
25
+ this.loadList();
26
+ }
27
+ loadList() {
28
+ this.service.getList().subscribe(data => {
29
+ this.items = data;
30
+ });
31
+ }
32
+ openCreate() {
33
+ this.selected = null;
34
+ this.formMode = 'create';
35
+ this.formVisible = true;
36
+ }
37
+ openEdit(row) {
38
+ this.selected = row;
39
+ this.formMode = 'edit';
40
+ this.formVisible = true;
41
+ }
42
+ onSaved() {
43
+ this.formVisible = false;
44
+ this.selected = null;
45
+ this.toaster.success('AbpUi::SuccessfullySaved');
46
+ this.loadList();
47
+ }
48
+ remove(row) {
49
+ this.confirmation
50
+ .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')
51
+ .subscribe(status => {
52
+ if (status === Confirmation.Status.confirm) {
53
+ this.service.delete(row.code).subscribe({
54
+ next: () => {
55
+ this.toaster.success('AbpUi::SuccessfullyDeleted');
56
+ this.loadList();
57
+ },
58
+ });
59
+ }
60
+ });
61
+ }
62
+ }
63
+ PackagingTypesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackagingTypesComponent, deps: [{ token: i1.PackagingTypeService }, { token: i2.ToasterService }, { token: i2.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
64
+ PackagingTypesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PackagingTypesComponent, selector: "lib-packaging-types", ngImport: i0, template: "<abp-page [title]=\"'Keops::PackagingTypes:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"PackagingTypesToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.PackagingTypes.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::PackagingTypes:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"PackagingTypesWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.PackagingTypes.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.PackagingTypes.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"displayOrder\"\n dataType=\"number\"\n width=\"100\"\n caption=\"{{ 'Keops::PackagingTypes:DisplayOrder' | abpLocalization }}\"\n ></dxi-column>\n <dxi-column\n dataField=\"name\"\n caption=\"{{ 'Keops::PackagingTypes:Name' | abpLocalization }}\"\n ></dxi-column>\n </dx-data-grid>\n </div>\n </div>\n </div>\n</abp-page>\n\n<lib-packaging-type-form\n *ngIf=\"formVisible\"\n [(visible)]=\"formVisible\"\n [mode]=\"formMode\"\n [current]=\"selected\"\n (saved)=\"onSaved()\"\n></lib-packaging-type-form>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i5.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i5.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "directive", type: i6.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i6.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i6.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i6.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i7.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i8.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i8.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i8.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i8.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i8.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i8.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i9.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i10.PackagingTypeFormComponent, selector: "lib-packaging-type-form", inputs: ["visible", "mode", "current"], outputs: ["visibleChange", "saved"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PackagingTypesComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'lib-packaging-types', template: "<abp-page [title]=\"'Keops::PackagingTypes:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"PackagingTypesToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.PackagingTypes.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::PackagingTypes:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"PackagingTypesWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.PackagingTypes.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.PackagingTypes.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"displayOrder\"\n dataType=\"number\"\n width=\"100\"\n caption=\"{{ 'Keops::PackagingTypes:DisplayOrder' | abpLocalization }}\"\n ></dxi-column>\n <dxi-column\n dataField=\"name\"\n caption=\"{{ 'Keops::PackagingTypes:Name' | abpLocalization }}\"\n ></dxi-column>\n </dx-data-grid>\n </div>\n </div>\n </div>\n</abp-page>\n\n<lib-packaging-type-form\n *ngIf=\"formVisible\"\n [(visible)]=\"formVisible\"\n [mode]=\"formMode\"\n [current]=\"selected\"\n (saved)=\"onSaved()\"\n></lib-packaging-type-form>\n" }]
68
+ }], ctorParameters: function () { return [{ type: i1.PackagingTypeService }, { type: i2.ToasterService }, { type: i2.ConfirmationService }]; } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnaW5nLXR5cGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvcGFja2FnaW5nLXR5cGVzL2NvbXBvbmVudHMvcGFja2FnaW5nLXR5cGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvcGFja2FnaW5nLXR5cGVzL2NvbXBvbmVudHMvcGFja2FnaW5nLXR5cGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBdUMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUXpGLE1BQU0sT0FBTyx1QkFBdUI7SUFPbEMsWUFDbUIsT0FBNkIsRUFDN0IsT0FBdUIsRUFDdkIsWUFBaUM7UUFGakMsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBVHBELFVBQUssR0FBdUIsRUFBRSxDQUFDO1FBRS9CLGFBQVEsR0FBNEIsSUFBSSxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBc0IsUUFBUSxDQUFDO0lBTXBDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBcUI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQXFCO1FBQzFCLElBQUksQ0FBQyxZQUFZO2FBQ2QsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLG1CQUFtQixDQUFDO2FBQzVELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDdkMsSUFBSSxFQUFFLEdBQUcsRUFBRTt3QkFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO3dCQUNuRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xCLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O29IQXZEVSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwyRENUcEMsKzFIQTJHQTsyRkRsR2EsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgUGFja2FnaW5nVHlwZVNlcnZpY2UgfSBmcm9tICdAcHJveHkvY29udHJvbGxlcnMnO1xuaW1wb3J0IHsgUGFja2FnaW5nVHlwZUR0byB9IGZyb20gJ0Bwcm94eS9wYWNrYWdpbmctdHlwZXMvZHRvcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1wYWNrYWdpbmctdHlwZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFja2FnaW5nLXR5cGVzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUGFja2FnaW5nVHlwZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpdGVtczogUGFja2FnaW5nVHlwZUR0b1tdID0gW107XG5cbiAgc2VsZWN0ZWQ6IFBhY2thZ2luZ1R5cGVEdG8gfCBudWxsID0gbnVsbDtcbiAgZm9ybVZpc2libGUgPSBmYWxzZTtcbiAgZm9ybU1vZGU6ICdjcmVhdGUnIHwgJ2VkaXQnID0gJ2NyZWF0ZSc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBQYWNrYWdpbmdUeXBlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ZXI6IFRvYXN0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkTGlzdCgpO1xuICB9XG5cbiAgbG9hZExpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLmdldExpc3QoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICB0aGlzLml0ZW1zID0gZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5DcmVhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IG51bGw7XG4gICAgdGhpcy5mb3JtTW9kZSA9ICdjcmVhdGUnO1xuICAgIHRoaXMuZm9ybVZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb3BlbkVkaXQocm93OiBQYWNrYWdpbmdUeXBlRHRvKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHJvdztcbiAgICB0aGlzLmZvcm1Nb2RlID0gJ2VkaXQnO1xuICAgIHRoaXMuZm9ybVZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb25TYXZlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1WaXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZCA9IG51bGw7XG4gICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlTYXZlZCcpO1xuICAgIHRoaXMubG9hZExpc3QoKTtcbiAgfVxuXG4gIHJlbW92ZShyb3c6IFBhY2thZ2luZ1R5cGVEdG8pOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblxuICAgICAgLndhcm4oJ0FicFVpOjpJdGVtV2lsbEJlRGVsZXRlZE1lc3NhZ2UnLCAnQWJwVWk6OkFyZVlvdVN1cmUnKVxuICAgICAgLnN1YnNjcmliZShzdGF0dXMgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBDb25maXJtYXRpb24uU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlKHJvdy5jb2RlISkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlEZWxldGVkJyk7XG4gICAgICAgICAgICAgIHRoaXMubG9hZExpc3QoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCI8YWJwLXBhZ2UgW3RpdGxlXT1cIidLZW9wczo6UGFja2FnaW5nVHlwZXM6VGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uXCI+XG4gIDxhYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lciBjbGFzcz1cImNvbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWVuZCBteC0wXCIgaWQ9XCJQYWNrYWdpbmdUeXBlc1Rvb2xiYXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBweC0xIHB0LTAgcHQtbWQtMiBwZS0wXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidLZW9wc0Nvc3QuUGFja2FnaW5nVHlwZXMuQ3JlYXRlJ1wiXG4gICAgICAgICAgaWQ9XCJjcmVhdGVcIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkNyZWF0ZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cyBtZS0xXCI+PC9pPlxuICAgICAgICAgIDxzcGFuPnt7ICdLZW9wczo6UGFja2FnaW5nVHlwZXM6TmV3JyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9hYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lcj5cblxuICA8ZGl2IGlkPVwiUGFja2FnaW5nVHlwZXNXcmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgICAgICAgPGR4LWRhdGEtZ3JpZFxuICAgICAgICAgIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93Um93TGluZXNdPVwidHJ1ZVwiXG4gICAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIlxuICAgICAgICAgIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxuICAgICAgICAgIFtyb3dBbHRlcm5hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwiaXRlbXNcIlxuICAgICAgICAgIGtleUV4cHI9XCJjb2RlXCJcbiAgICAgICAgICBjb2x1bW5SZXNpemluZ01vZGU9XCJ3aWRnZXRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxuICAgICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8taGVhZGVyLWZpbHRlcj5cbiAgICAgICAgICA8ZHhvLXNlYXJjaC1wYW5lbFxuICAgICAgICAgICAgW3dpZHRoXT1cIjIwMFwiXG4gICAgICAgICAgICBbdmlzaWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQWJwVWk6OlNlYXJjaCcgfCBhYnBMb2NhbGl6YXRpb25cIlxuICAgICAgICAgID48L2R4by1zZWFyY2gtcGFuZWw+XG4gICAgICAgICAgPGR4by1wYWdlclxuICAgICAgICAgICAgW3Zpc2libGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbYWxsb3dlZFBhZ2VTaXplc109XCJbMTAsIDIwLCA1MF1cIlxuICAgICAgICAgICAgW3Nob3dQYWdlU2l6ZVNlbGVjdG9yXT1cInRydWVcIlxuICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uQnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICA+PC9keG8tcGFnZXI+XG4gICAgICAgICAgPGR4by1wYWdpbmcgW3BhZ2VTaXplXT1cIjEwXCI+PC9keG8tcGFnaW5nPlxuICAgICAgICAgIDxkeGktY29sdW1uXG4gICAgICAgICAgICBbZml4ZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbYWxsb3dGaWx0ZXJpbmddPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2FsbG93SGVhZGVyRmlsdGVyaW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFthbGxvd1Jlb3JkZXJpbmddPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2FsbG93SGlkaW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFthbGxvd0dyb3VwaW5nXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFthbGxvd1NvcnRpbmddPVwiZmFsc2VcIlxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlPVwib3B0VHBsXCJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcbiAgICAgICAgICAgIHdpZHRoPVwiMTIwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHJvdyBvZiAnb3B0VHBsJ1wiPlxuICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duIGNvbnRhaW5lcj1cImJvZHlcIiBjbGFzcz1cImQtaW5saW5lLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIiBuZ2JEcm9wZG93blRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY29nIG1lLTFcIj48L2k+XG4gICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnU+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ0tlb3BzQ29zdC5QYWNrYWdpbmdUeXBlcy5VcGRhdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgbmdiRHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRWRpdChyb3cuZGF0YSlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKmFicFBlcm1pc3Npb249XCInS2VvcHNDb3N0LlBhY2thZ2luZ1R5cGVzLkRlbGV0ZSdcIlxuICAgICAgICAgICAgICAgICAgICBuZ2JEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZShyb3cuZGF0YSlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkRlbGV0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZHhpLWNvbHVtbj5cbiAgICAgICAgICA8ZHhpLWNvbHVtblxuICAgICAgICAgICAgZGF0YUZpZWxkPVwiZGlzcGxheU9yZGVyXCJcbiAgICAgICAgICAgIGRhdGFUeXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgIHdpZHRoPVwiMTAwXCJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6OlBhY2thZ2luZ1R5cGVzOkRpc3BsYXlPcmRlcicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XG4gICAgICAgICAgPGR4aS1jb2x1bW5cbiAgICAgICAgICAgIGRhdGFGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgY2FwdGlvbj1cInt7ICdLZW9wczo6UGFja2FnaW5nVHlwZXM6TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XG4gICAgICAgIDwvZHgtZGF0YS1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9hYnAtcGFnZT5cblxuPGxpYi1wYWNrYWdpbmctdHlwZS1mb3JtXG4gICpuZ0lmPVwiZm9ybVZpc2libGVcIlxuICBbKHZpc2libGUpXT1cImZvcm1WaXNpYmxlXCJcbiAgW21vZGVdPVwiZm9ybU1vZGVcIlxuICBbY3VycmVudF09XCJzZWxlY3RlZFwiXG4gIChzYXZlZCk9XCJvblNhdmVkKClcIlxuPjwvbGliLXBhY2thZ2luZy10eXBlLWZvcm0+XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { AuthGuard, PermissionGuard } from '@abp/ng.core';
4
+ import { PackagingTypesComponent } from './components/packaging-types.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ const routes = [
8
+ {
9
+ path: '',
10
+ component: PackagingTypesComponent,
11
+ canActivate: [AuthGuard, PermissionGuard],
12
+ data: {
13
+ requiredPolicy: 'KeopsCost.PackagingTypes',
14
+ },
15
+ },
16
+ ];
17
+ export class HitPackagingTypesRoutingModule {
18
+ }
19
+ HitPackagingTypesRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPackagingTypesRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ HitPackagingTypesRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitPackagingTypesRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
21
+ HitPackagingTypesRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPackagingTypesRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPackagingTypesRoutingModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ imports: [RouterModule.forChild(routes)],
26
+ exports: [RouterModule],
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXBhY2thZ2luZy10eXBlcy1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvcGFja2FnaW5nLXR5cGVzL2hpdC1wYWNrYWdpbmctdHlwZXMtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQUVqRixNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLHVCQUF1QjtRQUNsQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQ3pDLElBQUksRUFBRTtZQUNKLGNBQWMsRUFBRSwwQkFBMEI7U0FDM0M7S0FDRjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sOEJBQThCOzsySEFBOUIsOEJBQThCOzRIQUE5Qiw4QkFBOEIsd0NBRi9CLFlBQVk7NEhBRVgsOEJBQThCLFlBSC9CLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7MkZBRVgsOEJBQThCO2tCQUoxQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXV0aEd1YXJkLCBQZXJtaXNzaW9uR3VhcmQgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgUGFja2FnaW5nVHlwZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFja2FnaW5nLXR5cGVzLmNvbXBvbmVudCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJycsXG4gICAgY29tcG9uZW50OiBQYWNrYWdpbmdUeXBlc0NvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkXSxcbiAgICBkYXRhOiB7XG4gICAgICByZXF1aXJlZFBvbGljeTogJ0tlb3BzQ29zdC5QYWNrYWdpbmdUeXBlcycsXG4gICAgfSxcbiAgfSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBIaXRQYWNrYWdpbmdUeXBlc1JvdXRpbmdNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { CoreModule } from '@abp/ng.core';
5
+ import { ThemeSharedModule } from '@abp/ng.theme.shared';
6
+ import { PageModule } from '@abp/ng.components/page';
7
+ import { CommercialUiModule } from '@volo/abp.commercial.ng.ui';
8
+ import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
9
+ import { PackagingTypesComponent } from './components/packaging-types.component';
10
+ import { PackagingTypeFormComponent } from './components/packaging-type-form.component';
11
+ import { HitPackagingTypesRoutingModule } from './hit-packaging-types-routing.module';
12
+ import { DxDataGridModule } from 'devextreme-angular';
13
+ import * as i0 from "@angular/core";
14
+ export class HitPackagingTypesModule {
15
+ }
16
+ HitPackagingTypesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPackagingTypesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ HitPackagingTypesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitPackagingTypesModule, declarations: [PackagingTypesComponent, PackagingTypeFormComponent], imports: [CommonModule,
18
+ FormsModule,
19
+ ReactiveFormsModule,
20
+ CoreModule,
21
+ ThemeSharedModule,
22
+ PageModule,
23
+ CommercialUiModule,
24
+ NgbDropdownModule,
25
+ HitPackagingTypesRoutingModule,
26
+ DxDataGridModule] });
27
+ HitPackagingTypesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPackagingTypesModule, imports: [CommonModule,
28
+ FormsModule,
29
+ ReactiveFormsModule,
30
+ CoreModule,
31
+ ThemeSharedModule,
32
+ PageModule,
33
+ CommercialUiModule,
34
+ NgbDropdownModule,
35
+ HitPackagingTypesRoutingModule,
36
+ DxDataGridModule] });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPackagingTypesModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ declarations: [PackagingTypesComponent, PackagingTypeFormComponent],
41
+ imports: [
42
+ CommonModule,
43
+ FormsModule,
44
+ ReactiveFormsModule,
45
+ CoreModule,
46
+ ThemeSharedModule,
47
+ PageModule,
48
+ CommercialUiModule,
49
+ NgbDropdownModule,
50
+ HitPackagingTypesRoutingModule,
51
+ DxDataGridModule,
52
+ ],
53
+ }]
54
+ }] });
55
+ export function loadHitPackagingTypesModuleAsChild() {
56
+ return Promise.resolve(HitPackagingTypesModule);
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXBhY2thZ2luZy10eXBlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL3BhY2thZ2luZy10eXBlcy9oaXQtcGFja2FnaW5nLXR5cGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBaUJ0RCxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBZG5CLHVCQUF1QixFQUFFLDBCQUEwQixhQUVoRSxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLDhCQUE4QjtRQUM5QixnQkFBZ0I7cUhBR1AsdUJBQXVCLFlBWmhDLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsOEJBQThCO1FBQzlCLGdCQUFnQjsyRkFHUCx1QkFBdUI7a0JBZm5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsMEJBQTBCLENBQUM7b0JBQ25FLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsVUFBVTt3QkFDVixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsOEJBQThCO3dCQUM5QixnQkFBZ0I7cUJBQ2pCO2lCQUNGOztBQUdELE1BQU0sVUFBVSxrQ0FBa0M7SUFDaEQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgUGFnZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IENvbW1lcmNpYWxVaU1vZHVsZSB9IGZyb20gJ0B2b2xvL2FicC5jb21tZXJjaWFsLm5nLnVpJztcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgUGFja2FnaW5nVHlwZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFja2FnaW5nLXR5cGVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWNrYWdpbmdUeXBlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWNrYWdpbmctdHlwZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIaXRQYWNrYWdpbmdUeXBlc1JvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2hpdC1wYWNrYWdpbmctdHlwZXMtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgRHhEYXRhR3JpZE1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1BhY2thZ2luZ1R5cGVzQ29tcG9uZW50LCBQYWNrYWdpbmdUeXBlRm9ybUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDb3JlTW9kdWxlLFxuICAgIFRoZW1lU2hhcmVkTW9kdWxlLFxuICAgIFBhZ2VNb2R1bGUsXG4gICAgQ29tbWVyY2lhbFVpTW9kdWxlLFxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxuICAgIEhpdFBhY2thZ2luZ1R5cGVzUm91dGluZ01vZHVsZSxcbiAgICBEeERhdGFHcmlkTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBIaXRQYWNrYWdpbmdUeXBlc01vZHVsZSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEhpdFBhY2thZ2luZ1R5cGVzTW9kdWxlQXNDaGlsZCgpIHtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShIaXRQYWNrYWdpbmdUeXBlc01vZHVsZSk7XG59XG4iXX0=
@@ -0,0 +1,80 @@
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { finalize } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "@proxy/controllers";
7
+ import * as i3 from "@abp/ng.core";
8
+ import * as i4 from "@abp/ng.theme.shared";
9
+ export class PalletDefinitionFormComponent {
10
+ constructor(fb, service) {
11
+ this.fb = fb;
12
+ this.service = service;
13
+ this.visible = false;
14
+ this.mode = 'create';
15
+ this.current = null;
16
+ this.visibleChange = new EventEmitter();
17
+ this.saved = new EventEmitter();
18
+ this.saving = false;
19
+ }
20
+ ngOnInit() {
21
+ this.buildForm();
22
+ }
23
+ ngOnChanges(changes) {
24
+ if (changes['current'] || changes['mode']) {
25
+ this.buildForm();
26
+ }
27
+ }
28
+ buildForm() {
29
+ this.form = this.fb.group({
30
+ name: [this.current?.name ?? '', [Validators.required, Validators.maxLength(256)]],
31
+ dimensionCm: [this.current?.dimensionCm ?? '', [Validators.maxLength(64)]],
32
+ weightKg: [this.current?.weightKg ?? 0, [Validators.required, Validators.min(0)]],
33
+ isActive: [this.current?.isActive ?? true],
34
+ });
35
+ }
36
+ get title() {
37
+ return this.mode === 'create'
38
+ ? 'Keops::PalletDefinitions:CreateTitle'
39
+ : 'Keops::PalletDefinitions:EditTitle';
40
+ }
41
+ onVisibleChange(value) {
42
+ this.visible = value;
43
+ this.visibleChange.emit(value);
44
+ }
45
+ save() {
46
+ if (this.form.invalid) {
47
+ this.form.markAllAsTouched();
48
+ return;
49
+ }
50
+ const value = this.form.getRawValue();
51
+ this.saving = true;
52
+ const request$ = this.mode === 'create'
53
+ ? this.service.create(value)
54
+ : this.service.update(this.current.code, value);
55
+ request$.pipe(finalize(() => (this.saving = false))).subscribe({
56
+ next: () => {
57
+ this.saved.emit();
58
+ this.visible = false;
59
+ this.visibleChange.emit(false);
60
+ },
61
+ });
62
+ }
63
+ }
64
+ PalletDefinitionFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PalletDefinitionFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PalletDefinitionService }], target: i0.ɵɵFactoryTarget.Component });
65
+ PalletDefinitionFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PalletDefinitionFormComponent, selector: "lib-pallet-definition-form", inputs: { visible: "visible", mode: "mode", current: "current" }, outputs: { visibleChange: "visibleChange", saved: "saved" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'md' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">\r\n {{ 'Keops::PalletDefinitions:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"name\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"dimensionCm\" class=\"form-label\">\r\n {{ 'Keops::PalletDefinitions:DimensionCm' | abpLocalization }}\r\n </label>\r\n <input\r\n id=\"dimensionCm\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"dimensionCm\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"weightKg\" class=\"form-label\">\r\n {{ 'Keops::PalletDefinitions:WeightKg' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"weightKg\"\r\n type=\"number\"\r\n min=\"0\"\r\n step=\"any\"\r\n class=\"form-control\"\r\n formControlName=\"weightKg\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3 form-check\">\r\n <input\r\n id=\"isActive\"\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n formControlName=\"isActive\"\r\n />\r\n <label for=\"isActive\" class=\"form-check-label\">\r\n {{ 'Keops::PalletDefinitions:IsActive' | abpLocalization }}\r\n </label>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i4.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i4.ModalCloseDirective, selector: "[abpClose]" }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PalletDefinitionFormComponent, decorators: [{
67
+ type: Component,
68
+ args: [{ selector: 'lib-pallet-definition-form', template: "<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'md' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">\r\n {{ 'Keops::PalletDefinitions:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"name\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"dimensionCm\" class=\"form-label\">\r\n {{ 'Keops::PalletDefinitions:DimensionCm' | abpLocalization }}\r\n </label>\r\n <input\r\n id=\"dimensionCm\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"dimensionCm\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"weightKg\" class=\"form-label\">\r\n {{ 'Keops::PalletDefinitions:WeightKg' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"weightKg\"\r\n type=\"number\"\r\n min=\"0\"\r\n step=\"any\"\r\n class=\"form-control\"\r\n formControlName=\"weightKg\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3 form-check\">\r\n <input\r\n id=\"isActive\"\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n formControlName=\"isActive\"\r\n />\r\n <label for=\"isActive\" class=\"form-check-label\">\r\n {{ 'Keops::PalletDefinitions:IsActive' | abpLocalization }}\r\n </label>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
69
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.PalletDefinitionService }]; }, propDecorators: { visible: [{
70
+ type: Input
71
+ }], mode: [{
72
+ type: Input
73
+ }], current: [{
74
+ type: Input
75
+ }], visibleChange: [{
76
+ type: Output
77
+ }], saved: [{
78
+ type: Output
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFsbGV0LWRlZmluaXRpb24tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL3BhbGxldC1kZWZpbml0aW9ucy9jb21wb25lbnRzL3BhbGxldC1kZWZpbml0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9wYWxsZXQtZGVmaW5pdGlvbnMvY29tcG9uZW50cy9wYWxsZXQtZGVmaW5pdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVExQyxNQUFNLE9BQU8sNkJBQTZCO0lBV3hDLFlBQ21CLEVBQWUsRUFDZixPQUFnQztRQURoQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFaMUMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixTQUFJLEdBQXNCLFFBQVEsQ0FBQztRQUNuQyxZQUFPLEdBQStCLElBQUksQ0FBQztRQUUxQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHM0MsV0FBTSxHQUFHLEtBQUssQ0FBQztJQUtaLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNsRixXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUUsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakYsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUMzQixDQUFDLENBQUMsc0NBQXNDO1lBQ3hDLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM3QixPQUFPO1NBQ1I7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXRDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBRW5CLE1BQU0sUUFBUSxHQUNaLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLElBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV0RCxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3RCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MEhBcEVVLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLHNOQ2xCMUMsaTdFQWlGQTsyRkQvRGEsNkJBQTZCO2tCQUp6QyxTQUFTOytCQUNFLDRCQUE0Qjt3SUFJN0IsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFBhbGxldERlZmluaXRpb25TZXJ2aWNlIH0gZnJvbSAnQHByb3h5L2NvbnRyb2xsZXJzJztcclxuaW1wb3J0IHsgUGFsbGV0RGVmaW5pdGlvbkR0byB9IGZyb20gJ0Bwcm94eS9wYWxsZXQtZGVmaW5pdGlvbnMvZHRvcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1wYWxsZXQtZGVmaW5pdGlvbi1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFsbGV0LWRlZmluaXRpb24tZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWxsZXREZWZpbml0aW9uRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB2aXNpYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbW9kZTogJ2NyZWF0ZScgfCAnZWRpdCcgPSAnY3JlYXRlJztcclxuICBASW5wdXQoKSBjdXJyZW50OiBQYWxsZXREZWZpbml0aW9uRHRvIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBzYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuICBzYXZpbmcgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogUGFsbGV0RGVmaW5pdGlvblNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snY3VycmVudCddIHx8IGNoYW5nZXNbJ21vZGUnXSkge1xyXG4gICAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgbmFtZTogW3RoaXMuY3VycmVudD8ubmFtZSA/PyAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcclxuICAgICAgZGltZW5zaW9uQ206IFt0aGlzLmN1cnJlbnQ/LmRpbWVuc2lvbkNtID8/ICcnLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNjQpXV0sXHJcbiAgICAgIHdlaWdodEtnOiBbdGhpcy5jdXJyZW50Py53ZWlnaHRLZyA/PyAwLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMCldXSxcclxuICAgICAgaXNBY3RpdmU6IFt0aGlzLmN1cnJlbnQ/LmlzQWN0aXZlID8/IHRydWVdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdjcmVhdGUnXHJcbiAgICAgID8gJ0tlb3BzOjpQYWxsZXREZWZpbml0aW9uczpDcmVhdGVUaXRsZSdcclxuICAgICAgOiAnS2VvcHM6OlBhbGxldERlZmluaXRpb25zOkVkaXRUaXRsZSc7XHJcbiAgfVxyXG5cclxuICBvblZpc2libGVDaGFuZ2UodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMudmlzaWJsZSA9IHZhbHVlO1xyXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xyXG4gICAgICB0aGlzLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKTtcclxuXHJcbiAgICB0aGlzLnNhdmluZyA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdCQgPVxyXG4gICAgICB0aGlzLm1vZGUgPT09ICdjcmVhdGUnXHJcbiAgICAgICAgPyB0aGlzLnNlcnZpY2UuY3JlYXRlKHZhbHVlKVxyXG4gICAgICAgIDogdGhpcy5zZXJ2aWNlLnVwZGF0ZSh0aGlzLmN1cnJlbnQhLmNvZGUhLCB2YWx1ZSk7XHJcblxyXG4gICAgcmVxdWVzdCQucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5zYXZpbmcgPSBmYWxzZSkpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zYXZlZC5lbWl0KCk7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtbW9kYWxcclxuICBbKHZpc2libGUpXT1cInZpc2libGVcIlxyXG4gICh2aXNpYmxlQ2hhbmdlKT1cIm9uVmlzaWJsZUNoYW5nZSgkZXZlbnQpXCJcclxuICBbYnVzeV09XCJzYXZpbmdcIlxyXG4gIFtvcHRpb25zXT1cInsgc2l6ZTogJ21kJyB9XCJcclxuPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPnt7IHRpdGxlIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEJvZHk+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic2F2ZSgpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cIm5hbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgIHt7ICdLZW9wczo6UGFsbGV0RGVmaW5pdGlvbnM6TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBpZD1cIm5hbWVcIlxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJkaW1lbnNpb25DbVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgJ0tlb3BzOjpQYWxsZXREZWZpbml0aW9uczpEaW1lbnNpb25DbScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgaWQ9XCJkaW1lbnNpb25DbVwiXHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkaW1lbnNpb25DbVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJ3ZWlnaHRLZ1wiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgJ0tlb3BzOjpQYWxsZXREZWZpbml0aW9uczpXZWlnaHRLZycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBpZD1cIndlaWdodEtnXCJcclxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgbWluPVwiMFwiXHJcbiAgICAgICAgICBzdGVwPVwiYW55XCJcclxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIndlaWdodEtnXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGZvcm0tY2hlY2tcIj5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIGlkPVwiaXNBY3RpdmVcIlxyXG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc0FjdGl2ZVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiaXNBY3RpdmVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgIHt7ICdLZW9wczo6UGFsbGV0RGVmaW5pdGlvbnM6SXNBY3RpdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBGb290ZXI+XHJcbiAgICA8YnV0dG9uIGFicENsb3NlIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCI+XHJcbiAgICAgIHt7ICdBYnBVaTo6Q2FuY2VsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YWJwLWJ1dHRvblxyXG4gICAgICBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiXHJcbiAgICAgIGJ1dHRvbkNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgW2xvYWRpbmddPVwic2F2aW5nXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIlxyXG4gICAgICAoY2xpY2spPVwic2F2ZSgpXCJcclxuICAgID5cclxuICAgICAge3sgJ0FicFVpOjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9hYnAtYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYWJwLW1vZGFsPlxyXG4iXX0=