@hitsoft/kadooglu-keops 0.0.2 → 0.0.3

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 (268) hide show
  1. package/config/enums/route-names.d.ts +15 -1
  2. package/esm2020/config/enums/route-names.mjs +1 -1
  3. package/esm2020/config/providers/route.provider.mjs +132 -4
  4. package/esm2020/lib/features/bl-tracking/components/bl-tracking-form.component.mjs +82 -0
  5. package/esm2020/lib/features/bl-tracking/components/bl-tracking.component.mjs +65 -0
  6. package/esm2020/lib/features/bl-tracking/hit-bl-tracking-routing.module.mjs +29 -0
  7. package/esm2020/lib/features/bl-tracking/hit-bl-tracking.module.mjs +58 -0
  8. package/esm2020/lib/features/carriers/components/carrier-form.component.mjs +78 -0
  9. package/esm2020/lib/features/carriers/components/carriers.component.mjs +66 -0
  10. package/esm2020/lib/features/carriers/hit-carriers-routing.module.mjs +29 -0
  11. package/esm2020/lib/features/carriers/hit-carriers.module.mjs +58 -0
  12. package/esm2020/lib/features/container-loading-counts/components/container-loading-counts.component.mjs +2 -2
  13. package/esm2020/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.mjs +6 -5
  14. package/esm2020/lib/features/cost-calculation/components/cost-calculation-inputs.component.mjs +8 -6
  15. package/esm2020/lib/features/cost-calculation/components/cost-calculation.component.mjs +14 -18
  16. package/esm2020/lib/features/cost-calculation/engine/stage-builder.mjs +4 -3
  17. package/esm2020/lib/features/cost-calculation/hit-cost-calculation.module.mjs +7 -3
  18. package/esm2020/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.mjs +1 -4
  19. package/esm2020/lib/features/cost-parameters/components/cost-parameter-form.component.mjs +19 -35
  20. package/esm2020/lib/features/cost-parameters/components/cost-parameters.component.mjs +17 -10
  21. package/esm2020/lib/features/destination-ports/components/destination-port-form.component.mjs +86 -0
  22. package/esm2020/lib/features/destination-ports/components/destination-ports.component.mjs +74 -0
  23. package/esm2020/lib/features/destination-ports/hit-destination-ports-routing.module.mjs +29 -0
  24. package/esm2020/lib/features/destination-ports/hit-destination-ports.module.mjs +58 -0
  25. package/esm2020/lib/features/fob-inland-definitions/components/fob-inland-definition-form.component.mjs +80 -0
  26. package/esm2020/lib/features/fob-inland-definitions/components/fob-inland-definitions.component.mjs +65 -0
  27. package/esm2020/lib/features/fob-inland-definitions/hit-fob-inland-definitions-routing.module.mjs +29 -0
  28. package/esm2020/lib/features/fob-inland-definitions/hit-fob-inland-definitions.module.mjs +58 -0
  29. package/esm2020/lib/features/freight-offers/components/freight-offer-copy.component.mjs +67 -0
  30. package/esm2020/lib/features/freight-offers/components/freight-offer-form.component.mjs +181 -0
  31. package/esm2020/lib/features/freight-offers/components/freight-offers.component.mjs +159 -0
  32. package/esm2020/lib/features/freight-offers/hit-freight-offers-routing.module.mjs +29 -0
  33. package/esm2020/lib/features/freight-offers/hit-freight-offers.module.mjs +62 -0
  34. package/esm2020/lib/features/incoterms/components/incoterm-form.component.mjs +81 -0
  35. package/esm2020/lib/features/incoterms/components/incoterms.component.mjs +65 -0
  36. package/esm2020/lib/features/incoterms/hit-incoterms-routing.module.mjs +29 -0
  37. package/esm2020/lib/features/incoterms/hit-incoterms.module.mjs +58 -0
  38. package/esm2020/lib/features/index.mjs +29 -1
  39. package/esm2020/lib/features/item-package-groups/components/item-package-group-form.component.mjs +78 -0
  40. package/esm2020/lib/features/item-package-groups/components/item-package-groups.component.mjs +69 -0
  41. package/esm2020/lib/features/item-package-groups/hit-item-package-groups-routing.module.mjs +29 -0
  42. package/esm2020/lib/features/item-package-groups/hit-item-package-groups.module.mjs +58 -0
  43. package/esm2020/lib/features/item-package-types/components/item-package-type-form.component.mjs +78 -0
  44. package/esm2020/lib/features/item-package-types/components/item-package-types.component.mjs +69 -0
  45. package/esm2020/lib/features/item-package-types/hit-item-package-types-routing.module.mjs +29 -0
  46. package/esm2020/lib/features/item-package-types/hit-item-package-types.module.mjs +58 -0
  47. package/esm2020/lib/features/item-product-types/components/item-product-type-form.component.mjs +78 -0
  48. package/esm2020/lib/features/item-product-types/components/item-product-types.component.mjs +69 -0
  49. package/esm2020/lib/features/item-product-types/hit-item-product-types-routing.module.mjs +29 -0
  50. package/esm2020/lib/features/item-product-types/hit-item-product-types.module.mjs +58 -0
  51. package/esm2020/lib/features/lines/components/line-form.component.mjs +78 -0
  52. package/esm2020/lib/features/lines/components/lines.component.mjs +66 -0
  53. package/esm2020/lib/features/lines/hit-lines-routing.module.mjs +29 -0
  54. package/esm2020/lib/features/lines/hit-lines.module.mjs +58 -0
  55. package/esm2020/lib/features/packaging-prices/components/packaging-price-form.component.mjs +4 -9
  56. package/esm2020/lib/features/packaging-prices/packaging-price-calculator.mjs +1 -1
  57. package/esm2020/lib/features/pos/components/pos-form.component.mjs +77 -0
  58. package/esm2020/lib/features/pos/components/pos.component.mjs +65 -0
  59. package/esm2020/lib/features/pos/hit-pos-routing.module.mjs +29 -0
  60. package/esm2020/lib/features/pos/hit-pos.module.mjs +58 -0
  61. package/esm2020/lib/features/price-parameter-types/components/price-parameter-types.component.mjs +3 -3
  62. package/esm2020/lib/features/price-parameters/components/price-parameter-form-cost-items.component.mjs +32 -0
  63. package/esm2020/lib/features/price-parameters/components/price-parameter-form-discount-rates-modal.component.mjs +52 -0
  64. package/esm2020/lib/features/price-parameters/components/price-parameter-form-discount-rates.component.mjs +84 -0
  65. package/esm2020/lib/features/price-parameters/components/price-parameter-form-items.component.mjs +43 -0
  66. package/esm2020/lib/features/price-parameters/components/price-parameter-form-price-lists.component.mjs +42 -0
  67. package/esm2020/lib/features/price-parameters/components/price-parameter-form.component.mjs +252 -0
  68. package/esm2020/lib/features/price-parameters/components/price-parameters.component.mjs +78 -0
  69. package/esm2020/lib/features/price-parameters/hit-price-parameters-routing.module.mjs +46 -0
  70. package/esm2020/lib/features/price-parameters/hit-price-parameters.module.mjs +93 -0
  71. package/esm2020/lib/features/price-parameters/price-parameter-cost-match.service.mjs +21 -0
  72. package/esm2020/lib/features/price-parameters/price-parameter-form-data.service.mjs +50 -0
  73. package/esm2020/lib/features/price-parameters/price-parameter-l10n-helper.mjs +7 -0
  74. package/esm2020/lib/features/price-parameters/price-parameter-lookups.service.mjs +32 -0
  75. package/esm2020/lib/kadooglu-keops-routing.module.mjs +25 -1
  76. package/esm2020/lib/shared/amount-currency-input/amount-currency-input.component.mjs +66 -0
  77. package/esm2020/lib/shared/cost-item-classification.utils.mjs +12 -0
  78. package/esm2020/lib/shared/cost-item-rows.builder.mjs +40 -0
  79. package/esm2020/lib/shared/pipes/resolve-code-name.pipe.mjs +16 -0
  80. package/esm2020/lib/shared/shared-ui.module.mjs +20 -0
  81. package/esm2020/lib/utils/currency.utils.mjs +3 -1
  82. package/esm2020/lib/utils/exchange-rate.utils.mjs +12 -0
  83. package/esm2020/proxy/bl-tracking/dtos/index.mjs +2 -0
  84. package/esm2020/proxy/bl-tracking/dtos/models.mjs +2 -0
  85. package/esm2020/proxy/business-partners/dtos/index.mjs +2 -0
  86. package/esm2020/proxy/business-partners/dtos/models.mjs +2 -0
  87. package/esm2020/proxy/carriers/dtos/index.mjs +2 -0
  88. package/esm2020/proxy/carriers/dtos/models.mjs +2 -0
  89. package/esm2020/proxy/container-loading-counts/dtos/models.mjs +1 -1
  90. package/esm2020/proxy/controllers/bl-tracking.service.mjs +36 -0
  91. package/esm2020/proxy/controllers/business-partner.service.mjs +22 -0
  92. package/esm2020/proxy/controllers/carrier.service.mjs +36 -0
  93. package/esm2020/proxy/controllers/container-loading-count.service.mjs +5 -5
  94. package/esm2020/proxy/controllers/cost-parameter.service.mjs +1 -5
  95. package/esm2020/proxy/controllers/destination-port.service.mjs +44 -0
  96. package/esm2020/proxy/controllers/fob-inland-definition.service.mjs +36 -0
  97. package/esm2020/proxy/controllers/freight-offer.service.mjs +57 -0
  98. package/esm2020/proxy/controllers/incoterm.service.mjs +36 -0
  99. package/esm2020/proxy/controllers/index.mjs +15 -1
  100. package/esm2020/proxy/controllers/item-package-group.service.mjs +40 -0
  101. package/esm2020/proxy/controllers/item-package-type.service.mjs +40 -0
  102. package/esm2020/proxy/controllers/item-product-type.service.mjs +40 -0
  103. package/esm2020/proxy/controllers/line.service.mjs +36 -0
  104. package/esm2020/proxy/controllers/pos.service.mjs +36 -0
  105. package/esm2020/proxy/controllers/price-list.service.mjs +28 -0
  106. package/esm2020/proxy/controllers/price-parameter.service.mjs +40 -0
  107. package/esm2020/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.mjs +1 -4
  108. package/esm2020/proxy/cost-parameters/dtos/models.mjs +1 -1
  109. package/esm2020/proxy/destination-ports/dtos/index.mjs +2 -0
  110. package/esm2020/proxy/destination-ports/dtos/models.mjs +2 -0
  111. package/esm2020/proxy/fob-inland-definitions/dtos/index.mjs +2 -0
  112. package/esm2020/proxy/fob-inland-definitions/dtos/models.mjs +2 -0
  113. package/esm2020/proxy/freight-offers/dtos/index.mjs +2 -0
  114. package/esm2020/proxy/freight-offers/dtos/models.mjs +2 -0
  115. package/esm2020/proxy/incoterms/dtos/index.mjs +2 -0
  116. package/esm2020/proxy/incoterms/dtos/models.mjs +2 -0
  117. package/esm2020/proxy/item-package-groups/dtos/index.mjs +2 -0
  118. package/esm2020/proxy/item-package-groups/dtos/models.mjs +2 -0
  119. package/esm2020/proxy/item-package-types/dtos/index.mjs +2 -0
  120. package/esm2020/proxy/item-package-types/dtos/models.mjs +2 -0
  121. package/esm2020/proxy/item-product-types/dtos/index.mjs +2 -0
  122. package/esm2020/proxy/item-product-types/dtos/models.mjs +2 -0
  123. package/esm2020/proxy/lines/dtos/index.mjs +2 -0
  124. package/esm2020/proxy/lines/dtos/models.mjs +2 -0
  125. package/esm2020/proxy/pos/dtos/index.mjs +2 -0
  126. package/esm2020/proxy/pos/dtos/models.mjs +2 -0
  127. package/esm2020/proxy/price-lists/dtos/index.mjs +2 -0
  128. package/esm2020/proxy/price-lists/dtos/models.mjs +2 -0
  129. package/esm2020/proxy/price-parameters/dtos/index.mjs +2 -0
  130. package/esm2020/proxy/price-parameters/dtos/models.mjs +2 -0
  131. package/esm2020/proxy/price-parameters/price-parameter-status.enum.mjs +9 -0
  132. package/esm2020/proxy/public-api.mjs +16 -1
  133. package/fesm2015/hitsoft-kadooglu-keops-config.mjs +131 -3
  134. package/fesm2015/hitsoft-kadooglu-keops-config.mjs.map +1 -1
  135. package/fesm2015/hitsoft-kadooglu-keops-proxy.mjs +498 -12
  136. package/fesm2015/hitsoft-kadooglu-keops-proxy.mjs.map +1 -1
  137. package/fesm2015/hitsoft-kadooglu-keops.mjs +3958 -719
  138. package/fesm2015/hitsoft-kadooglu-keops.mjs.map +1 -1
  139. package/fesm2020/hitsoft-kadooglu-keops-config.mjs +131 -3
  140. package/fesm2020/hitsoft-kadooglu-keops-config.mjs.map +1 -1
  141. package/fesm2020/hitsoft-kadooglu-keops-proxy.mjs +498 -12
  142. package/fesm2020/hitsoft-kadooglu-keops-proxy.mjs.map +1 -1
  143. package/fesm2020/hitsoft-kadooglu-keops.mjs +3934 -708
  144. package/fesm2020/hitsoft-kadooglu-keops.mjs.map +1 -1
  145. package/lib/features/bl-tracking/components/bl-tracking-form.component.d.ts +24 -0
  146. package/lib/features/bl-tracking/components/bl-tracking.component.d.ts +22 -0
  147. package/lib/features/bl-tracking/hit-bl-tracking-routing.module.d.ts +7 -0
  148. package/lib/features/bl-tracking/hit-bl-tracking.module.d.ts +18 -0
  149. package/lib/features/carriers/components/carrier-form.component.d.ts +24 -0
  150. package/lib/features/carriers/components/carriers.component.d.ts +22 -0
  151. package/lib/features/carriers/hit-carriers-routing.module.d.ts +7 -0
  152. package/lib/features/carriers/hit-carriers.module.d.ts +18 -0
  153. package/lib/features/container-loading-counts/components/container-loading-counts.component.d.ts +2 -2
  154. package/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.d.ts +1 -1
  155. package/lib/features/cost-calculation/components/cost-calculation-inputs.component.d.ts +3 -2
  156. package/lib/features/cost-calculation/components/cost-calculation.component.d.ts +3 -3
  157. package/lib/features/cost-calculation/hit-cost-calculation.module.d.ts +2 -1
  158. package/lib/features/cost-parameters/components/cost-parameter-form.component.d.ts +9 -6
  159. package/lib/features/cost-parameters/components/cost-parameters.component.d.ts +6 -5
  160. package/lib/features/destination-ports/components/destination-port-form.component.d.ts +25 -0
  161. package/lib/features/destination-ports/components/destination-ports.component.d.ts +24 -0
  162. package/lib/features/destination-ports/hit-destination-ports-routing.module.d.ts +7 -0
  163. package/lib/features/destination-ports/hit-destination-ports.module.d.ts +18 -0
  164. package/lib/features/fob-inland-definitions/components/fob-inland-definition-form.component.d.ts +24 -0
  165. package/lib/features/fob-inland-definitions/components/fob-inland-definitions.component.d.ts +22 -0
  166. package/lib/features/fob-inland-definitions/hit-fob-inland-definitions-routing.module.d.ts +7 -0
  167. package/lib/features/fob-inland-definitions/hit-fob-inland-definitions.module.d.ts +18 -0
  168. package/lib/features/freight-offers/components/freight-offer-copy.component.d.ts +22 -0
  169. package/lib/features/freight-offers/components/freight-offer-form.component.d.ts +49 -0
  170. package/lib/features/freight-offers/components/freight-offers.component.d.ts +47 -0
  171. package/lib/features/freight-offers/hit-freight-offers-routing.module.d.ts +7 -0
  172. package/lib/features/freight-offers/hit-freight-offers.module.d.ts +19 -0
  173. package/lib/features/incoterms/components/incoterm-form.component.d.ts +24 -0
  174. package/lib/features/incoterms/components/incoterms.component.d.ts +22 -0
  175. package/lib/features/incoterms/hit-incoterms-routing.module.d.ts +7 -0
  176. package/lib/features/incoterms/hit-incoterms.module.d.ts +18 -0
  177. package/lib/features/index.d.ts +21 -0
  178. package/lib/features/item-package-groups/components/item-package-group-form.component.d.ts +24 -0
  179. package/lib/features/item-package-groups/components/item-package-groups.component.d.ts +22 -0
  180. package/lib/features/item-package-groups/hit-item-package-groups-routing.module.d.ts +7 -0
  181. package/lib/features/item-package-groups/hit-item-package-groups.module.d.ts +18 -0
  182. package/lib/features/item-package-types/components/item-package-type-form.component.d.ts +24 -0
  183. package/lib/features/item-package-types/components/item-package-types.component.d.ts +22 -0
  184. package/lib/features/item-package-types/hit-item-package-types-routing.module.d.ts +7 -0
  185. package/lib/features/item-package-types/hit-item-package-types.module.d.ts +18 -0
  186. package/lib/features/item-product-types/components/item-product-type-form.component.d.ts +24 -0
  187. package/lib/features/item-product-types/components/item-product-types.component.d.ts +22 -0
  188. package/lib/features/item-product-types/hit-item-product-types-routing.module.d.ts +7 -0
  189. package/lib/features/item-product-types/hit-item-product-types.module.d.ts +18 -0
  190. package/lib/features/lines/components/line-form.component.d.ts +24 -0
  191. package/lib/features/lines/components/lines.component.d.ts +22 -0
  192. package/lib/features/lines/hit-lines-routing.module.d.ts +7 -0
  193. package/lib/features/lines/hit-lines.module.d.ts +18 -0
  194. package/lib/features/pos/components/pos-form.component.d.ts +24 -0
  195. package/lib/features/pos/components/pos.component.d.ts +22 -0
  196. package/lib/features/pos/hit-pos-routing.module.d.ts +7 -0
  197. package/lib/features/pos/hit-pos.module.d.ts +18 -0
  198. package/lib/features/price-parameters/components/price-parameter-form-cost-items.component.d.ts +15 -0
  199. package/lib/features/price-parameters/components/price-parameter-form-discount-rates-modal.component.d.ts +24 -0
  200. package/lib/features/price-parameters/components/price-parameter-form-discount-rates.component.d.ts +22 -0
  201. package/lib/features/price-parameters/components/price-parameter-form-items.component.d.ts +15 -0
  202. package/lib/features/price-parameters/components/price-parameter-form-price-lists.component.d.ts +15 -0
  203. package/lib/features/price-parameters/components/price-parameter-form.component.d.ts +70 -0
  204. package/lib/features/price-parameters/components/price-parameters.component.d.ts +27 -0
  205. package/lib/features/price-parameters/hit-price-parameters-routing.module.d.ts +7 -0
  206. package/lib/features/price-parameters/hit-price-parameters.module.d.ts +24 -0
  207. package/lib/features/price-parameters/price-parameter-cost-match.service.d.ts +10 -0
  208. package/lib/features/price-parameters/price-parameter-form-data.service.d.ts +26 -0
  209. package/lib/features/price-parameters/price-parameter-l10n-helper.d.ts +2 -0
  210. package/lib/features/price-parameters/price-parameter-lookups.service.d.ts +16 -0
  211. package/lib/shared/amount-currency-input/amount-currency-input.component.d.ts +23 -0
  212. package/lib/shared/cost-item-classification.utils.d.ts +7 -0
  213. package/lib/shared/cost-item-rows.builder.d.ts +11 -0
  214. package/lib/shared/pipes/resolve-code-name.pipe.d.ts +11 -0
  215. package/lib/shared/shared-ui.module.d.ts +10 -0
  216. package/lib/utils/currency.utils.d.ts +1 -0
  217. package/lib/utils/exchange-rate.utils.d.ts +2 -0
  218. package/package.json +1 -1
  219. package/proxy/bl-tracking/dtos/index.d.ts +1 -0
  220. package/proxy/bl-tracking/dtos/models.d.ts +25 -0
  221. package/proxy/business-partners/dtos/index.d.ts +1 -0
  222. package/proxy/business-partners/dtos/models.d.ts +4 -0
  223. package/proxy/carriers/dtos/index.d.ts +1 -0
  224. package/proxy/carriers/dtos/models.d.ts +10 -0
  225. package/proxy/container-loading-counts/dtos/models.d.ts +1 -1
  226. package/proxy/controllers/bl-tracking.service.d.ts +14 -0
  227. package/proxy/controllers/business-partner.service.d.ts +11 -0
  228. package/proxy/controllers/carrier.service.d.ts +14 -0
  229. package/proxy/controllers/container-loading-count.service.d.ts +2 -2
  230. package/proxy/controllers/cost-parameter.service.d.ts +1 -2
  231. package/proxy/controllers/destination-port.service.d.ts +17 -0
  232. package/proxy/controllers/fob-inland-definition.service.d.ts +14 -0
  233. package/proxy/controllers/freight-offer.service.d.ts +19 -0
  234. package/proxy/controllers/incoterm.service.d.ts +14 -0
  235. package/proxy/controllers/index.d.ts +14 -0
  236. package/proxy/controllers/item-package-group.service.d.ts +15 -0
  237. package/proxy/controllers/item-package-type.service.d.ts +15 -0
  238. package/proxy/controllers/item-product-type.service.d.ts +15 -0
  239. package/proxy/controllers/line.service.d.ts +14 -0
  240. package/proxy/controllers/pos.service.d.ts +14 -0
  241. package/proxy/controllers/price-list.service.d.ts +12 -0
  242. package/proxy/controllers/price-parameter.service.d.ts +15 -0
  243. package/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.d.ts +1 -4
  244. package/proxy/cost-parameters/dtos/models.d.ts +0 -8
  245. package/proxy/destination-ports/dtos/index.d.ts +1 -0
  246. package/proxy/destination-ports/dtos/models.d.ts +19 -0
  247. package/proxy/fob-inland-definitions/dtos/index.d.ts +1 -0
  248. package/proxy/fob-inland-definitions/dtos/models.d.ts +19 -0
  249. package/proxy/freight-offers/dtos/index.d.ts +1 -0
  250. package/proxy/freight-offers/dtos/models.d.ts +66 -0
  251. package/proxy/incoterms/dtos/index.d.ts +1 -0
  252. package/proxy/incoterms/dtos/models.d.ts +22 -0
  253. package/proxy/item-package-groups/dtos/index.d.ts +1 -0
  254. package/proxy/item-package-groups/dtos/models.d.ts +13 -0
  255. package/proxy/item-package-types/dtos/index.d.ts +1 -0
  256. package/proxy/item-package-types/dtos/models.d.ts +13 -0
  257. package/proxy/item-product-types/dtos/index.d.ts +1 -0
  258. package/proxy/item-product-types/dtos/models.d.ts +13 -0
  259. package/proxy/lines/dtos/index.d.ts +1 -0
  260. package/proxy/lines/dtos/models.d.ts +10 -0
  261. package/proxy/pos/dtos/index.d.ts +1 -0
  262. package/proxy/pos/dtos/models.d.ts +10 -0
  263. package/proxy/price-lists/dtos/index.d.ts +1 -0
  264. package/proxy/price-lists/dtos/models.d.ts +10 -0
  265. package/proxy/price-parameters/dtos/index.d.ts +1 -0
  266. package/proxy/price-parameters/dtos/models.d.ts +78 -0
  267. package/proxy/price-parameters/price-parameter-status.enum.d.ts +6 -0
  268. package/proxy/public-api.d.ts +15 -0
