@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,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 "./container-definition-form.component";
14
+ export class ContainerDefinitionsComponent {
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
+ ContainerDefinitionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContainerDefinitionsComponent, deps: [{ token: i1.ContainerDefinitionService }, { token: i2.ToasterService }, { token: i2.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
64
+ ContainerDefinitionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ContainerDefinitionsComponent, selector: "lib-container-definitions", ngImport: i0, template: "<abp-page [title]=\"'Keops::ContainerDefinitions:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"ContainerDefinitionsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerDefinitions.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::ContainerDefinitions:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"ContainerDefinitionsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\r\n >\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\"\r\n ></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerDefinitions.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerDefinitions.Delete'\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"innerVolumeM3\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:InnerVolumeM3' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"netLoadKg\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:NetLoadKg' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"grossLoadKg\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:GrossLoadKg' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"isActive\"\r\n dataType=\"boolean\"\r\n width=\"110\"\r\n alignment=\"center\"\r\n cellTemplate=\"isActiveTpl\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:IsActive' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'isActiveTpl'\">\r\n <i\r\n class=\"fa\"\r\n [class.fa-check]=\"row.data.isActive\"\r\n [class.text-success]=\"row.data.isActive\"\r\n [class.fa-times]=\"!row.data.isActive\"\r\n [class.text-danger]=\"!row.data.isActive\"\r\n ></i>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-container-definition-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n (saved)=\"onSaved()\"\r\n></lib-container-definition-form>\r\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.ContainerDefinitionFormComponent, selector: "lib-container-definition-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: ContainerDefinitionsComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'lib-container-definitions', template: "<abp-page [title]=\"'Keops::ContainerDefinitions:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"ContainerDefinitionsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerDefinitions.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::ContainerDefinitions:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"ContainerDefinitionsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\r\n >\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\"\r\n ></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerDefinitions.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerDefinitions.Delete'\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"innerVolumeM3\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:InnerVolumeM3' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"netLoadKg\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:NetLoadKg' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"grossLoadKg\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:GrossLoadKg' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"isActive\"\r\n dataType=\"boolean\"\r\n width=\"110\"\r\n alignment=\"center\"\r\n cellTemplate=\"isActiveTpl\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:IsActive' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'isActiveTpl'\">\r\n <i\r\n class=\"fa\"\r\n [class.fa-check]=\"row.data.isActive\"\r\n [class.text-success]=\"row.data.isActive\"\r\n [class.fa-times]=\"!row.data.isActive\"\r\n [class.text-danger]=\"!row.data.isActive\"\r\n ></i>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-container-definition-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n (saved)=\"onSaved()\"\r\n></lib-container-definition-form>\r\n" }]
68
+ }], ctorParameters: function () { return [{ type: i1.ContainerDefinitionService }, { type: i2.ToasterService }, { type: i2.ConfirmationService }]; } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLWRlZmluaXRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29udGFpbmVyLWRlZmluaXRpb25zL2NvbXBvbmVudHMvY29udGFpbmVyLWRlZmluaXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29udGFpbmVyLWRlZmluaXRpb25zL2NvbXBvbmVudHMvY29udGFpbmVyLWRlZmluaXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUF1QixZQUFZLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7OztBQVF6RixNQUFNLE9BQU8sNkJBQTZCO0lBT3hDLFlBQ21CLE9BQW1DLEVBQ25DLE9BQXVCLEVBQ3ZCLFlBQWlDO1FBRmpDLFlBQU8sR0FBUCxPQUFPLENBQTRCO1FBQ25DLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQVRwRCxVQUFLLEdBQTZCLEVBQUUsQ0FBQztRQUVyQyxhQUFRLEdBQWtDLElBQUksQ0FBQztRQUMvQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixhQUFRLEdBQXNCLFFBQVEsQ0FBQztJQU1wQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQTJCO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUEyQjtRQUNoQyxJQUFJLENBQUMsWUFBWTthQUNkLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxtQkFBbUIsQ0FBQzthQUM1RCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxNQUFNLEtBQUssWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ3ZDLElBQUksRUFBRSxHQUFHLEVBQUU7d0JBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQzt3QkFDbkQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNsQixDQUFDO2lCQUNGLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzswSEF2RFUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsaUVDVDFDLHN4S0FzSUE7MkZEN0hhLDZCQUE2QjtrQkFKekMsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBDb25maXJtYXRpb24sIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBDb250YWluZXJEZWZpbml0aW9uU2VydmljZSB9IGZyb20gJ0Bwcm94eS9jb250cm9sbGVycyc7XHJcbmltcG9ydCB7IENvbnRhaW5lckRlZmluaXRpb25EdG8gfSBmcm9tICdAcHJveHkvY29udGFpbmVyLWRlZmluaXRpb25zL2R0b3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29udGFpbmVyLWRlZmluaXRpb25zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFpbmVyLWRlZmluaXRpb25zLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRhaW5lckRlZmluaXRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBpdGVtczogQ29udGFpbmVyRGVmaW5pdGlvbkR0b1tdID0gW107XHJcblxyXG4gIHNlbGVjdGVkOiBDb250YWluZXJEZWZpbml0aW9uRHRvIHwgbnVsbCA9IG51bGw7XHJcbiAgZm9ybVZpc2libGUgPSBmYWxzZTtcclxuICBmb3JtTW9kZTogJ2NyZWF0ZScgfCAnZWRpdCcgPSAnY3JlYXRlJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IENvbnRhaW5lckRlZmluaXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2FzdGVyOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBsb2FkTGlzdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXRMaXN0KCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLml0ZW1zID0gZGF0YTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkNyZWF0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSBudWxsO1xyXG4gICAgdGhpcy5mb3JtTW9kZSA9ICdjcmVhdGUnO1xyXG4gICAgdGhpcy5mb3JtVmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvcGVuRWRpdChyb3c6IENvbnRhaW5lckRlZmluaXRpb25EdG8pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSByb3c7XHJcbiAgICB0aGlzLmZvcm1Nb2RlID0gJ2VkaXQnO1xyXG4gICAgdGhpcy5mb3JtVmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvblNhdmVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IG51bGw7XHJcbiAgICB0aGlzLnRvYXN0ZXIuc3VjY2VzcygnQWJwVWk6OlN1Y2Nlc3NmdWxseVNhdmVkJyk7XHJcbiAgICB0aGlzLmxvYWRMaXN0KCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUocm93OiBDb250YWluZXJEZWZpbml0aW9uRHRvKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblxyXG4gICAgICAud2FybignQWJwVWk6Okl0ZW1XaWxsQmVEZWxldGVkTWVzc2FnZScsICdBYnBVaTo6QXJlWW91U3VyZScpXHJcbiAgICAgIC5zdWJzY3JpYmUoc3RhdHVzID0+IHtcclxuICAgICAgICBpZiAoc3RhdHVzID09PSBDb25maXJtYXRpb24uU3RhdHVzLmNvbmZpcm0pIHtcclxuICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGUocm93LmNvZGUhKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlEZWxldGVkJyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkTGlzdCgpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFt0aXRsZV09XCInS2VvcHM6OkNvbnRhaW5lckRlZmluaXRpb25zOlRpdGxlJyB8IGFicExvY2FsaXphdGlvblwiPlxyXG4gIDxhYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lciBjbGFzcz1cImNvbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtZW5kIG14LTBcIiBpZD1cIkNvbnRhaW5lckRlZmluaXRpb25zVG9vbGJhclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gcHgtMSBwdC0wIHB0LW1kLTIgcGUtMFwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ0tlb3BzSXRlbU1hc3RlckRhdGEuQ29udGFpbmVyRGVmaW5pdGlvbnMuQ3JlYXRlJ1wiXHJcbiAgICAgICAgICBpZD1cImNyZWF0ZVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIChjbGljayk9XCJvcGVuQ3JlYXRlKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cyBtZS0xXCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4+e3sgJ0tlb3BzOjpDb250YWluZXJEZWZpbml0aW9uczpOZXcnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvYWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXI+XHJcblxyXG4gIDxkaXYgaWQ9XCJDb250YWluZXJEZWZpbml0aW9uc1dyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZHgtZGF0YS1ncmlkXHJcbiAgICAgICAgICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxyXG4gICAgICAgICAgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxyXG4gICAgICAgICAgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCJcclxuICAgICAgICAgIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgW3Jvd0FsdGVybmF0aW9uRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgIFtkYXRhU291cmNlXT1cIml0ZW1zXCJcclxuICAgICAgICAgIGtleUV4cHI9XCJjb2RlXCJcclxuICAgICAgICAgIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxyXG4gICAgICAgICAgPGR4by1oZWFkZXItZmlsdGVyIFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1oZWFkZXItZmlsdGVyPlxyXG4gICAgICAgICAgPGR4by1zZWFyY2gtcGFuZWxcclxuICAgICAgICAgICAgW3dpZHRoXT1cIjIwMFwiXHJcbiAgICAgICAgICAgIFt2aXNpYmxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FicFVpOjpTZWFyY2gnIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgID48L2R4by1zZWFyY2gtcGFuZWw+XHJcbiAgICAgICAgICA8ZHhvLXBhZ2VyXHJcbiAgICAgICAgICAgIFt2aXNpYmxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFthbGxvd2VkUGFnZVNpemVzXT1cIlsxMCwgMjAsIDUwXVwiXHJcbiAgICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uQnV0dG9uc109XCJ0cnVlXCJcclxuICAgICAgICAgID48L2R4by1wYWdlcj5cclxuICAgICAgICAgIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCIxMFwiPjwvZHhvLXBhZ2luZz5cclxuICAgICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICAgIFtmaXhlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2FsbG93RmlsdGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93SGVhZGVyRmlsdGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93UmVvcmRlcmluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFthbGxvd0hpZGluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFthbGxvd0dyb3VwaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93U29ydGluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZT1cIm9wdFRwbFwiXHJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgICAgd2lkdGg9XCIxMjBcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHJvdyBvZiAnb3B0VHBsJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd24gY29udGFpbmVyPVwiYm9keVwiIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCIgbmdiRHJvcGRvd25Ub2dnbGU+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY29nIG1lLTFcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6QWN0aW9ucycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnU+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidLZW9wc0l0ZW1NYXN0ZXJEYXRhLkNvbnRhaW5lckRlZmluaXRpb25zLlVwZGF0ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRWRpdChyb3cuZGF0YSlcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ0tlb3BzSXRlbU1hc3RlckRhdGEuQ29udGFpbmVyRGVmaW5pdGlvbnMuRGVsZXRlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgbmdiRHJvcGRvd25JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZShyb3cuZGF0YSlcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpEZWxldGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9keGktY29sdW1uPlxyXG4gICAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgICAgZGF0YUZpZWxkPVwibmFtZVwiXHJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6OkNvbnRhaW5lckRlZmluaXRpb25zOk5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgICBkYXRhRmllbGQ9XCJpbm5lclZvbHVtZU0zXCJcclxuICAgICAgICAgICAgZGF0YVR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0tlb3BzOjpDb250YWluZXJEZWZpbml0aW9uczpJbm5lclZvbHVtZU0zJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICA+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgICAgZGF0YUZpZWxkPVwibmV0TG9hZEtnXCJcclxuICAgICAgICAgICAgZGF0YVR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0tlb3BzOjpDb250YWluZXJEZWZpbml0aW9uczpOZXRMb2FkS2cnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgICBkYXRhRmllbGQ9XCJncm9zc0xvYWRLZ1wiXHJcbiAgICAgICAgICAgIGRhdGFUeXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgY2FwdGlvbj1cInt7ICdLZW9wczo6Q29udGFpbmVyRGVmaW5pdGlvbnM6R3Jvc3NMb2FkS2cnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgICBkYXRhRmllbGQ9XCJpc0FjdGl2ZVwiXHJcbiAgICAgICAgICAgIGRhdGFUeXBlPVwiYm9vbGVhblwiXHJcbiAgICAgICAgICAgIHdpZHRoPVwiMTEwXCJcclxuICAgICAgICAgICAgYWxpZ25tZW50PVwiY2VudGVyXCJcclxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlPVwiaXNBY3RpdmVUcGxcIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0tlb3BzOjpDb250YWluZXJEZWZpbml0aW9uczpJc0FjdGl2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHJvdyBvZiAnaXNBY3RpdmVUcGwnXCI+XHJcbiAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmFcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZhLWNoZWNrXT1cInJvdy5kYXRhLmlzQWN0aXZlXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy50ZXh0LXN1Y2Nlc3NdPVwicm93LmRhdGEuaXNBY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZhLXRpbWVzXT1cIiFyb3cuZGF0YS5pc0FjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MudGV4dC1kYW5nZXJdPVwiIXJvdy5kYXRhLmlzQWN0aXZlXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9hYnAtcGFnZT5cclxuXHJcbjxsaWItY29udGFpbmVyLWRlZmluaXRpb24tZm9ybVxyXG4gICpuZ0lmPVwiZm9ybVZpc2libGVcIlxyXG4gIFsodmlzaWJsZSldPVwiZm9ybVZpc2libGVcIlxyXG4gIFttb2RlXT1cImZvcm1Nb2RlXCJcclxuICBbY3VycmVudF09XCJzZWxlY3RlZFwiXHJcbiAgKHNhdmVkKT1cIm9uU2F2ZWQoKVwiXHJcbj48L2xpYi1jb250YWluZXItZGVmaW5pdGlvbi1mb3JtPlxyXG4iXX0=
@@ -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 { ContainerDefinitionsComponent } from './components/container-definitions.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ const routes = [
8
+ {
9
+ path: '',
10
+ component: ContainerDefinitionsComponent,
11
+ canActivate: [AuthGuard, PermissionGuard],
12
+ data: {
13
+ requiredPolicy: 'KeopsItemMasterData.ContainerDefinitions',
14
+ },
15
+ },
16
+ ];
17
+ export class HitContainerDefinitionsRoutingModule {
18
+ }
19
+ HitContainerDefinitionsRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerDefinitionsRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ HitContainerDefinitionsRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitContainerDefinitionsRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
21
+ HitContainerDefinitionsRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerDefinitionsRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerDefinitionsRoutingModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ imports: [RouterModule.forChild(routes)],
26
+ exports: [RouterModule],
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvbnRhaW5lci1kZWZpbml0aW9ucy1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29udGFpbmVyLWRlZmluaXRpb25zL2hpdC1jb250YWluZXItZGVmaW5pdGlvbnMtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7OztBQUU3RixNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLDZCQUE2QjtRQUN4QyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQ3pDLElBQUksRUFBRTtZQUNKLGNBQWMsRUFBRSwwQ0FBMEM7U0FDM0Q7S0FDRjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sb0NBQW9DOztpSUFBcEMsb0NBQW9DO2tJQUFwQyxvQ0FBb0Msd0NBRnJDLFlBQVk7a0lBRVgsb0NBQW9DLFlBSHJDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7MkZBRVgsb0NBQW9DO2tCQUpoRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQ29udGFpbmVyRGVmaW5pdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udGFpbmVyLWRlZmluaXRpb25zLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7XHJcbiAgICBwYXRoOiAnJyxcclxuICAgIGNvbXBvbmVudDogQ29udGFpbmVyRGVmaW5pdGlvbnNDb21wb25lbnQsXHJcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkXSxcclxuICAgIGRhdGE6IHtcclxuICAgICAgcmVxdWlyZWRQb2xpY3k6ICdLZW9wc0l0ZW1NYXN0ZXJEYXRhLkNvbnRhaW5lckRlZmluaXRpb25zJyxcclxuICAgIH0sXHJcbiAgfSxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcclxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpdENvbnRhaW5lckRlZmluaXRpb25zUm91dGluZ01vZHVsZSB7fVxyXG4iXX0=
@@ -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 { ContainerDefinitionsComponent } from './components/container-definitions.component';
10
+ import { ContainerDefinitionFormComponent } from './components/container-definition-form.component';
11
+ import { HitContainerDefinitionsRoutingModule } from './hit-container-definitions-routing.module';
12
+ import { DxDataGridModule } from 'devextreme-angular';
13
+ import * as i0 from "@angular/core";
14
+ export class HitContainerDefinitionsModule {
15
+ }
16
+ HitContainerDefinitionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerDefinitionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ HitContainerDefinitionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitContainerDefinitionsModule, declarations: [ContainerDefinitionsComponent, ContainerDefinitionFormComponent], imports: [CommonModule,
18
+ FormsModule,
19
+ ReactiveFormsModule,
20
+ CoreModule,
21
+ ThemeSharedModule,
22
+ PageModule,
23
+ CommercialUiModule,
24
+ NgbDropdownModule,
25
+ HitContainerDefinitionsRoutingModule,
26
+ DxDataGridModule] });
27
+ HitContainerDefinitionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerDefinitionsModule, imports: [CommonModule,
28
+ FormsModule,
29
+ ReactiveFormsModule,
30
+ CoreModule,
31
+ ThemeSharedModule,
32
+ PageModule,
33
+ CommercialUiModule,
34
+ NgbDropdownModule,
35
+ HitContainerDefinitionsRoutingModule,
36
+ DxDataGridModule] });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerDefinitionsModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ declarations: [ContainerDefinitionsComponent, ContainerDefinitionFormComponent],
41
+ imports: [
42
+ CommonModule,
43
+ FormsModule,
44
+ ReactiveFormsModule,
45
+ CoreModule,
46
+ ThemeSharedModule,
47
+ PageModule,
48
+ CommercialUiModule,
49
+ NgbDropdownModule,
50
+ HitContainerDefinitionsRoutingModule,
51
+ DxDataGridModule,
52
+ ],
53
+ }]
54
+ }] });
55
+ export function loadHitContainerDefinitionsModuleAsChild() {
56
+ return Promise.resolve(HitContainerDefinitionsModule);
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvbnRhaW5lci1kZWZpbml0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2NvbnRhaW5lci1kZWZpbml0aW9ucy9oaXQtY29udGFpbmVyLWRlZmluaXRpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEcsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBaUJ0RCxNQUFNLE9BQU8sNkJBQTZCOzswSEFBN0IsNkJBQTZCOzJIQUE3Qiw2QkFBNkIsaUJBZHpCLDZCQUE2QixFQUFFLGdDQUFnQyxhQUU1RSxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLG9DQUFvQztRQUNwQyxnQkFBZ0I7MkhBR1AsNkJBQTZCLFlBWnRDLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsb0NBQW9DO1FBQ3BDLGdCQUFnQjsyRkFHUCw2QkFBNkI7a0JBZnpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsNkJBQTZCLEVBQUUsZ0NBQWdDLENBQUM7b0JBQy9FLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsVUFBVTt3QkFDVixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsb0NBQW9DO3dCQUNwQyxnQkFBZ0I7cUJBQ2pCO2lCQUNGOztBQUdELE1BQU0sVUFBVSx3Q0FBd0M7SUFDdEQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IFBhZ2VNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvbXBvbmVudHMvcGFnZSc7XHJcbmltcG9ydCB7IENvbW1lcmNpYWxVaU1vZHVsZSB9IGZyb20gJ0B2b2xvL2FicC5jb21tZXJjaWFsLm5nLnVpJztcclxuaW1wb3J0IHsgTmdiRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IENvbnRhaW5lckRlZmluaXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnRhaW5lci1kZWZpbml0aW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb250YWluZXJEZWZpbml0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250YWluZXItZGVmaW5pdGlvbi1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhpdENvbnRhaW5lckRlZmluaXRpb25zUm91dGluZ01vZHVsZSB9IGZyb20gJy4vaGl0LWNvbnRhaW5lci1kZWZpbml0aW9ucy1yb3V0aW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IER4RGF0YUdyaWRNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtDb250YWluZXJEZWZpbml0aW9uc0NvbXBvbmVudCwgQ29udGFpbmVyRGVmaW5pdGlvbkZvcm1Db21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcclxuICAgIFBhZ2VNb2R1bGUsXHJcbiAgICBDb21tZXJjaWFsVWlNb2R1bGUsXHJcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuICAgIEhpdENvbnRhaW5lckRlZmluaXRpb25zUm91dGluZ01vZHVsZSxcclxuICAgIER4RGF0YUdyaWRNb2R1bGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpdENvbnRhaW5lckRlZmluaXRpb25zTW9kdWxlIHt9XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZEhpdENvbnRhaW5lckRlZmluaXRpb25zTW9kdWxlQXNDaGlsZCgpIHtcclxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKEhpdENvbnRhaW5lckRlZmluaXRpb25zTW9kdWxlKTtcclxufVxyXG4iXX0=
@@ -0,0 +1,104 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { forkJoin } from 'rxjs';
4
+ import { finalize } from 'rxjs/operators';
5
+ import { LoadingTargetKind } from '@proxy/container-loading-counts/loading-target-kind.enum';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@proxy/controllers";
8
+ import * as i2 from "@abp/ng.theme.shared";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@angular/forms";
11
+ import * as i5 from "@abp/ng.core";
12
+ import * as i6 from "@abp/ng.components/page";
13
+ export class ContainerLoadingCountsComponent {
14
+ constructor(service, containerDefinitionService, palletDefinitionService, toaster) {
15
+ this.service = service;
16
+ this.containerDefinitionService = containerDefinitionService;
17
+ this.palletDefinitionService = palletDefinitionService;
18
+ this.toaster = toaster;
19
+ this.loading = true;
20
+ this.saving = false;
21
+ this.productTypes = [];
22
+ this.containers = [];
23
+ this.pallets = [];
24
+ this.controls = new Map();
25
+ }
26
+ ngOnInit() {
27
+ this.load();
28
+ }
29
+ get hasColumns() {
30
+ return this.containers.length + this.pallets.length > 0;
31
+ }
32
+ cell(productTypeCode, prefix, targetCode) {
33
+ return this.controls.get(this.key(productTypeCode, prefix, targetCode));
34
+ }
35
+ load() {
36
+ this.loading = true;
37
+ forkJoin({
38
+ productTypes: this.service.getProductTypes(),
39
+ containers: this.containerDefinitionService.getList(),
40
+ pallets: this.palletDefinitionService.getList(),
41
+ existing: this.service.getList(),
42
+ }).subscribe(({ productTypes, containers, pallets, existing }) => {
43
+ this.productTypes = productTypes;
44
+ this.containers = containers.filter(c => c.isActive);
45
+ this.pallets = pallets.filter(p => p.isActive);
46
+ const existingByPt = new Map();
47
+ for (const row of existing) {
48
+ const inner = new Map();
49
+ for (const line of row.lines ?? []) {
50
+ inner.set(`${line.kind}|${line.targetCode}`, line.boxCount);
51
+ }
52
+ existingByPt.set(row.productTypeCode, inner);
53
+ }
54
+ this.controls.clear();
55
+ for (const pt of this.productTypes) {
56
+ const inner = existingByPt.get(pt.code) ?? new Map();
57
+ for (const c of this.containers) {
58
+ const value = inner.get(`${LoadingTargetKind.Container}|${c.code}`) ?? 0;
59
+ this.controls.set(this.key(pt.code, 'c', c.code), new FormControl(value));
60
+ }
61
+ for (const p of this.pallets) {
62
+ const value = inner.get(`${LoadingTargetKind.Pallet}|${p.code}`) ?? 0;
63
+ this.controls.set(this.key(pt.code, 'p', p.code), new FormControl(value));
64
+ }
65
+ }
66
+ this.loading = false;
67
+ });
68
+ }
69
+ save() {
70
+ const input = this.productTypes.map(pt => ({
71
+ productTypeCode: pt.code,
72
+ lines: [
73
+ ...this.containers.map(c => ({
74
+ kind: LoadingTargetKind.Container,
75
+ targetCode: c.code,
76
+ boxCount: Number(this.cell(pt.code, 'c', c.code).value) || 0,
77
+ })),
78
+ ...this.pallets.map(p => ({
79
+ kind: LoadingTargetKind.Pallet,
80
+ targetCode: p.code,
81
+ boxCount: Number(this.cell(pt.code, 'p', p.code).value) || 0,
82
+ })),
83
+ ],
84
+ }));
85
+ this.saving = true;
86
+ this.service
87
+ .save(input)
88
+ .pipe(finalize(() => (this.saving = false)))
89
+ .subscribe(() => {
90
+ this.toaster.success('AbpUi::SuccessfullySaved');
91
+ this.load();
92
+ });
93
+ }
94
+ key(productTypeCode, prefix, targetCode) {
95
+ return `${productTypeCode}||${prefix}||${targetCode}`;
96
+ }
97
+ }
98
+ ContainerLoadingCountsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContainerLoadingCountsComponent, deps: [{ token: i1.ContainerLoadingCountService }, { token: i1.ContainerDefinitionService }, { token: i1.PalletDefinitionService }, { token: i2.ToasterService }], target: i0.ɵɵFactoryTarget.Component });
99
+ ContainerLoadingCountsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ContainerLoadingCountsComponent, selector: "lib-container-loading-counts", ngImport: i0, template: "<abp-page [title]=\"'Keops::ContainerLoadingCounts:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"ContainerLoadingCountsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <abp-button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerLoadingCounts.Update'\"\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"loading || !hasColumns || productTypes.length === 0\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"ContainerLoadingCountsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && productTypes.length === 0\" class=\"alert alert-warning mb-0\">\r\n {{ 'Keops::ContainerLoadingCounts:NoProductTypes' | abpLocalization }}\r\n </div>\r\n\r\n <div *ngIf=\"!loading && productTypes.length > 0 && !hasColumns\" class=\"alert alert-warning mb-0\">\r\n {{ 'Keops::ContainerLoadingCounts:NoColumns' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"table-responsive\" *ngIf=\"!loading && productTypes.length > 0 && hasColumns\">\r\n <table class=\"table table-bordered table-sm align-middle\">\r\n <thead>\r\n <tr>\r\n <th rowspan=\"2\" class=\"align-middle\">\r\n {{ 'Keops::ContainerLoadingCounts:ProductType' | abpLocalization }}\r\n </th>\r\n <th *ngIf=\"containers.length\" [attr.colspan]=\"containers.length\" class=\"text-center\">\r\n {{ 'Keops::ContainerLoadingCounts:Containers' | abpLocalization }}\r\n </th>\r\n <th *ngIf=\"pallets.length\" [attr.colspan]=\"pallets.length\" class=\"text-center\">\r\n {{ 'Keops::ContainerLoadingCounts:Pallets' | abpLocalization }}\r\n </th>\r\n </tr>\r\n <tr>\r\n <th *ngFor=\"let c of containers\" class=\"text-center\">{{ c.name }}</th>\r\n <th *ngFor=\"let p of pallets\" class=\"text-center\">{{ p.name }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let pt of productTypes\">\r\n <td>{{ pt.name }}</td>\r\n <td *ngFor=\"let c of containers\">\r\n <input\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control form-control-sm\"\r\n [formControl]=\"cell(pt.code, 'c', c.code)\"\r\n />\r\n </td>\r\n <td *ngFor=\"let p of pallets\">\r\n <input\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control form-control-sm\"\r\n [formControl]=\"cell(pt.code, 'p', p.code)\"\r\n />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i6.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i6.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ContainerLoadingCountsComponent, decorators: [{
101
+ type: Component,
102
+ args: [{ selector: 'lib-container-loading-counts', template: "<abp-page [title]=\"'Keops::ContainerLoadingCounts:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"ContainerLoadingCountsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <abp-button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerLoadingCounts.Update'\"\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"loading || !hasColumns || productTypes.length === 0\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"ContainerLoadingCountsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && productTypes.length === 0\" class=\"alert alert-warning mb-0\">\r\n {{ 'Keops::ContainerLoadingCounts:NoProductTypes' | abpLocalization }}\r\n </div>\r\n\r\n <div *ngIf=\"!loading && productTypes.length > 0 && !hasColumns\" class=\"alert alert-warning mb-0\">\r\n {{ 'Keops::ContainerLoadingCounts:NoColumns' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"table-responsive\" *ngIf=\"!loading && productTypes.length > 0 && hasColumns\">\r\n <table class=\"table table-bordered table-sm align-middle\">\r\n <thead>\r\n <tr>\r\n <th rowspan=\"2\" class=\"align-middle\">\r\n {{ 'Keops::ContainerLoadingCounts:ProductType' | abpLocalization }}\r\n </th>\r\n <th *ngIf=\"containers.length\" [attr.colspan]=\"containers.length\" class=\"text-center\">\r\n {{ 'Keops::ContainerLoadingCounts:Containers' | abpLocalization }}\r\n </th>\r\n <th *ngIf=\"pallets.length\" [attr.colspan]=\"pallets.length\" class=\"text-center\">\r\n {{ 'Keops::ContainerLoadingCounts:Pallets' | abpLocalization }}\r\n </th>\r\n </tr>\r\n <tr>\r\n <th *ngFor=\"let c of containers\" class=\"text-center\">{{ c.name }}</th>\r\n <th *ngFor=\"let p of pallets\" class=\"text-center\">{{ p.name }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let pt of productTypes\">\r\n <td>{{ pt.name }}</td>\r\n <td *ngFor=\"let c of containers\">\r\n <input\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control form-control-sm\"\r\n [formControl]=\"cell(pt.code, 'c', c.code)\"\r\n />\r\n </td>\r\n <td *ngFor=\"let p of pallets\">\r\n <input\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control form-control-sm\"\r\n [formControl]=\"cell(pt.code, 'p', p.code)\"\r\n />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n" }]
103
+ }], ctorParameters: function () { return [{ type: i1.ContainerLoadingCountService }, { type: i1.ContainerDefinitionService }, { type: i1.PalletDefinitionService }, { type: i2.ToasterService }]; } });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLWxvYWRpbmctY291bnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29udGFpbmVyLWxvYWRpbmctY291bnRzL2NvbXBvbmVudHMvY29udGFpbmVyLWxvYWRpbmctY291bnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29udGFpbmVyLWxvYWRpbmctY291bnRzL2NvbXBvbmVudHMvY29udGFpbmVyLWxvYWRpbmctY291bnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7Ozs7OztBQU03RixNQUFNLE9BQU8sK0JBQStCO0lBVTFDLFlBQ21CLE9BQXFDLEVBQ3JDLDBCQUFzRCxFQUN0RCx1QkFBZ0QsRUFDaEQsT0FBdUI7UUFIdkIsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7UUFDckMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN0RCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBYjFDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRWYsaUJBQVksR0FBMkIsRUFBRSxDQUFDO1FBQzFDLGVBQVUsR0FBNkIsRUFBRSxDQUFDO1FBQzFDLFlBQU8sR0FBMEIsRUFBRSxDQUFDO1FBRW5CLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztJQU94RCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxDQUFDLGVBQW1DLEVBQUUsTUFBaUIsRUFBRSxVQUE4QjtRQUN6RixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsUUFBUSxDQUFDO1lBQ1AsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQzVDLFVBQVUsRUFBRSxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxFQUFFO1lBQ3JELE9BQU8sRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFO1lBQy9DLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtTQUNqQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFL0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7WUFDNUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUU7Z0JBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO2dCQUN4QyxLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFO29CQUNsQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUM3RDtnQkFDRCxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxlQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQy9DO1lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ2xDLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUssQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFrQixDQUFDO2dCQUN0RSxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7b0JBQy9CLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN6RSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUMzRTtnQkFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQzVCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN0RSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUMzRTthQUNGO1lBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSTtRQUNGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6QyxlQUFlLEVBQUUsRUFBRSxDQUFDLElBQUk7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMzQixJQUFJLEVBQUUsaUJBQWlCLENBQUMsU0FBUztvQkFDakMsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJO29CQUNsQixRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7aUJBQzdELENBQUMsQ0FBQztnQkFDSCxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDeEIsSUFBSSxFQUFFLGlCQUFpQixDQUFDLE1BQU07b0JBQzlCLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSTtvQkFDbEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2lCQUM3RCxDQUFDLENBQUM7YUFDSjtTQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUosSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU87YUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUMzQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxHQUFHLENBQ1QsZUFBbUMsRUFDbkMsTUFBaUIsRUFDakIsVUFBOEI7UUFFOUIsT0FBTyxHQUFHLGVBQWUsS0FBSyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7SUFDeEQsQ0FBQzs7NEhBcEdVLCtCQUErQjtnSEFBL0IsK0JBQStCLG9FQ25CNUMsb3hHQTJFQTsyRkR4RGEsK0JBQStCO2tCQUozQyxTQUFTOytCQUNFLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgQ29udGFpbmVyRGVmaW5pdGlvblNlcnZpY2UsXHJcbiAgQ29udGFpbmVyTG9hZGluZ0NvdW50U2VydmljZSxcclxuICBQYWxsZXREZWZpbml0aW9uU2VydmljZSxcclxufSBmcm9tICdAcHJveHkvY29udHJvbGxlcnMnO1xyXG5pbXBvcnQgeyBDb250YWluZXJEZWZpbml0aW9uRHRvIH0gZnJvbSAnQHByb3h5L2NvbnRhaW5lci1kZWZpbml0aW9ucy9kdG9zJztcclxuaW1wb3J0IHsgUGFsbGV0RGVmaW5pdGlvbkR0byB9IGZyb20gJ0Bwcm94eS9wYWxsZXQtZGVmaW5pdGlvbnMvZHRvcyc7XHJcbmltcG9ydCB7IFByb2R1Y3RUeXBlTG9va3VwRHRvIH0gZnJvbSAnQHByb3h5L2NvbnRhaW5lci1sb2FkaW5nLWNvdW50cy9kdG9zJztcclxuaW1wb3J0IHsgTG9hZGluZ1RhcmdldEtpbmQgfSBmcm9tICdAcHJveHkvY29udGFpbmVyLWxvYWRpbmctY291bnRzL2xvYWRpbmctdGFyZ2V0LWtpbmQuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb250YWluZXItbG9hZGluZy1jb3VudHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWluZXItbG9hZGluZy1jb3VudHMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGFpbmVyTG9hZGluZ0NvdW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbG9hZGluZyA9IHRydWU7XHJcbiAgc2F2aW5nID0gZmFsc2U7XHJcblxyXG4gIHByb2R1Y3RUeXBlczogUHJvZHVjdFR5cGVMb29rdXBEdG9bXSA9IFtdO1xyXG4gIGNvbnRhaW5lcnM6IENvbnRhaW5lckRlZmluaXRpb25EdG9bXSA9IFtdO1xyXG4gIHBhbGxldHM6IFBhbGxldERlZmluaXRpb25EdG9bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xzID0gbmV3IE1hcDxzdHJpbmcsIEZvcm1Db250cm9sPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogQ29udGFpbmVyTG9hZGluZ0NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyRGVmaW5pdGlvblNlcnZpY2U6IENvbnRhaW5lckRlZmluaXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWxsZXREZWZpbml0aW9uU2VydmljZTogUGFsbGV0RGVmaW5pdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ZXI6IFRvYXN0ZXJTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWQoKTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNDb2x1bW5zKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVycy5sZW5ndGggKyB0aGlzLnBhbGxldHMubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIGNlbGwocHJvZHVjdFR5cGVDb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQsIHByZWZpeDogJ2MnIHwgJ3AnLCB0YXJnZXRDb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBGb3JtQ29udHJvbCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9scy5nZXQodGhpcy5rZXkocHJvZHVjdFR5cGVDb2RlLCBwcmVmaXgsIHRhcmdldENvZGUpKSE7XHJcbiAgfVxyXG5cclxuICBsb2FkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGZvcmtKb2luKHtcclxuICAgICAgcHJvZHVjdFR5cGVzOiB0aGlzLnNlcnZpY2UuZ2V0UHJvZHVjdFR5cGVzKCksXHJcbiAgICAgIGNvbnRhaW5lcnM6IHRoaXMuY29udGFpbmVyRGVmaW5pdGlvblNlcnZpY2UuZ2V0TGlzdCgpLFxyXG4gICAgICBwYWxsZXRzOiB0aGlzLnBhbGxldERlZmluaXRpb25TZXJ2aWNlLmdldExpc3QoKSxcclxuICAgICAgZXhpc3Rpbmc6IHRoaXMuc2VydmljZS5nZXRMaXN0KCksXHJcbiAgICB9KS5zdWJzY3JpYmUoKHsgcHJvZHVjdFR5cGVzLCBjb250YWluZXJzLCBwYWxsZXRzLCBleGlzdGluZyB9KSA9PiB7XHJcbiAgICAgIHRoaXMucHJvZHVjdFR5cGVzID0gcHJvZHVjdFR5cGVzO1xyXG4gICAgICB0aGlzLmNvbnRhaW5lcnMgPSBjb250YWluZXJzLmZpbHRlcihjID0+IGMuaXNBY3RpdmUpO1xyXG4gICAgICB0aGlzLnBhbGxldHMgPSBwYWxsZXRzLmZpbHRlcihwID0+IHAuaXNBY3RpdmUpO1xyXG5cclxuICAgICAgY29uc3QgZXhpc3RpbmdCeVB0ID0gbmV3IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIG51bWJlcj4+KCk7XHJcbiAgICAgIGZvciAoY29uc3Qgcm93IG9mIGV4aXN0aW5nKSB7XHJcbiAgICAgICAgY29uc3QgaW5uZXIgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xyXG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiByb3cubGluZXMgPz8gW10pIHtcclxuICAgICAgICAgIGlubmVyLnNldChgJHtsaW5lLmtpbmR9fCR7bGluZS50YXJnZXRDb2RlfWAsIGxpbmUuYm94Q291bnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBleGlzdGluZ0J5UHQuc2V0KHJvdy5wcm9kdWN0VHlwZUNvZGUhLCBpbm5lcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuY29udHJvbHMuY2xlYXIoKTtcclxuICAgICAgZm9yIChjb25zdCBwdCBvZiB0aGlzLnByb2R1Y3RUeXBlcykge1xyXG4gICAgICAgIGNvbnN0IGlubmVyID0gZXhpc3RpbmdCeVB0LmdldChwdC5jb2RlISkgPz8gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGMgb2YgdGhpcy5jb250YWluZXJzKSB7XHJcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGlubmVyLmdldChgJHtMb2FkaW5nVGFyZ2V0S2luZC5Db250YWluZXJ9fCR7Yy5jb2RlfWApID8/IDA7XHJcbiAgICAgICAgICB0aGlzLmNvbnRyb2xzLnNldCh0aGlzLmtleShwdC5jb2RlLCAnYycsIGMuY29kZSksIG5ldyBGb3JtQ29udHJvbCh2YWx1ZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IHAgb2YgdGhpcy5wYWxsZXRzKSB7XHJcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGlubmVyLmdldChgJHtMb2FkaW5nVGFyZ2V0S2luZC5QYWxsZXR9fCR7cC5jb2RlfWApID8/IDA7XHJcbiAgICAgICAgICB0aGlzLmNvbnRyb2xzLnNldCh0aGlzLmtleShwdC5jb2RlLCAncCcsIHAuY29kZSksIG5ldyBGb3JtQ29udHJvbCh2YWx1ZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMucHJvZHVjdFR5cGVzLm1hcChwdCA9PiAoe1xyXG4gICAgICBwcm9kdWN0VHlwZUNvZGU6IHB0LmNvZGUsXHJcbiAgICAgIGxpbmVzOiBbXHJcbiAgICAgICAgLi4udGhpcy5jb250YWluZXJzLm1hcChjID0+ICh7XHJcbiAgICAgICAgICBraW5kOiBMb2FkaW5nVGFyZ2V0S2luZC5Db250YWluZXIsXHJcbiAgICAgICAgICB0YXJnZXRDb2RlOiBjLmNvZGUsXHJcbiAgICAgICAgICBib3hDb3VudDogTnVtYmVyKHRoaXMuY2VsbChwdC5jb2RlLCAnYycsIGMuY29kZSkudmFsdWUpIHx8IDAsXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIC4uLnRoaXMucGFsbGV0cy5tYXAocCA9PiAoe1xyXG4gICAgICAgICAga2luZDogTG9hZGluZ1RhcmdldEtpbmQuUGFsbGV0LFxyXG4gICAgICAgICAgdGFyZ2V0Q29kZTogcC5jb2RlLFxyXG4gICAgICAgICAgYm94Q291bnQ6IE51bWJlcih0aGlzLmNlbGwocHQuY29kZSwgJ3AnLCBwLmNvZGUpLnZhbHVlKSB8fCAwLFxyXG4gICAgICAgIH0pKSxcclxuICAgICAgXSxcclxuICAgIH0pKTtcclxuXHJcbiAgICB0aGlzLnNhdmluZyA9IHRydWU7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLnNhdmUoaW5wdXQpXHJcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLnNhdmluZyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudG9hc3Rlci5zdWNjZXNzKCdBYnBVaTo6U3VjY2Vzc2Z1bGx5U2F2ZWQnKTtcclxuICAgICAgICB0aGlzLmxvYWQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGtleShcclxuICAgIHByb2R1Y3RUeXBlQ29kZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxyXG4gICAgcHJlZml4OiAnYycgfCAncCcsXHJcbiAgICB0YXJnZXRDb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHtwcm9kdWN0VHlwZUNvZGV9fHwke3ByZWZpeH18fCR7dGFyZ2V0Q29kZX1gO1xyXG4gIH1cclxufVxyXG4iLCI8YWJwLXBhZ2UgW3RpdGxlXT1cIidLZW9wczo6Q29udGFpbmVyTG9hZGluZ0NvdW50czpUaXRsZScgfCBhYnBMb2NhbGl6YXRpb25cIj5cclxuICA8YWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXIgY2xhc3M9XCJjb2xcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWVuZCBteC0wXCIgaWQ9XCJDb250YWluZXJMb2FkaW5nQ291bnRzVG9vbGJhclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gcHgtMSBwdC0wIHB0LW1kLTIgcGUtMFwiPlxyXG4gICAgICAgIDxhYnAtYnV0dG9uXHJcbiAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidLZW9wc0l0ZW1NYXN0ZXJEYXRhLkNvbnRhaW5lckxvYWRpbmdDb3VudHMuVXBkYXRlJ1wiXHJcbiAgICAgICAgICBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiXHJcbiAgICAgICAgICBidXR0b25DbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICBbbG9hZGluZ109XCJzYXZpbmdcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmcgfHwgIWhhc0NvbHVtbnMgfHwgcHJvZHVjdFR5cGVzLmxlbmd0aCA9PT0gMFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2F2ZSgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgPC9hYnAtYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvYWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXI+XHJcblxyXG4gIDxkaXYgaWQ9XCJDb250YWluZXJMb2FkaW5nQ291bnRzV3JhcHBlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiBwcm9kdWN0VHlwZXMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJhbGVydCBhbGVydC13YXJuaW5nIG1iLTBcIj5cclxuICAgICAgICAgIHt7ICdLZW9wczo6Q29udGFpbmVyTG9hZGluZ0NvdW50czpOb1Byb2R1Y3RUeXBlcycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmIHByb2R1Y3RUeXBlcy5sZW5ndGggPiAwICYmICFoYXNDb2x1bW5zXCIgY2xhc3M9XCJhbGVydCBhbGVydC13YXJuaW5nIG1iLTBcIj5cclxuICAgICAgICAgIHt7ICdLZW9wczo6Q29udGFpbmVyTG9hZGluZ0NvdW50czpOb0NvbHVtbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCIgKm5nSWY9XCIhbG9hZGluZyAmJiBwcm9kdWN0VHlwZXMubGVuZ3RoID4gMCAmJiBoYXNDb2x1bW5zXCI+XHJcbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZCB0YWJsZS1zbSBhbGlnbi1taWRkbGVcIj5cclxuICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aCByb3dzcGFuPVwiMlwiIGNsYXNzPVwiYWxpZ24tbWlkZGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7ICdLZW9wczo6Q29udGFpbmVyTG9hZGluZ0NvdW50czpQcm9kdWN0VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJjb250YWluZXJzLmxlbmd0aFwiIFthdHRyLmNvbHNwYW5dPVwiY29udGFpbmVycy5sZW5ndGhcIiBjbGFzcz1cInRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7ICdLZW9wczo6Q29udGFpbmVyTG9hZGluZ0NvdW50czpDb250YWluZXJzJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInBhbGxldHMubGVuZ3RoXCIgW2F0dHIuY29sc3Bhbl09XCJwYWxsZXRzLmxlbmd0aFwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAge3sgJ0tlb3BzOjpDb250YWluZXJMb2FkaW5nQ291bnRzOlBhbGxldHMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjIG9mIGNvbnRhaW5lcnNcIiBjbGFzcz1cInRleHQtY2VudGVyXCI+e3sgYy5uYW1lIH19PC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgcCBvZiBwYWxsZXRzXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPnt7IHAubmFtZSB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcHQgb2YgcHJvZHVjdFR5cGVzXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQ+e3sgcHQubmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGMgb2YgY29udGFpbmVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICBtaW49XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjZWxsKHB0LmNvZGUsICdjJywgYy5jb2RlKVwiXHJcbiAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBwIG9mIHBhbGxldHNcIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgbWluPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY2VsbChwdC5jb2RlLCAncCcsIHAuY29kZSlcIlxyXG4gICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9hYnAtcGFnZT5cclxuIl19
@@ -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 { ContainerLoadingCountsComponent } from './components/container-loading-counts.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ const routes = [
8
+ {
9
+ path: '',
10
+ component: ContainerLoadingCountsComponent,
11
+ canActivate: [AuthGuard, PermissionGuard],
12
+ data: {
13
+ requiredPolicy: 'KeopsItemMasterData.ContainerLoadingCounts',
14
+ },
15
+ },
16
+ ];
17
+ export class HitContainerLoadingCountsRoutingModule {
18
+ }
19
+ HitContainerLoadingCountsRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerLoadingCountsRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ HitContainerLoadingCountsRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitContainerLoadingCountsRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
21
+ HitContainerLoadingCountsRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerLoadingCountsRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerLoadingCountsRoutingModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ imports: [RouterModule.forChild(routes)],
26
+ exports: [RouterModule],
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvbnRhaW5lci1sb2FkaW5nLWNvdW50cy1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29udGFpbmVyLWxvYWRpbmctY291bnRzL2hpdC1jb250YWluZXItbG9hZGluZy1jb3VudHMtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saURBQWlELENBQUM7OztBQUVsRyxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLCtCQUErQjtRQUMxQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQ3pDLElBQUksRUFBRTtZQUNKLGNBQWMsRUFBRSw0Q0FBNEM7U0FDN0Q7S0FDRjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sc0NBQXNDOzttSUFBdEMsc0NBQXNDO29JQUF0QyxzQ0FBc0Msd0NBRnZDLFlBQVk7b0lBRVgsc0NBQXNDLFlBSHZDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7MkZBRVgsc0NBQXNDO2tCQUpsRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQ29udGFpbmVyTG9hZGluZ0NvdW50c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250YWluZXItbG9hZGluZy1jb3VudHMuY29tcG9uZW50JztcclxuXHJcbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4gIHtcclxuICAgIHBhdGg6ICcnLFxyXG4gICAgY29tcG9uZW50OiBDb250YWluZXJMb2FkaW5nQ291bnRzQ29tcG9uZW50LFxyXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmQsIFBlcm1pc3Npb25HdWFyZF0sXHJcbiAgICBkYXRhOiB7XHJcbiAgICAgIHJlcXVpcmVkUG9saWN5OiAnS2VvcHNJdGVtTWFzdGVyRGF0YS5Db250YWluZXJMb2FkaW5nQ291bnRzJyxcclxuICAgIH0sXHJcbiAgfSxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcclxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpdENvbnRhaW5lckxvYWRpbmdDb3VudHNSb3V0aW5nTW9kdWxlIHt9XHJcbiJdfQ==
@@ -0,0 +1,49 @@
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 { ContainerLoadingCountsComponent } from './components/container-loading-counts.component';
9
+ import { HitContainerLoadingCountsRoutingModule } from './hit-container-loading-counts-routing.module';
10
+ import * as i0 from "@angular/core";
11
+ export class HitContainerLoadingCountsModule {
12
+ }
13
+ HitContainerLoadingCountsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerLoadingCountsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ HitContainerLoadingCountsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitContainerLoadingCountsModule, declarations: [ContainerLoadingCountsComponent], imports: [CommonModule,
15
+ FormsModule,
16
+ ReactiveFormsModule,
17
+ CoreModule,
18
+ ThemeSharedModule,
19
+ PageModule,
20
+ CommercialUiModule,
21
+ HitContainerLoadingCountsRoutingModule] });
22
+ HitContainerLoadingCountsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerLoadingCountsModule, imports: [CommonModule,
23
+ FormsModule,
24
+ ReactiveFormsModule,
25
+ CoreModule,
26
+ ThemeSharedModule,
27
+ PageModule,
28
+ CommercialUiModule,
29
+ HitContainerLoadingCountsRoutingModule] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitContainerLoadingCountsModule, decorators: [{
31
+ type: NgModule,
32
+ args: [{
33
+ declarations: [ContainerLoadingCountsComponent],
34
+ imports: [
35
+ CommonModule,
36
+ FormsModule,
37
+ ReactiveFormsModule,
38
+ CoreModule,
39
+ ThemeSharedModule,
40
+ PageModule,
41
+ CommercialUiModule,
42
+ HitContainerLoadingCountsRoutingModule,
43
+ ],
44
+ }]
45
+ }] });
46
+ export function loadHitContainerLoadingCountsModuleAsChild() {
47
+ return Promise.resolve(HitContainerLoadingCountsModule);
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvbnRhaW5lci1sb2FkaW5nLWNvdW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2NvbnRhaW5lci1sb2FkaW5nLWNvdW50cy9oaXQtY29udGFpbmVyLWxvYWRpbmctY291bnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEcsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBZXZHLE1BQU0sT0FBTywrQkFBK0I7OzRIQUEvQiwrQkFBK0I7NkhBQS9CLCtCQUErQixpQkFaM0IsK0JBQStCLGFBRTVDLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQixzQ0FBc0M7NkhBRzdCLCtCQUErQixZQVZ4QyxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsc0NBQXNDOzJGQUc3QiwrQkFBK0I7a0JBYjNDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQy9DLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsVUFBVTt3QkFDVixrQkFBa0I7d0JBQ2xCLHNDQUFzQztxQkFDdkM7aUJBQ0Y7O0FBR0QsTUFBTSxVQUFVLDBDQUEwQztJQUN4RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FBQztBQUMxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgUGFnZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29tcG9uZW50cy9wYWdlJztcclxuaW1wb3J0IHsgQ29tbWVyY2lhbFVpTW9kdWxlIH0gZnJvbSAnQHZvbG8vYWJwLmNvbW1lcmNpYWwubmcudWknO1xyXG5pbXBvcnQgeyBDb250YWluZXJMb2FkaW5nQ291bnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnRhaW5lci1sb2FkaW5nLWNvdW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIaXRDb250YWluZXJMb2FkaW5nQ291bnRzUm91dGluZ01vZHVsZSB9IGZyb20gJy4vaGl0LWNvbnRhaW5lci1sb2FkaW5nLWNvdW50cy1yb3V0aW5nLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0NvbnRhaW5lckxvYWRpbmdDb3VudHNDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcclxuICAgIFBhZ2VNb2R1bGUsXHJcbiAgICBDb21tZXJjaWFsVWlNb2R1bGUsXHJcbiAgICBIaXRDb250YWluZXJMb2FkaW5nQ291bnRzUm91dGluZ01vZHVsZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0Q29udGFpbmVyTG9hZGluZ0NvdW50c01vZHVsZSB7fVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRIaXRDb250YWluZXJMb2FkaW5nQ291bnRzTW9kdWxlQXNDaGlsZCgpIHtcclxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKEhpdENvbnRhaW5lckxvYWRpbmdDb3VudHNNb2R1bGUpO1xyXG59XHJcbiJdfQ==