@@ -0,0 +1,159 @@
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { DxDataGridComponent } from 'devextreme-angular';
3
+ import { Confirmation } from '@abp/ng.theme.shared';
4
+ import { forkJoin } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@hitsoft/kadooglu-keops/proxy";
7
+ import * as i2 from "@abp/ng.theme.shared";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "@angular/forms";
10
+ import * as i5 from "@abp/ng.core";
11
+ import * as i6 from "@abp/ng.components/page";
12
+ import * as i7 from "@ng-bootstrap/ng-bootstrap";
13
+ import * as i8 from "devextreme-angular";
14
+ import * as i9 from "devextreme-angular/ui/nested";
15
+ import * as i10 from "devextreme-angular/core";
16
+ import * as i11 from "./freight-offer-form.component";
17
+ export class FreightOffersComponent {
18
+ constructor(service, carrierService, lineService, posService, destinationPortService, toaster, confirmation) {
19
+ this.service = service;
20
+ this.carrierService = carrierService;
21
+ this.lineService = lineService;
22
+ this.posService = posService;
23
+ this.destinationPortService = destinationPortService;
24
+ this.toaster = toaster;
25
+ this.confirmation = confirmation;
26
+ this.items = [];
27
+ this.countries = [];
28
+ this.carriers = [];
29
+ this.lines = [];
30
+ this.loadingPorts = [];
31
+ this.destPorts = [];
32
+ this.containerDefinitions = [];
33
+ this.usdRate = 0;
34
+ this.loading = true;
35
+ this.showOnlyValid = false;
36
+ this.selected = null;
37
+ this.formVisible = false;
38
+ this.formMode = 'create';
39
+ this.calcTotalUsd = (row) => {
40
+ return (row.lines ?? []).reduce((sum, line) => sum + this.calcLineTotalUsd(line), 0);
41
+ };
42
+ }
43
+ ngOnInit() {
44
+ forkJoin({
45
+ items: this.service.getList(),
46
+ countries: this.service.getCountriesLookup(),
47
+ usdRate: this.service.getUsdRate(),
48
+ carriers: this.carrierService.getList(),
49
+ lines: this.lineService.getList(),
50
+ loadingPorts: this.posService.getList(),
51
+ destPorts: this.destinationPortService.getList(),
52
+ containerDefs: this.service.getContainerDefinitionsLookup(),
53
+ }).subscribe(result => {
54
+ this.items = result.items;
55
+ this.countries = result.countries;
56
+ this.usdRate = result.usdRate;
57
+ this.carriers = result.carriers;
58
+ this.lines = result.lines;
59
+ this.loadingPorts = result.loadingPorts;
60
+ this.destPorts = result.destPorts;
61
+ this.containerDefinitions = result.containerDefs.filter(d => d.isActive);
62
+ this.loading = false;
63
+ });
64
+ }
65
+ loadList() {
66
+ this.service.getList().subscribe(data => {
67
+ this.items = data;
68
+ if (this.showOnlyValid)
69
+ this.onShowOnlyValidChange();
70
+ });
71
+ }
72
+ onShowOnlyValidChange() {
73
+ if (!this.showOnlyValid) {
74
+ this.grid.instance.option('dataSource', this.items);
75
+ return;
76
+ }
77
+ const d = new Date();
78
+ const todayStr = [
79
+ d.getFullYear(),
80
+ String(d.getMonth() + 1).padStart(2, '0'),
81
+ String(d.getDate()).padStart(2, '0'),
82
+ ].join('-');
83
+ const filtered = this.items.filter(item => {
84
+ const from = item.validFrom ? item.validFrom.substring(0, 10) : null;
85
+ const to = item.validTo ? item.validTo.substring(0, 10) : null;
86
+ return (!from || from <= todayStr) && (!to || to >= todayStr);
87
+ });
88
+ this.grid.instance.option('dataSource', filtered);
89
+ }
90
+ openCreate() {
91
+ this.selected = null;
92
+ this.formMode = 'create';
93
+ this.formVisible = true;
94
+ }
95
+ openEdit(row) {
96
+ this.selected = row;
97
+ this.formMode = 'edit';
98
+ this.formVisible = true;
99
+ }
100
+ openCopy(row) {
101
+ this.confirmation.warn('Keops::FreightOffers:CopyConfirmMessage', 'Keops::FreightOffers:CopyTitle', { yesText: 'Keops::FreightOffers:CopyAutoYes', cancelText: 'Keops::FreightOffers:CopyManualNo' }).subscribe(status => {
102
+ if (status === Confirmation.Status.confirm) {
103
+ this.service.copy(row.code, { manualDates: false }).subscribe({
104
+ next: () => {
105
+ this.toaster.success('Keops::FreightOffers:SuccessfullyCopied');
106
+ this.loadList();
107
+ },
108
+ });
109
+ }
110
+ else if (status === Confirmation.Status.reject) {
111
+ this.selected = this.buildCopyDto(row);
112
+ this.formMode = 'create';
113
+ this.formVisible = true;
114
+ }
115
+ });
116
+ }
117
+ buildCopyDto(source) {
118
+ return {
119
+ ...source,
120
+ code: null,
121
+ offerDate: new Date().toISOString().split('T')[0],
122
+ };
123
+ }
124
+ onSaved() {
125
+ this.formVisible = false;
126
+ this.selected = null;
127
+ this.toaster.success('Keops::FreightOffers:SuccessfullySaved');
128
+ this.loadList();
129
+ }
130
+ getContainerName(code) {
131
+ return this.containerDefinitions.find(c => c.code === code)?.name ?? code;
132
+ }
133
+ calcLineTotalUsd(line) {
134
+ const inlandUsd = this.usdRate > 0 ? (line.inlandTry || 0) / this.usdRate : 0;
135
+ return (line.freightUsd || 0) + (line.portLocalUsd || 0) + inlandUsd;
136
+ }
137
+ remove(row) {
138
+ this.confirmation.warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure').subscribe(status => {
139
+ if (status === Confirmation.Status.confirm) {
140
+ this.service.delete(row.code).subscribe({
141
+ next: () => {
142
+ this.toaster.success('Keops::FreightOffers:SuccessfullyDeleted');
143
+ this.loadList();
144
+ },
145
+ });
146
+ }
147
+ });
148
+ }
149
+ }
150
+ FreightOffersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FreightOffersComponent, deps: [{ token: i1.FreightOfferService }, { token: i1.CarrierService }, { token: i1.LineService }, { token: i1.PosService }, { token: i1.DestinationPortService }, { token: i2.ToasterService }, { token: i2.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
151
+ FreightOffersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FreightOffersComponent, selector: "lib-freight-offers", viewQueries: [{ propertyName: "grid", first: true, predicate: DxDataGridComponent, descendants: true }], ngImport: i0, template: "<abp-page [title]=\"'Keops::FreightOffers:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"FreightOffersToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsFreight.FreightOffers.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::FreightOffers:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"FreightOffersWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div *ngIf=\"loading\" class=\"d-flex justify-content-center align-items-center py-5\">\r\n <div class=\"spinner-border text-primary\" role=\"status\">\r\n <span class=\"visually-hidden\">Loading...</span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!loading\">\r\n <div class=\"mb-3\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"showOnlyValid\" [(ngModel)]=\"showOnlyValid\" (ngModelChange)=\"onShowOnlyValidChange()\" />\r\n <label class=\"form-check-label\" for=\"showOnlyValid\">\r\n {{ 'Keops::FreightOffers:ShowOnlyValid' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n <dx-data-grid\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 width=\"100%\"\r\n >\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\" [allowSearch]=\"true\"></dxo-header-filter>\r\n\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10, 20, 50]\" [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" [allowFiltering]=\"false\" [allowHeaderFiltering]=\"false\" [allowReordering]=\"false\" [allowHiding]=\"false\" [allowGrouping]=\"false\" [allowSorting]=\"false\" cellTemplate=\"optTpl\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\" width=\"120\">\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>{{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button *abpPermission=\"'KeopsFreight.FreightOffers.Copy'\" ngbDropdownItem (click)=\"openCopy(row.data)\">{{ 'Keops::FreightOffers:Copy' | abpLocalization }}</button>\r\n <button *abpPermission=\"'KeopsFreight.FreightOffers.Update'\" ngbDropdownItem (click)=\"openEdit(row.data)\">{{ 'AbpUi::Edit' | abpLocalization }}</button>\r\n <button *abpPermission=\"'KeopsFreight.FreightOffers.Delete'\" ngbDropdownItem (click)=\"remove(row.data)\">{{ 'AbpUi::Delete' | abpLocalization }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"offerDate\" dataType=\"date\" caption=\"{{ 'Keops::FreightOffers:OfferDate' | abpLocalization }}\" width=\"110\"></dxi-column>\r\n <dxi-column dataField=\"validFrom\" dataType=\"date\" caption=\"{{ 'Keops::FreightOffers:ValidFrom' | abpLocalization }}\" width=\"110\"></dxi-column>\r\n <dxi-column dataField=\"validTo\" dataType=\"date\" caption=\"{{ 'Keops::FreightOffers:ValidTo' | abpLocalization }}\" width=\"110\"></dxi-column>\r\n <dxi-column dataField=\"carrierBpCode\" caption=\"{{ 'Keops::FreightOffers:CarrierBpCode' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"carriers\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"lineName\" caption=\"{{ 'Keops::FreightOffers:LineName' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"lines\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"posCode\" caption=\"{{ 'Keops::FreightOffers:PosCode' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"loadingPorts\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"destPortCode\" caption=\"{{ 'Keops::FreightOffers:DestPortCode' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"destPorts\" valueExpr=\"code\" displayExpr=\"portName\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"transitDays\" dataType=\"number\" caption=\"{{ 'Keops::FreightOffers:TransitDays' | abpLocalization }}\" width=\"90\" alignment=\"center\"></dxi-column>\r\n <dxi-column dataField=\"freeTime\" dataType=\"number\" caption=\"{{ 'Keops::FreightOffers:FreeTime' | abpLocalization }}\" width=\"90\" alignment=\"center\"></dxi-column>\r\n <dxi-column [caption]=\"'Keops::FreightOffers:ContainerInfo' | abpLocalization\" cellTemplate=\"containerInfoTpl\" [allowSorting]=\"false\" [allowFiltering]=\"false\" [allowHeaderFiltering]=\"false\" [minWidth]=\"520\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'containerInfoTpl'\">\r\n <table class=\"table table-sm table-bordered mb-0\" style=\"font-size: 0.8rem;\">\r\n <thead class=\"table-dark\">\r\n <tr>\r\n <th style=\"min-width:80px\">{{ 'Keops::FreightOffers:ContainerTypeCode' | abpLocalization }}</th>\r\n <th class=\"text-end\" style=\"min-width:90px\">{{ 'Keops::FreightOffers:FreightUsd' | abpLocalization }}</th>\r\n <th class=\"text-end\" style=\"min-width:90px\">{{ 'Keops::FreightOffers:PortLocalUsd' | abpLocalization }}</th>\r\n <th class=\"text-end\" style=\"min-width:85px\">{{ 'Keops::FreightOffers:InlandTry' | abpLocalization }}</th>\r\n <th class=\"text-end\" style=\"min-width:85px\">{{ 'Keops::FreightOffers:TotalUsd' | abpLocalization }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let line of cell.data.lines\">\r\n <td>{{ getContainerName(line.containerTypeCode) }}</td>\r\n <td class=\"text-end\">{{ line.freightUsd | number:'1.2-2' }}</td>\r\n <td class=\"text-end\">{{ line.portLocalUsd | number:'1.2-2' }}</td>\r\n <td class=\"text-end\">{{ line.inlandTry | number:'1.0-0' }}</td>\r\n <td class=\"text-end fw-semibold\">{{ calcLineTotalUsd(line) | number:'1.2-2' }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </dx-data-grid>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-freight-offer-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n [countries]=\"countries\"\r\n [usdRate]=\"usdRate\"\r\n (saved)=\"onSaved()\"\r\n></lib-freight-offer-form>\r\n\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.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i6.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i6.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "directive", type: i7.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i7.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i7.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i7.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i8.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: i9.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: i9.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i9.DxoLookupComponent, selector: "dxo-lookup", inputs: ["allowClearing", "calculateCellValue", "dataSource", "displayExpr", "valueExpr"] }, { kind: "component", type: i9.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i9.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i9.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "directive", type: i10.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i11.FreightOfferFormComponent, selector: "lib-freight-offer-form", inputs: ["visible", "mode", "current", "countries", "usdRate"], outputs: ["visibleChange", "saved"] }, { kind: "pipe", type: i3.DecimalPipe, name: "number" }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] });
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FreightOffersComponent, decorators: [{
153
+ type: Component,
154
+ args: [{ selector: 'lib-freight-offers', template: "<abp-page [title]=\"'Keops::FreightOffers:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"FreightOffersToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsFreight.FreightOffers.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::FreightOffers:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"FreightOffersWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div *ngIf=\"loading\" class=\"d-flex justify-content-center align-items-center py-5\">\r\n <div class=\"spinner-border text-primary\" role=\"status\">\r\n <span class=\"visually-hidden\">Loading...</span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!loading\">\r\n <div class=\"mb-3\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"showOnlyValid\" [(ngModel)]=\"showOnlyValid\" (ngModelChange)=\"onShowOnlyValidChange()\" />\r\n <label class=\"form-check-label\" for=\"showOnlyValid\">\r\n {{ 'Keops::FreightOffers:ShowOnlyValid' | abpLocalization }}\r\n </label>\r\n </div>\r\n </div>\r\n <dx-data-grid\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 width=\"100%\"\r\n >\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\" [allowSearch]=\"true\"></dxo-header-filter>\r\n\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10, 20, 50]\" [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" [allowFiltering]=\"false\" [allowHeaderFiltering]=\"false\" [allowReordering]=\"false\" [allowHiding]=\"false\" [allowGrouping]=\"false\" [allowSorting]=\"false\" cellTemplate=\"optTpl\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\" width=\"120\">\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>{{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button *abpPermission=\"'KeopsFreight.FreightOffers.Copy'\" ngbDropdownItem (click)=\"openCopy(row.data)\">{{ 'Keops::FreightOffers:Copy' | abpLocalization }}</button>\r\n <button *abpPermission=\"'KeopsFreight.FreightOffers.Update'\" ngbDropdownItem (click)=\"openEdit(row.data)\">{{ 'AbpUi::Edit' | abpLocalization }}</button>\r\n <button *abpPermission=\"'KeopsFreight.FreightOffers.Delete'\" ngbDropdownItem (click)=\"remove(row.data)\">{{ 'AbpUi::Delete' | abpLocalization }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"offerDate\" dataType=\"date\" caption=\"{{ 'Keops::FreightOffers:OfferDate' | abpLocalization }}\" width=\"110\"></dxi-column>\r\n <dxi-column dataField=\"validFrom\" dataType=\"date\" caption=\"{{ 'Keops::FreightOffers:ValidFrom' | abpLocalization }}\" width=\"110\"></dxi-column>\r\n <dxi-column dataField=\"validTo\" dataType=\"date\" caption=\"{{ 'Keops::FreightOffers:ValidTo' | abpLocalization }}\" width=\"110\"></dxi-column>\r\n <dxi-column dataField=\"carrierBpCode\" caption=\"{{ 'Keops::FreightOffers:CarrierBpCode' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"carriers\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"lineName\" caption=\"{{ 'Keops::FreightOffers:LineName' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"lines\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"posCode\" caption=\"{{ 'Keops::FreightOffers:PosCode' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"loadingPorts\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"destPortCode\" caption=\"{{ 'Keops::FreightOffers:DestPortCode' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"destPorts\" valueExpr=\"code\" displayExpr=\"portName\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"transitDays\" dataType=\"number\" caption=\"{{ 'Keops::FreightOffers:TransitDays' | abpLocalization }}\" width=\"90\" alignment=\"center\"></dxi-column>\r\n <dxi-column dataField=\"freeTime\" dataType=\"number\" caption=\"{{ 'Keops::FreightOffers:FreeTime' | abpLocalization }}\" width=\"90\" alignment=\"center\"></dxi-column>\r\n <dxi-column [caption]=\"'Keops::FreightOffers:ContainerInfo' | abpLocalization\" cellTemplate=\"containerInfoTpl\" [allowSorting]=\"false\" [allowFiltering]=\"false\" [allowHeaderFiltering]=\"false\" [minWidth]=\"520\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'containerInfoTpl'\">\r\n <table class=\"table table-sm table-bordered mb-0\" style=\"font-size: 0.8rem;\">\r\n <thead class=\"table-dark\">\r\n <tr>\r\n <th style=\"min-width:80px\">{{ 'Keops::FreightOffers:ContainerTypeCode' | abpLocalization }}</th>\r\n <th class=\"text-end\" style=\"min-width:90px\">{{ 'Keops::FreightOffers:FreightUsd' | abpLocalization }}</th>\r\n <th class=\"text-end\" style=\"min-width:90px\">{{ 'Keops::FreightOffers:PortLocalUsd' | abpLocalization }}</th>\r\n <th class=\"text-end\" style=\"min-width:85px\">{{ 'Keops::FreightOffers:InlandTry' | abpLocalization }}</th>\r\n <th class=\"text-end\" style=\"min-width:85px\">{{ 'Keops::FreightOffers:TotalUsd' | abpLocalization }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let line of cell.data.lines\">\r\n <td>{{ getContainerName(line.containerTypeCode) }}</td>\r\n <td class=\"text-end\">{{ line.freightUsd | number:'1.2-2' }}</td>\r\n <td class=\"text-end\">{{ line.portLocalUsd | number:'1.2-2' }}</td>\r\n <td class=\"text-end\">{{ line.inlandTry | number:'1.0-0' }}</td>\r\n <td class=\"text-end fw-semibold\">{{ calcLineTotalUsd(line) | number:'1.2-2' }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </dx-data-grid>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-freight-offer-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n [countries]=\"countries\"\r\n [usdRate]=\"usdRate\"\r\n (saved)=\"onSaved()\"\r\n></lib-freight-offer-form>\r\n\r\n" }]
155
+ }], ctorParameters: function () { return [{ type: i1.FreightOfferService }, { type: i1.CarrierService }, { type: i1.LineService }, { type: i1.PosService }, { type: i1.DestinationPortService }, { type: i2.ToasterService }, { type: i2.ConfirmationService }]; }, propDecorators: { grid: [{
156
+ type: ViewChild,
157
+ args: [DxDataGridComponent]
158
+ }] } });
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlaWdodC1vZmZlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9mcmVpZ2h0LW9mZmVycy9jb21wb25lbnRzL2ZyZWlnaHQtb2ZmZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvZnJlaWdodC1vZmZlcnMvY29tcG9uZW50cy9mcmVpZ2h0LW9mZmVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQXVCLFlBQVksRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBV2hDLE1BQU0sT0FBTyxzQkFBc0I7SUFpQmpDLFlBQ21CLE9BQTRCLEVBQzVCLGNBQThCLEVBQzlCLFdBQXdCLEVBQ3hCLFVBQXNCLEVBQ3RCLHNCQUE4QyxFQUM5QyxPQUF1QixFQUN2QixZQUFpQztRQU5qQyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQXJCcEQsVUFBSyxHQUFzQixFQUFFLENBQUM7UUFDOUIsY0FBUyxHQUF1QixFQUFFLENBQUM7UUFDbkMsYUFBUSxHQUFpQixFQUFFLENBQUM7UUFDNUIsVUFBSyxHQUFjLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFhLEVBQUUsQ0FBQztRQUM1QixjQUFTLEdBQXlCLEVBQUUsQ0FBQztRQUNyQyx5QkFBb0IsR0FBbUMsRUFBRSxDQUFDO1FBQzFELFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDWixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2Ysa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFzQixRQUFRLENBQUM7UUFzSHZDLGlCQUFZLEdBQUcsQ0FBQyxHQUFvQixFQUFVLEVBQUU7WUFDOUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUM7SUE5R0MsQ0FBQztJQUVKLFFBQVE7UUFDTixRQUFRLENBQUM7WUFDUCxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUU7WUFDNUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRTtZQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUU7WUFDakMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFO1lBQ2hELGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLDZCQUE2QixFQUFFO1NBQzVELENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxJQUFJLENBQUMsYUFBYTtnQkFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsT0FBTztTQUNSO1FBQ0QsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNyQixNQUFNLFFBQVEsR0FBRztZQUNmLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDZixNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztTQUNyQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNaLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3JFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQy9ELE9BQU8sQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksUUFBUSxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFvQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQW9CO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNwQix5Q0FBeUMsRUFDekMsZ0NBQWdDLEVBQ2hDLEVBQUUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLFVBQVUsRUFBRSxtQ0FBbUMsRUFBRSxDQUNqRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQixJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDN0QsSUFBSSxFQUFFLEdBQUcsRUFBRTt3QkFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO3dCQUNoRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xCLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7aUJBQU0sSUFBSSxNQUFNLEtBQUssWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUFDLE1BQXVCO1FBQzFDLE9BQU87WUFDTCxHQUFHLE1BQU07WUFDVCxJQUFJLEVBQUUsSUFBSztZQUNYLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEQsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsd0NBQXdDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVk7UUFDM0IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDO0lBQzVFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUF5QjtRQUN4QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ3ZFLENBQUM7SUFNRCxNQUFNLENBQUMsR0FBb0I7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsaUNBQWlDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEcsSUFBSSxNQUFNLEtBQUssWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ3ZDLElBQUksRUFBRSxHQUFHLEVBQUU7d0JBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUMsQ0FBQzt3QkFDakUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNsQixDQUFDO2lCQUNGLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzttSEFwSlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsZ0dBQ3RCLG1CQUFtQixnRENmaEMsNmtQQTRIQTsyRkQ5R2Esc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLG9CQUFvQjs4UkFJRSxJQUFJO3NCQUFuQyxTQUFTO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHhEYXRhR3JpZENvbXBvbmVudCB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhcic7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIENvbmZpcm1hdGlvbiwgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENhcnJpZXJTZXJ2aWNlLCBEZXN0aW5hdGlvblBvcnRTZXJ2aWNlLCBGcmVpZ2h0T2ZmZXJTZXJ2aWNlLCBMaW5lU2VydmljZSwgUG9zU2VydmljZSwgQ291bnRyeUxvb2t1cER0bywgQ29udGFpbmVyRGVmaW5pdGlvbkxvb2t1cER0bywgRnJlaWdodE9mZmVyRHRvLCBGcmVpZ2h0T2ZmZXJMaW5lRHRvIH0gZnJvbSAnQGhpdHNvZnQva2Fkb29nbHUta2VvcHMvcHJveHknO1xyXG5pbXBvcnQgdHlwZSB7IENhcnJpZXJEdG8gfSBmcm9tICdAaGl0c29mdC9rYWRvb2dsdS1rZW9wcy9wcm94eSc7XHJcbmltcG9ydCB0eXBlIHsgTGluZUR0byB9IGZyb20gJ0BoaXRzb2Z0L2thZG9vZ2x1LWtlb3BzL3Byb3h5JztcclxuaW1wb3J0IHR5cGUgeyBQb3NEdG8gfSBmcm9tICdAaGl0c29mdC9rYWRvb2dsdS1rZW9wcy9wcm94eSc7XHJcbmltcG9ydCB0eXBlIHsgRGVzdGluYXRpb25Qb3J0RHRvIH0gZnJvbSAnQGhpdHNvZnQva2Fkb29nbHUta2VvcHMvcHJveHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZnJlaWdodC1vZmZlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVpZ2h0LW9mZmVycy5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVpZ2h0T2ZmZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKER4RGF0YUdyaWRDb21wb25lbnQpIGdyaWQhOiBEeERhdGFHcmlkQ29tcG9uZW50O1xyXG5cclxuICBpdGVtczogRnJlaWdodE9mZmVyRHRvW10gPSBbXTtcclxuICBjb3VudHJpZXM6IENvdW50cnlMb29rdXBEdG9bXSA9IFtdO1xyXG4gIGNhcnJpZXJzOiBDYXJyaWVyRHRvW10gPSBbXTtcclxuICBsaW5lczogTGluZUR0b1tdID0gW107XHJcbiAgbG9hZGluZ1BvcnRzOiBQb3NEdG9bXSA9IFtdO1xyXG4gIGRlc3RQb3J0czogRGVzdGluYXRpb25Qb3J0RHRvW10gPSBbXTtcclxuICBjb250YWluZXJEZWZpbml0aW9uczogQ29udGFpbmVyRGVmaW5pdGlvbkxvb2t1cER0b1tdID0gW107XHJcbiAgdXNkUmF0ZSA9IDA7XHJcbiAgbG9hZGluZyA9IHRydWU7XHJcbiAgc2hvd09ubHlWYWxpZCA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkOiBGcmVpZ2h0T2ZmZXJEdG8gfCBudWxsID0gbnVsbDtcclxuICBmb3JtVmlzaWJsZSA9IGZhbHNlO1xyXG4gIGZvcm1Nb2RlOiAnY3JlYXRlJyB8ICdlZGl0JyA9ICdjcmVhdGUnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogRnJlaWdodE9mZmVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FycmllclNlcnZpY2U6IENhcnJpZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5lU2VydmljZTogTGluZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvc1NlcnZpY2U6IFBvc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3RpbmF0aW9uUG9ydFNlcnZpY2U6IERlc3RpbmF0aW9uUG9ydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ZXI6IFRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtYXRpb246IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGZvcmtKb2luKHtcclxuICAgICAgaXRlbXM6IHRoaXMuc2VydmljZS5nZXRMaXN0KCksXHJcbiAgICAgIGNvdW50cmllczogdGhpcy5zZXJ2aWNlLmdldENvdW50cmllc0xvb2t1cCgpLFxyXG4gICAgICB1c2RSYXRlOiB0aGlzLnNlcnZpY2UuZ2V0VXNkUmF0ZSgpLFxyXG4gICAgICBjYXJyaWVyczogdGhpcy5jYXJyaWVyU2VydmljZS5nZXRMaXN0KCksXHJcbiAgICAgIGxpbmVzOiB0aGlzLmxpbmVTZXJ2aWNlLmdldExpc3QoKSxcclxuICAgICAgbG9hZGluZ1BvcnRzOiB0aGlzLnBvc1NlcnZpY2UuZ2V0TGlzdCgpLFxyXG4gICAgICBkZXN0UG9ydHM6IHRoaXMuZGVzdGluYXRpb25Qb3J0U2VydmljZS5nZXRMaXN0KCksXHJcbiAgICAgIGNvbnRhaW5lckRlZnM6IHRoaXMuc2VydmljZS5nZXRDb250YWluZXJEZWZpbml0aW9uc0xvb2t1cCgpLFxyXG4gICAgfSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSByZXN1bHQuaXRlbXM7XHJcbiAgICAgIHRoaXMuY291bnRyaWVzID0gcmVzdWx0LmNvdW50cmllcztcclxuICAgICAgdGhpcy51c2RSYXRlID0gcmVzdWx0LnVzZFJhdGU7XHJcbiAgICAgIHRoaXMuY2FycmllcnMgPSByZXN1bHQuY2FycmllcnM7XHJcbiAgICAgIHRoaXMubGluZXMgPSByZXN1bHQubGluZXM7XHJcbiAgICAgIHRoaXMubG9hZGluZ1BvcnRzID0gcmVzdWx0LmxvYWRpbmdQb3J0cztcclxuICAgICAgdGhpcy5kZXN0UG9ydHMgPSByZXN1bHQuZGVzdFBvcnRzO1xyXG4gICAgICB0aGlzLmNvbnRhaW5lckRlZmluaXRpb25zID0gcmVzdWx0LmNvbnRhaW5lckRlZnMuZmlsdGVyKGQgPT4gZC5pc0FjdGl2ZSk7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsb2FkTGlzdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXRMaXN0KCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLml0ZW1zID0gZGF0YTtcclxuICAgICAgaWYgKHRoaXMuc2hvd09ubHlWYWxpZCkgdGhpcy5vblNob3dPbmx5VmFsaWRDaGFuZ2UoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25TaG93T25seVZhbGlkQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNob3dPbmx5VmFsaWQpIHtcclxuICAgICAgdGhpcy5ncmlkLmluc3RhbmNlLm9wdGlvbignZGF0YVNvdXJjZScsIHRoaXMuaXRlbXMpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBkID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnN0IHRvZGF5U3RyID0gW1xyXG4gICAgICBkLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgIFN0cmluZyhkLmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpLFxyXG4gICAgICBTdHJpbmcoZC5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsICcwJyksXHJcbiAgICBdLmpvaW4oJy0nKTtcclxuICAgIGNvbnN0IGZpbHRlcmVkID0gdGhpcy5pdGVtcy5maWx0ZXIoaXRlbSA9PiB7XHJcbiAgICAgIGNvbnN0IGZyb20gPSBpdGVtLnZhbGlkRnJvbSA/IGl0ZW0udmFsaWRGcm9tLnN1YnN0cmluZygwLCAxMCkgOiBudWxsO1xyXG4gICAgICBjb25zdCB0byA9IGl0ZW0udmFsaWRUbyA/IGl0ZW0udmFsaWRUby5zdWJzdHJpbmcoMCwgMTApIDogbnVsbDtcclxuICAgICAgcmV0dXJuICghZnJvbSB8fCBmcm9tIDw9IHRvZGF5U3RyKSAmJiAoIXRvIHx8IHRvID49IHRvZGF5U3RyKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5ncmlkLmluc3RhbmNlLm9wdGlvbignZGF0YVNvdXJjZScsIGZpbHRlcmVkKTtcclxuICB9XHJcblxyXG4gIG9wZW5DcmVhdGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gbnVsbDtcclxuICAgIHRoaXMuZm9ybU1vZGUgPSAnY3JlYXRlJztcclxuICAgIHRoaXMuZm9ybVZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgb3BlbkVkaXQocm93OiBGcmVpZ2h0T2ZmZXJEdG8pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSByb3c7XHJcbiAgICB0aGlzLmZvcm1Nb2RlID0gJ2VkaXQnO1xyXG4gICAgdGhpcy5mb3JtVmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvcGVuQ29weShyb3c6IEZyZWlnaHRPZmZlckR0byk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb24ud2FybihcclxuICAgICAgJ0tlb3BzOjpGcmVpZ2h0T2ZmZXJzOkNvcHlDb25maXJtTWVzc2FnZScsXHJcbiAgICAgICdLZW9wczo6RnJlaWdodE9mZmVyczpDb3B5VGl0bGUnLFxyXG4gICAgICB7IHllc1RleHQ6ICdLZW9wczo6RnJlaWdodE9mZmVyczpDb3B5QXV0b1llcycsIGNhbmNlbFRleHQ6ICdLZW9wczo6RnJlaWdodE9mZmVyczpDb3B5TWFudWFsTm8nIH1cclxuICAgICkuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XHJcbiAgICAgIGlmIChzdGF0dXMgPT09IENvbmZpcm1hdGlvbi5TdGF0dXMuY29uZmlybSkge1xyXG4gICAgICAgIHRoaXMuc2VydmljZS5jb3B5KHJvdy5jb2RlISwgeyBtYW51YWxEYXRlczogZmFsc2UgfSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyLnN1Y2Nlc3MoJ0tlb3BzOjpGcmVpZ2h0T2ZmZXJzOlN1Y2Nlc3NmdWxseUNvcGllZCcpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRMaXN0KCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5yZWplY3QpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5idWlsZENvcHlEdG8ocm93KTtcclxuICAgICAgICB0aGlzLmZvcm1Nb2RlID0gJ2NyZWF0ZSc7XHJcbiAgICAgICAgdGhpcy5mb3JtVmlzaWJsZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZENvcHlEdG8oc291cmNlOiBGcmVpZ2h0T2ZmZXJEdG8pOiBGcmVpZ2h0T2ZmZXJEdG8ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4uc291cmNlLFxyXG4gICAgICBjb2RlOiBudWxsISxcclxuICAgICAgb2ZmZXJEYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBvblNhdmVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IG51bGw7XHJcbiAgICB0aGlzLnRvYXN0ZXIuc3VjY2VzcygnS2VvcHM6OkZyZWlnaHRPZmZlcnM6U3VjY2Vzc2Z1bGx5U2F2ZWQnKTtcclxuICAgIHRoaXMubG9hZExpc3QoKTtcclxuICB9XHJcblxyXG4gIGdldENvbnRhaW5lck5hbWUoY29kZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckRlZmluaXRpb25zLmZpbmQoYyA9PiBjLmNvZGUgPT09IGNvZGUpPy5uYW1lID8/IGNvZGU7XHJcbiAgfVxyXG5cclxuICBjYWxjTGluZVRvdGFsVXNkKGxpbmU6IEZyZWlnaHRPZmZlckxpbmVEdG8pOiBudW1iZXIge1xyXG4gICAgY29uc3QgaW5sYW5kVXNkID0gdGhpcy51c2RSYXRlID4gMCA/IChsaW5lLmlubGFuZFRyeSB8fCAwKSAvIHRoaXMudXNkUmF0ZSA6IDA7XHJcbiAgICByZXR1cm4gKGxpbmUuZnJlaWdodFVzZCB8fCAwKSArIChsaW5lLnBvcnRMb2NhbFVzZCB8fCAwKSArIGlubGFuZFVzZDtcclxuICB9XHJcblxyXG4gIGNhbGNUb3RhbFVzZCA9IChyb3c6IEZyZWlnaHRPZmZlckR0byk6IG51bWJlciA9PiB7XHJcbiAgICByZXR1cm4gKHJvdy5saW5lcyA/PyBbXSkucmVkdWNlKChzdW0sIGxpbmUpID0+IHN1bSArIHRoaXMuY2FsY0xpbmVUb3RhbFVzZChsaW5lKSwgMCk7XHJcbiAgfTtcclxuXHJcbiAgcmVtb3ZlKHJvdzogRnJlaWdodE9mZmVyRHRvKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbi53YXJuKCdBYnBVaTo6SXRlbVdpbGxCZURlbGV0ZWRNZXNzYWdlJywgJ0FicFVpOjpBcmVZb3VTdXJlJykuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XHJcbiAgICAgIGlmIChzdGF0dXMgPT09IENvbmZpcm1hdGlvbi5TdGF0dXMuY29uZmlybSkge1xyXG4gICAgICAgIHRoaXMuc2VydmljZS5kZWxldGUocm93LmNvZGUhKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuc3VjY2VzcygnS2VvcHM6OkZyZWlnaHRPZmZlcnM6U3VjY2Vzc2Z1bGx5RGVsZXRlZCcpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRMaXN0KCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFt0aXRsZV09XCInS2VvcHM6OkZyZWlnaHRPZmZlcnM6VGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1lbmQgbXgtMFwiIGlkPVwiRnJlaWdodE9mZmVyc1Rvb2xiYXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIHB4LTEgcHQtMCBwdC1tZC0yIHBlLTBcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqYWJwUGVybWlzc2lvbj1cIidLZW9wc0ZyZWlnaHQuRnJlaWdodE9mZmVycy5DcmVhdGUnXCJcclxuICAgICAgICAgIGlkPVwiY3JlYXRlXCJcclxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5DcmVhdGUoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzIG1lLTFcIj48L2k+XHJcbiAgICAgICAgICA8c3Bhbj57eyAnS2VvcHM6OkZyZWlnaHRPZmZlcnM6TmV3JyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2FicC1wYWdlLXRvb2xiYXItY29udGFpbmVyPlxyXG5cclxuICA8ZGl2IGlkPVwiRnJlaWdodE9mZmVyc1dyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHB5LTVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWJvcmRlciB0ZXh0LXByaW1hcnlcIiByb2xlPVwic3RhdHVzXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+TG9hZGluZy4uLjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJzaG93T25seVZhbGlkXCIgWyhuZ01vZGVsKV09XCJzaG93T25seVZhbGlkXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25TaG93T25seVZhbGlkQ2hhbmdlKClcIiAvPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwic2hvd09ubHlWYWxpZFwiPlxyXG4gICAgICAgICAgICAgIHt7ICdLZW9wczo6RnJlaWdodE9mZmVyczpTaG93T25seVZhbGlkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGR4LWRhdGEtZ3JpZFxyXG4gICAgICAgICAgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxyXG4gICAgICAgICAgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCJcclxuICAgICAgICAgIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgW3Jvd0FsdGVybmF0aW9uRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgIFtkYXRhU291cmNlXT1cIml0ZW1zXCJcclxuICAgICAgICAgIGtleUV4cHI9XCJjb2RlXCJcclxuICAgICAgICAgIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiXHJcbiAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cclxuICAgICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbdmlzaWJsZV09XCJ0cnVlXCIgW2FsbG93U2VhcmNoXT1cInRydWVcIj48L2R4by1oZWFkZXItZmlsdGVyPlxyXG5cclxuICAgICAgICAgIDxkeG8tcGFnZXIgW3Zpc2libGVdPVwidHJ1ZVwiIFtzaG93SW5mb109XCJ0cnVlXCIgW2FsbG93ZWRQYWdlU2l6ZXNdPVwiWzEwLCAyMCwgNTBdXCIgW3Nob3dQYWdlU2l6ZVNlbGVjdG9yXT1cInRydWVcIiBbc2hvd05hdmlnYXRpb25CdXR0b25zXT1cInRydWVcIj48L2R4by1wYWdlcj5cclxuICAgICAgICAgIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCIxMFwiPjwvZHhvLXBhZ2luZz5cclxuXHJcbiAgICAgICAgICA8ZHhpLWNvbHVtbiBbZml4ZWRdPVwidHJ1ZVwiIFthbGxvd0ZpbHRlcmluZ109XCJmYWxzZVwiIFthbGxvd0hlYWRlckZpbHRlcmluZ109XCJmYWxzZVwiIFthbGxvd1Jlb3JkZXJpbmddPVwiZmFsc2VcIiBbYWxsb3dIaWRpbmddPVwiZmFsc2VcIiBbYWxsb3dHcm91cGluZ109XCJmYWxzZVwiIFthbGxvd1NvcnRpbmddPVwiZmFsc2VcIiBjZWxsVGVtcGxhdGU9XCJvcHRUcGxcIiBjYXB0aW9uPVwie3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVwiIHdpZHRoPVwiMTIwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgcm93IG9mICdvcHRUcGwnXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93biBjb250YWluZXI9XCJib2R5XCIgY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIiBuZ2JEcm9wZG93blRvZ2dsZT5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jb2cgbWUtMVwiPjwvaT57eyAnQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uICphYnBQZXJtaXNzaW9uPVwiJ0tlb3BzRnJlaWdodC5GcmVpZ2h0T2ZmZXJzLkNvcHknXCIgbmdiRHJvcGRvd25JdGVtIChjbGljayk9XCJvcGVuQ29weShyb3cuZGF0YSlcIj57eyAnS2VvcHM6OkZyZWlnaHRPZmZlcnM6Q29weScgfCBhYnBMb2NhbGl6YXRpb24gfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqYWJwUGVybWlzc2lvbj1cIidLZW9wc0ZyZWlnaHQuRnJlaWdodE9mZmVycy5VcGRhdGUnXCIgbmdiRHJvcGRvd25JdGVtIChjbGljayk9XCJvcGVuRWRpdChyb3cuZGF0YSlcIj57eyAnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b24gKmFicFBlcm1pc3Npb249XCInS2VvcHNGcmVpZ2h0LkZyZWlnaHRPZmZlcnMuRGVsZXRlJ1wiIG5nYkRyb3Bkb3duSXRlbSAoY2xpY2spPVwicmVtb3ZlKHJvdy5kYXRhKVwiPnt7ICdBYnBVaTo6RGVsZXRlJyB8IGFicExvY2FsaXphdGlvbiB9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9keGktY29sdW1uPlxyXG4gICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwib2ZmZXJEYXRlXCIgZGF0YVR5cGU9XCJkYXRlXCIgY2FwdGlvbj1cInt7ICdLZW9wczo6RnJlaWdodE9mZmVyczpPZmZlckRhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCIgd2lkdGg9XCIxMTBcIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJ2YWxpZEZyb21cIiBkYXRhVHlwZT1cImRhdGVcIiBjYXB0aW9uPVwie3sgJ0tlb3BzOjpGcmVpZ2h0T2ZmZXJzOlZhbGlkRnJvbScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiB3aWR0aD1cIjExMFwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInZhbGlkVG9cIiBkYXRhVHlwZT1cImRhdGVcIiBjYXB0aW9uPVwie3sgJ0tlb3BzOjpGcmVpZ2h0T2ZmZXJzOlZhbGlkVG8nIHwgYWJwTG9jYWxpemF0aW9uIH19XCIgd2lkdGg9XCIxMTBcIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJjYXJyaWVyQnBDb2RlXCIgY2FwdGlvbj1cInt7ICdLZW9wczo6RnJlaWdodE9mZmVyczpDYXJyaWVyQnBDb2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiPlxyXG4gICAgICAgICAgICA8ZHhvLWxvb2t1cCBbZGF0YVNvdXJjZV09XCJjYXJyaWVyc1wiIHZhbHVlRXhwcj1cImNvZGVcIiBkaXNwbGF5RXhwcj1cIm5hbWVcIj48L2R4by1sb29rdXA+XHJcbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJsaW5lTmFtZVwiIGNhcHRpb249XCJ7eyAnS2VvcHM6OkZyZWlnaHRPZmZlcnM6TGluZU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCI+XHJcbiAgICAgICAgICAgIDxkeG8tbG9va3VwIFtkYXRhU291cmNlXT1cImxpbmVzXCIgdmFsdWVFeHByPVwiY29kZVwiIGRpc3BsYXlFeHByPVwibmFtZVwiPjwvZHhvLWxvb2t1cD5cclxuICAgICAgICAgIDwvZHhpLWNvbHVtbj5cclxuICAgICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInBvc0NvZGVcIiBjYXB0aW9uPVwie3sgJ0tlb3BzOjpGcmVpZ2h0T2ZmZXJzOlBvc0NvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCI+XHJcbiAgICAgICAgICAgIDxkeG8tbG9va3VwIFtkYXRhU291cmNlXT1cImxvYWRpbmdQb3J0c1wiIHZhbHVlRXhwcj1cImNvZGVcIiBkaXNwbGF5RXhwcj1cIm5hbWVcIj48L2R4by1sb29rdXA+XHJcbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJkZXN0UG9ydENvZGVcIiBjYXB0aW9uPVwie3sgJ0tlb3BzOjpGcmVpZ2h0T2ZmZXJzOkRlc3RQb3J0Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIj5cclxuICAgICAgICAgICAgPGR4by1sb29rdXAgW2RhdGFTb3VyY2VdPVwiZGVzdFBvcnRzXCIgdmFsdWVFeHByPVwiY29kZVwiIGRpc3BsYXlFeHByPVwicG9ydE5hbWVcIj48L2R4by1sb29rdXA+XHJcbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJ0cmFuc2l0RGF5c1wiIGRhdGFUeXBlPVwibnVtYmVyXCIgY2FwdGlvbj1cInt7ICdLZW9wczo6RnJlaWdodE9mZmVyczpUcmFuc2l0RGF5cycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiB3aWR0aD1cIjkwXCIgYWxpZ25tZW50PVwiY2VudGVyXCI+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwiZnJlZVRpbWVcIiBkYXRhVHlwZT1cIm51bWJlclwiIGNhcHRpb249XCJ7eyAnS2VvcHM6OkZyZWlnaHRPZmZlcnM6RnJlZVRpbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCIgd2lkdGg9XCI5MFwiIGFsaWdubWVudD1cImNlbnRlclwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICAgIDxkeGktY29sdW1uIFtjYXB0aW9uXT1cIidLZW9wczo6RnJlaWdodE9mZmVyczpDb250YWluZXJJbmZvJyB8IGFicExvY2FsaXphdGlvblwiIGNlbGxUZW1wbGF0ZT1cImNvbnRhaW5lckluZm9UcGxcIiBbYWxsb3dTb3J0aW5nXT1cImZhbHNlXCIgW2FsbG93RmlsdGVyaW5nXT1cImZhbHNlXCIgW2FsbG93SGVhZGVyRmlsdGVyaW5nXT1cImZhbHNlXCIgW21pbldpZHRoXT1cIjUyMFwiPjwvZHhpLWNvbHVtbj5cclxuXHJcbiAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGwgb2YgJ2NvbnRhaW5lckluZm9UcGwnXCI+XHJcbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXNtIHRhYmxlLWJvcmRlcmVkIG1iLTBcIiBzdHlsZT1cImZvbnQtc2l6ZTogMC44cmVtO1wiPlxyXG4gICAgICAgICAgICAgIDx0aGVhZCBjbGFzcz1cInRhYmxlLWRhcmtcIj5cclxuICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwibWluLXdpZHRoOjgwcHhcIj57eyAnS2VvcHM6OkZyZWlnaHRPZmZlcnM6Q29udGFpbmVyVHlwZUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1lbmRcIiBzdHlsZT1cIm1pbi13aWR0aDo5MHB4XCI+e3sgJ0tlb3BzOjpGcmVpZ2h0T2ZmZXJzOkZyZWlnaHRVc2QnIHwgYWJwTG9jYWxpemF0aW9uIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1lbmRcIiBzdHlsZT1cIm1pbi13aWR0aDo5MHB4XCI+e3sgJ0tlb3BzOjpGcmVpZ2h0T2ZmZXJzOlBvcnRMb2NhbFVzZCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LWVuZFwiIHN0eWxlPVwibWluLXdpZHRoOjg1cHhcIj57eyAnS2VvcHM6OkZyZWlnaHRPZmZlcnM6SW5sYW5kVHJ5JyB8IGFicExvY2FsaXphdGlvbiB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtZW5kXCIgc3R5bGU9XCJtaW4td2lkdGg6ODVweFwiPnt7ICdLZW9wczo6RnJlaWdodE9mZmVyczpUb3RhbFVzZCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgbGluZSBvZiBjZWxsLmRhdGEubGluZXNcIj5cclxuICAgICAgICAgICAgICAgICAgPHRkPnt7IGdldENvbnRhaW5lck5hbWUobGluZS5jb250YWluZXJUeXBlQ29kZSkgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWVuZFwiPnt7IGxpbmUuZnJlaWdodFVzZCB8IG51bWJlcjonMS4yLTInIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1lbmRcIj57eyBsaW5lLnBvcnRMb2NhbFVzZCB8IG51bWJlcjonMS4yLTInIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1lbmRcIj57eyBsaW5lLmlubGFuZFRyeSB8IG51bWJlcjonMS4wLTAnIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1lbmQgZnctc2VtaWJvbGRcIj57eyBjYWxjTGluZVRvdGFsVXNkKGxpbmUpIHwgbnVtYmVyOicxLjItMicgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9keC1kYXRhLWdyaWQ+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYWJwLXBhZ2U+XHJcblxyXG48bGliLWZyZWlnaHQtb2ZmZXItZm9ybVxyXG4gICpuZ0lmPVwiZm9ybVZpc2libGVcIlxyXG4gIFsodmlzaWJsZSldPVwiZm9ybVZpc2libGVcIlxyXG4gIFttb2RlXT1cImZvcm1Nb2RlXCJcclxuICBbY3VycmVudF09XCJzZWxlY3RlZFwiXHJcbiAgW2NvdW50cmllc109XCJjb3VudHJpZXNcIlxyXG4gIFt1c2RSYXRlXT1cInVzZFJhdGVcIlxyXG4gIChzYXZlZCk9XCJvblNhdmVkKClcIlxyXG4+PC9saWItZnJlaWdodC1vZmZlci1mb3JtPlxyXG5cclxuIl19
@@ -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 { FreightOffersComponent } from './components/freight-offers.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ const routes = [
8
+ {
9
+ path: '',
10
+ component: FreightOffersComponent,
11
+ canActivate: [AuthGuard, PermissionGuard],
12
+ data: {
13
+ requiredPolicy: 'KeopsFreight.FreightOffers',
14
+ },
15
+ },
16
+ ];
17
+ export class HitFreightOffersRoutingModule {
18
+ }
19
+ HitFreightOffersRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFreightOffersRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ HitFreightOffersRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitFreightOffersRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
21
+ HitFreightOffersRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFreightOffersRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFreightOffersRoutingModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ imports: [RouterModule.forChild(routes)],
26
+ exports: [RouterModule],
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWZyZWlnaHQtb2ZmZXJzLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9mcmVpZ2h0LW9mZmVycy9oaXQtZnJlaWdodC1vZmZlcnMtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQUUvRSxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLHNCQUFzQjtRQUNqQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQ3pDLElBQUksRUFBRTtZQUNKLGNBQWMsRUFBRSw0QkFBNEI7U0FDN0M7S0FDRjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sNkJBQTZCOzswSEFBN0IsNkJBQTZCOzJIQUE3Qiw2QkFBNkIsd0NBRjlCLFlBQVk7MkhBRVgsNkJBQTZCLFlBSDlCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7MkZBRVgsNkJBQTZCO2tCQUp6QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgRnJlaWdodE9mZmVyc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mcmVpZ2h0LW9mZmVycy5jb21wb25lbnQnO1xyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXHJcbiAge1xyXG4gICAgcGF0aDogJycsXHJcbiAgICBjb21wb25lbnQ6IEZyZWlnaHRPZmZlcnNDb21wb25lbnQsXHJcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkXSxcclxuICAgIGRhdGE6IHtcclxuICAgICAgcmVxdWlyZWRQb2xpY3k6ICdLZW9wc0ZyZWlnaHQuRnJlaWdodE9mZmVycycsXHJcbiAgICB9LFxyXG4gIH0sXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXHJcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaXRGcmVpZ2h0T2ZmZXJzUm91dGluZ01vZHVsZSB7fVxyXG4iXX0=
@@ -0,0 +1,62 @@
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 { DxDataGridModule, DxDateBoxModule } from 'devextreme-angular';
10
+ import { FreightOffersComponent } from './components/freight-offers.component';
11
+ import { FreightOfferFormComponent } from './components/freight-offer-form.component';
12
+ import { FreightOfferCopyComponent } from './components/freight-offer-copy.component';
13
+ import { HitFreightOffersRoutingModule } from './hit-freight-offers-routing.module';
14
+ import * as i0 from "@angular/core";
15
+ export class HitFreightOffersModule {
16
+ }
17
+ HitFreightOffersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFreightOffersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ HitFreightOffersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitFreightOffersModule, declarations: [FreightOffersComponent, FreightOfferFormComponent, FreightOfferCopyComponent], imports: [CommonModule,
19
+ FormsModule,
20
+ ReactiveFormsModule,
21
+ CoreModule,
22
+ ThemeSharedModule,
23
+ PageModule,
24
+ CommercialUiModule,
25
+ NgbDropdownModule,
26
+ HitFreightOffersRoutingModule,
27
+ DxDataGridModule,
28
+ DxDateBoxModule] });
29
+ HitFreightOffersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFreightOffersModule, imports: [CommonModule,
30
+ FormsModule,
31
+ ReactiveFormsModule,
32
+ CoreModule,
33
+ ThemeSharedModule,
34
+ PageModule,
35
+ CommercialUiModule,
36
+ NgbDropdownModule,
37
+ HitFreightOffersRoutingModule,
38
+ DxDataGridModule,
39
+ DxDateBoxModule] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFreightOffersModule, decorators: [{
41
+ type: NgModule,
42
+ args: [{
43
+ declarations: [FreightOffersComponent, FreightOfferFormComponent, FreightOfferCopyComponent],
44
+ imports: [
45
+ CommonModule,
46
+ FormsModule,
47
+ ReactiveFormsModule,
48
+ CoreModule,
49
+ ThemeSharedModule,
50
+ PageModule,
51
+ CommercialUiModule,
52
+ NgbDropdownModule,
53
+ HitFreightOffersRoutingModule,
54
+ DxDataGridModule,
55
+ DxDateBoxModule,
56
+ ],
57
+ }]
58
+ }] });
59
+ export function loadHitFreightOffersModuleAsChild() {
60
+ return Promise.resolve(HitFreightOffersModule);
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWZyZWlnaHQtb2ZmZXJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvZnJlaWdodC1vZmZlcnMvaGl0LWZyZWlnaHQtb2ZmZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQWtCcEYsTUFBTSxPQUFPLHNCQUFzQjs7bUhBQXRCLHNCQUFzQjtvSEFBdEIsc0JBQXNCLGlCQWZsQixzQkFBc0IsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsYUFFekYsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixVQUFVO1FBQ1Ysa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQiw2QkFBNkI7UUFDN0IsZ0JBQWdCO1FBQ2hCLGVBQWU7b0hBR04sc0JBQXNCLFlBYi9CLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsNkJBQTZCO1FBQzdCLGdCQUFnQjtRQUNoQixlQUFlOzJGQUdOLHNCQUFzQjtrQkFoQmxDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUseUJBQXlCLEVBQUUseUJBQXlCLENBQUM7b0JBQzVGLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsVUFBVTt3QkFDVixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsNkJBQTZCO3dCQUM3QixnQkFBZ0I7d0JBQ2hCLGVBQWU7cUJBQ2hCO2lCQUNGOztBQUdELE1BQU0sVUFBVSxpQ0FBaUM7SUFDL0MsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IFBhZ2VNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvbXBvbmVudHMvcGFnZSc7XHJcbmltcG9ydCB7IENvbW1lcmNpYWxVaU1vZHVsZSB9IGZyb20gJ0B2b2xvL2FicC5jb21tZXJjaWFsLm5nLnVpJztcclxuaW1wb3J0IHsgTmdiRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IER4RGF0YUdyaWRNb2R1bGUsIER4RGF0ZUJveE1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhcic7XHJcbmltcG9ydCB7IEZyZWlnaHRPZmZlcnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZnJlaWdodC1vZmZlcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlaWdodE9mZmVyRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mcmVpZ2h0LW9mZmVyLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlaWdodE9mZmVyQ29weUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mcmVpZ2h0LW9mZmVyLWNvcHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGl0RnJlaWdodE9mZmVyc1JvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2hpdC1mcmVpZ2h0LW9mZmVycy1yb3V0aW5nLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0ZyZWlnaHRPZmZlcnNDb21wb25lbnQsIEZyZWlnaHRPZmZlckZvcm1Db21wb25lbnQsIEZyZWlnaHRPZmZlckNvcHlDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcclxuICAgIFBhZ2VNb2R1bGUsXHJcbiAgICBDb21tZXJjaWFsVWlNb2R1bGUsXHJcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuICAgIEhpdEZyZWlnaHRPZmZlcnNSb3V0aW5nTW9kdWxlLFxyXG4gICAgRHhEYXRhR3JpZE1vZHVsZSxcclxuICAgIER4RGF0ZUJveE1vZHVsZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0RnJlaWdodE9mZmVyc01vZHVsZSB7fVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRIaXRGcmVpZ2h0T2ZmZXJzTW9kdWxlQXNDaGlsZCgpIHtcclxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKEhpdEZyZWlnaHRPZmZlcnNNb2R1bGUpO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,81 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { finalize } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "@hitsoft/kadooglu-keops/proxy";
7
+ import * as i3 from "@abp/ng.core";
8
+ import * as i4 from "@abp/ng.theme.shared";
9
+ export class IncotermFormComponent {
10
+ constructor(fb, service) {
11
+ this.fb = fb;
12
+ this.service = service;
13
+ this.visible = false;
14
+ this.mode = 'create';
15
+ this.current = null;
16
+ this.visibleChange = new EventEmitter();
17
+ this.saved = new EventEmitter();
18
+ this.saving = false;
19
+ }
20
+ ngOnInit() {
21
+ this.buildForm();
22
+ }
23
+ ngOnChanges(changes) {
24
+ if (changes['current'] || changes['mode']) {
25
+ this.buildForm();
26
+ }
27
+ }
28
+ buildForm() {
29
+ this.form = this.fb.group({
30
+ name: [this.current?.name ?? '', [Validators.required, Validators.maxLength(20)]],
31
+ requiresFreight: [this.current?.requiresFreight ?? false],
32
+ includesInsurance: [this.current?.includesInsurance ?? false],
33
+ includesPackaging: [this.current?.includesPackaging ?? false],
34
+ isActive: [this.current?.isActive ?? true],
35
+ });
36
+ }
37
+ get title() {
38
+ return this.mode === 'create' ? 'Keops::Incoterms:CreateTitle' : 'Keops::Incoterms:EditTitle';
39
+ }
40
+ onVisibleChange(value) {
41
+ this.visible = value;
42
+ this.visibleChange.emit(value);
43
+ }
44
+ save() {
45
+ if (this.saving)
46
+ return;
47
+ if (this.form.invalid) {
48
+ this.form.markAllAsTouched();
49
+ return;
50
+ }
51
+ const value = this.form.getRawValue();
52
+ this.saving = true;
53
+ const request$ = this.mode === 'create'
54
+ ? this.service.create(value)
55
+ : this.service.update(this.current.code, value);
56
+ request$.pipe(finalize(() => (this.saving = false))).subscribe({
57
+ next: () => {
58
+ this.saved.emit();
59
+ this.visible = false;
60
+ this.visibleChange.emit(false);
61
+ },
62
+ });
63
+ }
64
+ }
65
+ IncotermFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: IncotermFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.IncotermService }], target: i0.ɵɵFactoryTarget.Component });
66
+ IncotermFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: IncotermFormComponent, selector: "lib-incoterm-form", inputs: { visible: "visible", mode: "mode", current: "current" }, outputs: { visibleChange: "visibleChange", saved: "saved" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [(visible)]=\"visible\" (visibleChange)=\"onVisibleChange($event)\" [busy]=\"saving\" [options]=\"{ size: 'md' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">{{ 'Keops::Incoterms:Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <input id=\"name\" type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n <div class=\"mb-3 form-check\">\r\n <input id=\"requiresFreight\" type=\"checkbox\" class=\"form-check-input\" formControlName=\"requiresFreight\" />\r\n <label for=\"requiresFreight\" class=\"form-check-label\">{{ 'Keops::Incoterms:RequiresFreight' | abpLocalization }}</label>\r\n </div>\r\n <div class=\"mb-3 form-check\">\r\n <input id=\"includesInsurance\" type=\"checkbox\" class=\"form-check-input\" formControlName=\"includesInsurance\" />\r\n <label for=\"includesInsurance\" class=\"form-check-label\">{{ 'Keops::Incoterms:IncludesInsurance' | abpLocalization }}</label>\r\n </div>\r\n <div class=\"mb-3 form-check\">\r\n <input id=\"includesPackaging\" type=\"checkbox\" class=\"form-check-input\" formControlName=\"includesPackaging\" />\r\n <label for=\"includesPackaging\" class=\"form-check-label\">{{ 'Keops::Incoterms:IncludesPackaging' | abpLocalization }}</label>\r\n </div>\r\n <div class=\"mb-3 form-check\">\r\n <input id=\"isActive\" type=\"checkbox\" class=\"form-check-input\" formControlName=\"isActive\" />\r\n <label for=\"isActive\" class=\"form-check-label\">{{ 'Keops::Incoterms:IsActive' | abpLocalization }}</label>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">{{ 'AbpUi::Cancel' | abpLocalization }}</button>\r\n <abp-button iconClass=\"fa fa-check\" buttonClass=\"btn btn-primary\" [loading]=\"saving\" [disabled]=\"saving || form?.invalid\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i4.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i4.ModalCloseDirective, selector: "[abpClose]" }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: IncotermFormComponent, decorators: [{
68
+ type: Component,
69
+ args: [{ selector: 'lib-incoterm-form', template: "<abp-modal [(visible)]=\"visible\" (visibleChange)=\"onVisibleChange($event)\" [busy]=\"saving\" [options]=\"{ size: 'md' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">{{ 'Keops::Incoterms:Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <input id=\"name\" type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n <div class=\"mb-3 form-check\">\r\n <input id=\"requiresFreight\" type=\"checkbox\" class=\"form-check-input\" formControlName=\"requiresFreight\" />\r\n <label for=\"requiresFreight\" class=\"form-check-label\">{{ 'Keops::Incoterms:RequiresFreight' | abpLocalization }}</label>\r\n </div>\r\n <div class=\"mb-3 form-check\">\r\n <input id=\"includesInsurance\" type=\"checkbox\" class=\"form-check-input\" formControlName=\"includesInsurance\" />\r\n <label for=\"includesInsurance\" class=\"form-check-label\">{{ 'Keops::Incoterms:IncludesInsurance' | abpLocalization }}</label>\r\n </div>\r\n <div class=\"mb-3 form-check\">\r\n <input id=\"includesPackaging\" type=\"checkbox\" class=\"form-check-input\" formControlName=\"includesPackaging\" />\r\n <label for=\"includesPackaging\" class=\"form-check-label\">{{ 'Keops::Incoterms:IncludesPackaging' | abpLocalization }}</label>\r\n </div>\r\n <div class=\"mb-3 form-check\">\r\n <input id=\"isActive\" type=\"checkbox\" class=\"form-check-input\" formControlName=\"isActive\" />\r\n <label for=\"isActive\" class=\"form-check-label\">{{ 'Keops::Incoterms:IsActive' | abpLocalization }}</label>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">{{ 'AbpUi::Cancel' | abpLocalization }}</button>\r\n <abp-button iconClass=\"fa fa-check\" buttonClass=\"btn btn-primary\" [loading]=\"saving\" [disabled]=\"saving || form?.invalid\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
70
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.IncotermService }]; }, propDecorators: { visible: [{
71
+ type: Input
72
+ }], mode: [{
73
+ type: Input
74
+ }], current: [{
75
+ type: Input
76
+ }], visibleChange: [{
77
+ type: Output
78
+ }], saved: [{
79
+ type: Output
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb3Rlcm0tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2luY290ZXJtcy9jb21wb25lbnRzL2luY290ZXJtLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9pbmNvdGVybXMvY29tcG9uZW50cy9pbmNvdGVybS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBTzFDLE1BQU0sT0FBTyxxQkFBcUI7SUFXaEMsWUFDbUIsRUFBZSxFQUNmLE9BQXdCO1FBRHhCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQVpsQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFNBQUksR0FBc0IsUUFBUSxDQUFDO1FBQ25DLFlBQU8sR0FBdUIsSUFBSSxDQUFDO1FBRWxDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUczQyxXQUFNLEdBQUcsS0FBSyxDQUFDO0lBS1osQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2pGLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxJQUFJLEtBQUssQ0FBQztZQUN6RCxpQkFBaUIsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLElBQUksS0FBSyxDQUFDO1lBQzdELGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxLQUFLLENBQUM7WUFDN0QsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUM7SUFDaEcsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFjO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDN0IsT0FBTztTQUNSO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUVuQixNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQVEsQ0FBQyxJQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFdEQsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0QsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O2tIQW5FVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiw2TUNUbEMsc3dFQXFDQTsyRkQ1QmEscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG1CQUFtQjtnSUFJcEIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEluY290ZXJtU2VydmljZSwgSW5jb3Rlcm1EdG8gfSBmcm9tICdAaGl0c29mdC9rYWRvb2dsdS1rZW9wcy9wcm94eSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1pbmNvdGVybS1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5jb3Rlcm0tZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmNvdGVybUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgdmlzaWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1vZGU6ICdjcmVhdGUnIHwgJ2VkaXQnID0gJ2NyZWF0ZSc7XHJcbiAgQElucHV0KCkgY3VycmVudDogSW5jb3Rlcm1EdG8gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBmb3JtITogRm9ybUdyb3VwO1xyXG4gIHNhdmluZyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBJbmNvdGVybVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snY3VycmVudCddIHx8IGNoYW5nZXNbJ21vZGUnXSkge1xyXG4gICAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgbmFtZTogW3RoaXMuY3VycmVudD8ubmFtZSA/PyAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKV1dLFxyXG4gICAgICByZXF1aXJlc0ZyZWlnaHQ6IFt0aGlzLmN1cnJlbnQ/LnJlcXVpcmVzRnJlaWdodCA/PyBmYWxzZV0sXHJcbiAgICAgIGluY2x1ZGVzSW5zdXJhbmNlOiBbdGhpcy5jdXJyZW50Py5pbmNsdWRlc0luc3VyYW5jZSA/PyBmYWxzZV0sXHJcbiAgICAgIGluY2x1ZGVzUGFja2FnaW5nOiBbdGhpcy5jdXJyZW50Py5pbmNsdWRlc1BhY2thZ2luZyA/PyBmYWxzZV0sXHJcbiAgICAgIGlzQWN0aXZlOiBbdGhpcy5jdXJyZW50Py5pc0FjdGl2ZSA/PyB0cnVlXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnY3JlYXRlJyA/ICdLZW9wczo6SW5jb3Rlcm1zOkNyZWF0ZVRpdGxlJyA6ICdLZW9wczo6SW5jb3Rlcm1zOkVkaXRUaXRsZSc7XHJcbiAgfVxyXG5cclxuICBvblZpc2libGVDaGFuZ2UodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMudmlzaWJsZSA9IHZhbHVlO1xyXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNhdmluZykgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgdGhpcy5zYXZpbmcgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3QkID1cclxuICAgICAgdGhpcy5tb2RlID09PSAnY3JlYXRlJ1xyXG4gICAgICAgID8gdGhpcy5zZXJ2aWNlLmNyZWF0ZSh2YWx1ZSlcclxuICAgICAgICA6IHRoaXMuc2VydmljZS51cGRhdGUodGhpcy5jdXJyZW50IS5jb2RlISwgdmFsdWUpO1xyXG5cclxuICAgIHJlcXVlc3QkLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuc2F2aW5nID0gZmFsc2UpKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2F2ZWQuZW1pdCgpO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8YWJwLW1vZGFsIFsodmlzaWJsZSldPVwidmlzaWJsZVwiICh2aXNpYmxlQ2hhbmdlKT1cIm9uVmlzaWJsZUNoYW5nZSgkZXZlbnQpXCIgW2J1c3ldPVwic2F2aW5nXCIgW29wdGlvbnNdPVwieyBzaXplOiAnbWQnIH1cIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoMz57eyB0aXRsZSB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInNhdmUoKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJuYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgJ0tlb3BzOjpJbmNvdGVybXM6Q29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX0gPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgaWQ9XCJuYW1lXCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1jaGVja1wiPlxyXG4gICAgICAgIDxpbnB1dCBpZD1cInJlcXVpcmVzRnJlaWdodFwiIHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIGZvcm1Db250cm9sTmFtZT1cInJlcXVpcmVzRnJlaWdodFwiIC8+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cInJlcXVpcmVzRnJlaWdodFwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPnt7ICdLZW9wczo6SW5jb3Rlcm1zOlJlcXVpcmVzRnJlaWdodCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L2xhYmVsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1jaGVja1wiPlxyXG4gICAgICAgIDxpbnB1dCBpZD1cImluY2x1ZGVzSW5zdXJhbmNlXCIgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgZm9ybUNvbnRyb2xOYW1lPVwiaW5jbHVkZXNJbnN1cmFuY2VcIiAvPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJpbmNsdWRlc0luc3VyYW5jZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPnt7ICdLZW9wczo6SW5jb3Rlcm1zOkluY2x1ZGVzSW5zdXJhbmNlJyB8IGFicExvY2FsaXphdGlvbiB9fTwvbGFiZWw+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWItMyBmb3JtLWNoZWNrXCI+XHJcbiAgICAgICAgPGlucHV0IGlkPVwiaW5jbHVkZXNQYWNrYWdpbmdcIiB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiBmb3JtQ29udHJvbE5hbWU9XCJpbmNsdWRlc1BhY2thZ2luZ1wiIC8+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImluY2x1ZGVzUGFja2FnaW5nXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+e3sgJ0tlb3BzOjpJbmNvdGVybXM6SW5jbHVkZXNQYWNrYWdpbmcnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9sYWJlbD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGZvcm0tY2hlY2tcIj5cclxuICAgICAgICA8aW5wdXQgaWQ9XCJpc0FjdGl2ZVwiIHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIGZvcm1Db250cm9sTmFtZT1cImlzQWN0aXZlXCIgLz5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiaXNBY3RpdmVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj57eyAnS2VvcHM6OkluY290ZXJtczpJc0FjdGl2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX08L2xhYmVsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gYWJwQ2xvc2UgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIj57eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L2J1dHRvbj5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgYnV0dG9uQ2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBbbG9hZGluZ109XCJzYXZpbmdcIiBbZGlzYWJsZWRdPVwic2F2aW5nIHx8IGZvcm0/LmludmFsaWRcIiAoY2xpY2spPVwic2F2ZSgpXCI+XHJcbiAgICAgIHt7ICdBYnBVaTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYWJwLWJ1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuIl19